Discussions

Expand all | Collapse all

API Access and Teams Functionality for OmniSci Cloud Have Arrived

  • 1.  API Access and Teams Functionality for OmniSci Cloud Have Arrived

    Posted 11-29-2018 15:15

    We are pleased to announce that OmniSci Cloud has two new features:

    API Access - users can build custom applications and automate data ingestion

    Teams - admins can invite other users and assign them a role

    Read about these features in more detail in this blog post by JP Harvey:

    And of course, you can try out OmniSci Cloud for free.

    Next week, @veda and myself will put out a post with more detailed examples of the API in action. Stay tuned!



  • 2.  RE: API Access and Teams Functionality for OmniSci Cloud Have Arrived

    Posted 11-29-2018 16:02

    One of the cool features in this OmniSci cloud release is the ability to wake up an idle instance programmatically. If your instance is asleep, it will wake upon receiving an API call. However, it may take up to 20 seconds to do so, and in the meantime, you will see the following exception:
    Error: OmniSciCloud: OmniSci Core not ready, try again in 20s

    To deal with this delay, you can catch the exception with the following code sample that uses Pymapd library:

    import time
    from pymapd import connect
    
    # Establish connection to MapD Cloud Instance
    def connect_to_mapd(str_user, str_password, str_host, str_dbname):
     try:
       connection = connect(user=str_user, password=str_password, host=str_host, dbname=str_dbname, port=443, protocol='https')
     except Exception as ex:
       template = ""An exception of type {0} occurred. Arguments:\n{1!r}""
       message = template.format(type(ex).__name__, ex.args)
       print(message)
       if 'OmniSci Core not ready, try again' in message:
         print(""Set connection to RETRY!"")
         connection = ""RETRY""
       else:
         print(""Set connection to ERROR!"")
         connection = ""ERROR""    
    
     return connection
    
    # Application code for connecting to OmniSci cloud instance with a maximum of 3 tries
    for i in range(3):
     connection = connect_to_mapd(""API Key Name"", ""API Key Secret"", ""use2-api.mapd.cloud"", ""mapd"")
     if connection == ""RETRY"":
       # recommended time to sleep is 20 seconds before instance wakes up
       time.sleep(20)
       continue
     
     print(connection)
     break


  • 3.  RE: API Access and Teams Functionality for OmniSci Cloud Have Arrived

    Posted 11-30-2018 14:01

    Feels like we should add this to pymapd directly, since OmniSci Cloud isn’t going away