Cosmos DB Connector
Documentation
Version: 2
Documentation

Cosmos DB Example - Upsert a document (Insert or Update if exists)


Upsert a document (Update if id exists else create new one).

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.

Following examples shows how to Upsert a document (Insert or Update if exists) from Cosmos DB using ZappySys API Driver. You can explore additional examples for the Azure DevOps Connector here.

INSERT INTO TestContainer (PartitionKey, Document)
VALUES(
'["user2"]', --partition key value must match its attribute from document else it will throw error. In this example container PartitionKey is /id so we used its value. For multiple key use JSON array ["val1","val2"]
'{
  "id": "user2",
  "name": "John Doe",
  "email": "jdoe@contoso.com",
  "phone": ["12345"],
  "level": "platinum"
}')
 WITH(Upsert='true')

Microsoft SQL Server OPENQUERY Query - Cosmos DB Example

Following examples shows how to Upsert a document (Insert or Update if exists) in Microsoft SQL Server using OPENQUERY Query. This command facilitates the execution of pass-through queries on remote servers. Below example is demonstrating the usage of OPENQUERY.

SELECT * FROM OPENQUERY([MY_LINKED_SERVER_NAME], 
'INSERT INTO TestContainer (PartitionKey, Document)
VALUES(
''["user2"]'', --partition key value must match its attribute from document else it will throw error. In this example container PartitionKey is /id so we used its value. For multiple key use JSON array ["val1","val2"]
''{
  "id": "user2",
  "name": "John Doe",
  "email": "jdoe@contoso.com",
  "phone": ["12345"],
  "level": "platinum"
}'')
 WITH(Upsert=''true'')');

Microsoft SQL Server EXEC Query - Cosmos DB Example (Handling larger SQL text)

The major drawback of OPENQUERY is its inability to incorporate variables within SQL statements, which often leads to the use of cumbersome dynamic SQL (with numerous ticks and escape characters).

Fortunately, there is a solution. Starting with SQL 2005 and onwards, you can utilize the EXEC (your_sql) AT your_linked_server syntax. Following examples shows how to Upsert a document (Insert or Update if exists) in Microsoft SQL Server using EXEC Query.

DECLARE @MyQyery NVARCHAR(MAX) = 'INSERT INTO TestContainer (PartitionKey, Document)
VALUES(
''["user2"]'', --partition key value must match its attribute from document else it will throw error. In this example container PartitionKey is /id so we used its value. For multiple key use JSON array ["val1","val2"]
''{
  "id": "user2",
  "name": "John Doe",
  "email": "jdoe@contoso.com",
  "phone": ["12345"],
  "level": "platinum"
}'')
 WITH(Upsert=''true'')';

EXE (@MyQyery) AT [MY_LINKED_SERVER_NAME];

Getting Started with Examples

ZappySys API Driver is a powerful software solution designed to facilitate the extraction and integration of data from a wide range of sources through APIs. Its intuitive design and extensive feature set make it an essential asset for any organization dealing with complex data integration tasks.

To get started with examples using ZappySys API Driver, please click on the following applications:

SQL Server Connect Cosmos DB in SQL Server
Power BI Connect Cosmos DB in Power BI
SSRS Connect Cosmos DB in SSRS
Informatica Connect Cosmos DB in Informatica
MS Access Connect Cosmos DB in MS Access
MS Excel Connect Cosmos DB in MS Excel
SSAS Connect Cosmos DB in SSAS
C# Connect Cosmos DB in C#
Python Connect Cosmos DB in Python
JAVA Connect Cosmos DB in JAVA
Tableau Connect Cosmos DB in Tableau
SAP Crystal Reports Connect Cosmos DB in SAP Crystal Reports
Azure Data Factory (Pipeline) Connect Cosmos DB in Azure Data Factory (Pipeline)
Talend Studio Connect Cosmos DB in Talend Studio
UiPath Connect Cosmos DB in UiPath
PowerShell Connect Cosmos DB in PowerShell
ODBC Connect Cosmos DB in ODBC

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.