Cosmos DB Connector
Documentation
Version: 2
Documentation

How to read Cosmos DB data in MS SQL/SSRS/Java using ZappySys Data Gateway?


In this section we will learn how to configure and use Cosmos DB Connector in the API Driver to extract data from the Cosmos DB.

Create Data Source in ZappySys Data Gateway based on API Driver

  1. Download and install ZappySys ODBC PowerPack.

  2. Search for gateway in start menu and Open ZappySys Data Gateway:
    Open ZappySys Data Gateway

  3. Go to Users Tab to add our first Gateway user. Click Add; we will give it a name tdsuser and enter password you like to give. Check Admin option and click OK to save. We will use these details later when we create linked server:
    ZappySys Data Gateway - Add User

  4. Now we are ready to add a data source. Click Add, give data source a name (Copy this name somewhere, we will need it later) and then select Native - ZappySys API Driver. Finally, click OK. And it will create the Data Set for it and open the ZS driver UI.

    CosmosDbDSN

    ZappySys Data Gateway - Add Data Source

  5. When the Configuration window appears give your data source a name if you haven't done that already, then select "Cosmos DB" from the list of Popular Connectors. If "Cosmos DB" is not present in the list, then click "Search Online" and download it. Then set the path to the location where you downloaded it. Finally, click Continue >> to proceed with configuring the DSN:

    CosmosDbDSN
    Cosmos DB
    ODBC DSN Template Selection

  6. Now it's time to configure the Connection Manager. Select Authentication Type, e.g. Token Authentication. Then select API Base URL (in most cases, the default one is the right one). More info is available in the Authentication section.

    Steps to get Cosmos DB Credentials : ApiKey [Http]
    Connecting to your Azure Cosmos DB data requires you to authenticate your REST API access. Follow the instructions below:
    1. Go to your Azure portal homepage: https://portal.azure.com/
    2. In the search bar at the top of the homepage, enter Azure Cosmos DB. In the dropdown that appears, select Azure Cosmos DB.
    3. Click on the name of the database account you want to connect to. (Also copy and paste the name of the database account for later use.)
    4. On the next page where you can see all of the database account information, look along the left side and select Keys.
    5. On the Keys page, you will have two tabs: Read-write Keys and Read-only Keys. If you are going to write data to your database, you need to remain on the Read-write Keys tab. If you are only going to read data from your database, you should select the Read-only Keys tab.
    6. On the Keys page, copy the PRIMARY KEY value and paste it somewhere for later use. (The SECONDARY KEY value may also be copied and pasted instead of PRIMARY KEY.)
    7. Back at the connector screen, enter the primary or secondary key you recorded in step 6 into the Primary or Secondary Key field.
    8. Enter the database account you recorded in step 3 into the Database Account field.
    9. Enter or select the default database you want to connect to using the Defualt Database field.
    10. Enter or select the default table (i.e. container/collection) you want to connect to using the Default Table (Container/Collection) field.
    11. Select the Test Connection button at the bottom of the window to verify proper connectivity with your Azure Devops account.
    12. If the connection test succeeds, select OK.

    Fill in all required parameters and set optional parameters if needed:

    CosmosDbDSN
    Cosmos DB
    ApiKey [Http]
    https://[$Account$].documents.azure.com
    Required Parameters
    Primary or Secondary Key Fill in the parameter...
    Account Name (Case-Sensitive) Fill in the parameter...
    Database Name (keep blank to use default) Case-Sensitive Fill in the parameter...
    API Version Fill in the parameter...
    Optional Parameters
    Default Table (needed to invoke #DirectSQL) Fill in the parameter...
    ODBC DSN HTTP Connection Configuration

  7. Once the data source has been configured, you can preview data. Select the Preview tab and use settings similar to the following to preview data:
    ODBC ZappySys Data Source Preview

  8. Click OK to finish creating the data source.

Reading data from client application

  1. Firstly, to get data from ODBC data source based on ZappySys ODBC driver, in your client application, you would need to connect to ODBC source and then from the list select the data source.
  2. Finally, to read the data just read tables/views in your app or enter a SQL statement to extract data, e.g.:

    SELECT * FROM SysDatabases

Cosmos DB Connector Examples

The ZappySys API Driver is a user-friendly interface designed to facilitate the seamless integration of various applications with the Cosmos DB API. With its intuitive design and robust functionality, the ZappySys API Driver simplifies the process of configuring specific API endpoints to efficiently read or write data from Cosmos DB.

Click here to find more Cosmos DB Connector examples designed for seamless integration with the ZappySys API ODBC Driver under ODBC Data Source (36/64) or ZappySys Data Gateway, enhancing your ability to connect and interact with Prebuilt Connectors effectively.

Consume Data inside your App / Programming Language

Once you know how to load data from Cosmos DB Connector, you can click on one of the below links to learn the steps how to consume data inside your App / Programming Language from Cosmos DB Connector.

ODBC inside ETL / Reporting / BI Tools

ODBC inside Programming Languages

Key features of the ZappySys API Driver include:

The API ODBC driver facilitates the reading and writing of data from numerous popular online services (refer to the complete list here) using familiar SQL language without learning complexity of REST API calls. The driver allows querying nested structure and output as a flat table. You can also create your own ODBC / Data Gateway API connector file and use it with this driver.

  1. Intuitive Configuration: The interface is designed to be user-friendly, enabling users to easily set up the specific API endpoints within Cosmos DB without requiring extensive technical expertise or programming knowledge.

  2. Customizable Endpoint Setup: Users can conveniently configure the API endpoint settings, including the HTTP request method, endpoint URL, and any necessary parameters, to precisely target the desired data within Cosmos DB.

  3. Data Manipulation Capabilities: The ZappySys API Driver allows for seamless data retrieval and writing, enabling users to fetch data from Cosmos DB and perform various data manipulation operations as needed, all through an intuitive and straightforward interface.

  4. Secure Authentication Integration: The driver provides secure authentication integration, allowing users to securely connect to the Cosmos DB API by inputting the necessary authentication credentials, such as API tokens or other authentication keys.

  5. Error Handling Support: The interface is equipped with comprehensive error handling support, ensuring that any errors or exceptions encountered during the data retrieval or writing process are efficiently managed and appropriately communicated to users for prompt resolution.

  6. Data Visualization and Reporting: The ZappySys API Driver facilitates the seamless processing and presentation of the retrieved data from Cosmos DB, enabling users to generate comprehensive reports and visualizations for further analysis and decision-making purposes.

Overall, the ZappySys API Driver serves as a powerful tool for streamlining the integration of applications with Cosmos DB, providing users with a convenient and efficient way to access and manage data, all through a user-friendly and intuitive interface.