Cosmos DB ConnectorZappySys Cosmos DB Connector provide read / write capability inside your app (see list below), using these drag and drop , high performance connector you can perform many Cosmos DB operations without any coding. You can use this connector to integrate Cosmos DB data inside apps like SSIS, SQL Server or popular ETL Platforms / BI Tools/ Reporting Apps / Programming languages (i.e. Informatica, Power BI, SSRS, Excel, C#, JAVA, Python) |
Click on your App below to get started with Cosmos DB Integration
Actions supported by Cosmos DB Connector
Cosmos DB Connector support following actions for REST API integration. If some actions are not listed below then you can easily edit Connector file and enhance out of the box functionality.Parameter | Description |
---|---|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description |
---|---|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description |
---|---|
Table Name (Case-Sensitive) |
|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description |
---|---|
Table Name (Case-Sensitive) |
|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description | ||||||
---|---|---|---|---|---|---|---|
Table Name (Case-Sensitive) |
|
||||||
SQL Query |
|
||||||
Database Name (keep blank to use default) Case-Sensitive |
|
||||||
Allow Query Scan |
|
||||||
Allow Cross Partition Query |
|
||||||
Cross Partition Key Range Id |
|
Parameter | Description |
---|---|
Table Name (Case-Sensitive) |
|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Document Id |
|
||||||||||
Table Name (Case-Sensitive) |
|
||||||||||
Database Name (keep blank to use default) Case-Sensitive |
|
||||||||||
EnableCrossPartition |
|
||||||||||
Partition Key Value (default is supplied Id) |
|
||||||||||
ConsistencyLevel |
|
Parameter | Description | ||||||||
---|---|---|---|---|---|---|---|---|---|
Document Id |
|
||||||||
Table Name (Case-Sensitive) |
|
||||||||
Database Name (keep blank to use default) Case-Sensitive |
|
||||||||
EnableCrossPartition |
|
||||||||
Partition Key Value (default is supplied Id) |
|
Parameter | Description |
---|---|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description |
---|---|
User Name (Case-Sensitive) |
|
Database Name (keep blank to use default) Case-Sensitive |
|
Parameter | Description |
---|---|
Database Name (keep blank to use default) Case-Sensitive |
|
RequestBody |
|
Parameter | Description |
---|---|
Upsert |
|
Parameter | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Permission Name (e.g. read_orders) |
|
||||||||||
Database Name (keep blank to use default) Case-Sensitive |
|
||||||||||
User Name (Case-Sensitive) |
|
||||||||||
PermissionMode |
|
||||||||||
Table (Add Permission for this) |
|
||||||||||
ExpiresInSecond |
|
Parameter | Description |
---|---|
Url |
|
Body |
|
IsMultiPart |
|
Filter |
|
Headers |
|
Cosmos DB Connector Examples (For ODBC PowerPack)
This page offers a collection of SQL 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.
Query using Cosmos DB (Using Default Table) [Read more...]
Lists all containers from the default database specified (Specified for the connection settings). Check this URL for more information on query syntax: https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/query/select
#DirectSQL SELECT * FROM root where root.id !=null order by root._ts desc
Read all documents for a collection in Cosmos DB [Read more...]
Read all documents for a collection in Cosmos DB.
SELECT * FROM TestContainer
Read a document by Id from a collection in Cosmos DB [Read more...]
Read a single document by Id from a collection in Cosmos DB.
SELECT * FROM TestContainer Where Id='user2'
Query Documents from Cosmos DB Table (Container) using SQL [Read more...]
Lists all users Cosmos DB Database
SELECT *
FROM query_documents
WITH(
-- Database='TestDB', --if you dont supply connection level Default Database name is used
Table='TestContainer',
Query='select * from root Where root.id!=null order by root._ts desc',
Meta='id:string(50);name:string(50);city;age'
--Meta='id; name; city; age' -- no types at all. Default is string(2000)
--Meta='id; name:string(50); city; age: int' --Mixed types. If type is missing default string(2000) used
--check below URL for more information on Qyery Language Syntax
--https://learn.microsoft.com/en-us/azure/cosmos-db/nosql/query/select
)
Create a new document with Partition Key supplied [Read more...]
Loads a new document into specified container with partition key. If you created container with Partition Key requirement then must supply it. Partition Key must be valid value from Document Attribute used as Partition Key.
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')
Create a new document from a file path (Upload from local disk file) [Read more...]
Loads a new document into specified container from local file path. File path must start with @ symbol
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"]
'@c:\data\order.json' --path must start with @ symbol
)
WITH(Upsert='true', IsMultiPart=1)
Upsert a document (Insert or Update if exists) [Read more...]
Upsert a document (Update if id exists else create new one).
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')
Upsert a document (Insert or Update if exists) - Use UPSERT Keyword rather than WITH option [Read more...]
Upsert a document (Update if id exists else create new one). This one uses UPSERT KEY word slight simpler syntax becuase you dont need WITH clause like INSERT... WITH(UPSERT='true') example.
UPSERT 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"
}')
Update (replace) a document (By default Full replace) [Read more...]
Update a document for a specified Document Id.
UPDATE TestContainer
SET
PartitionKey='["user2"]'
,Document=
'{
"id" : "user2",
"name": "John Doe at <<FUN_NOW>>",
"email": "jdoe@contoso.com",
"phone": ["<<FUN_TODAY>>"],
"level": "platinum"
}'
Where Id='user2'
Partial Update a document (Patch) [Read more...]
Update one or more attributes in a document using PATCH method for a specified Document Id.
UPDATE TestContainer
SET
PartitionKey='["user2"]'
,Document=
'{
"operations": [
{ "op": "set", "path": "/name", "value": "updated name" }
,{ "op": "set", "path": "/email", "value": "updated@email.com" }
]
}'
Where Id='user2'
WITH(
RequestMethod='PATCH' --Partial Replace (change name and email only)
)
/*
Example Document Operations
https://learn.microsoft.com/en-us/azure/cosmos-db/partial-document-update
https://learn.microsoft.com/en-us/rest/api/cosmos-db/patch-a-document
[
{ "op": "add", "path": "/color", "value": "silver" },
{ "op": "remove", "path": "/used" },
{ "op": "set", "path": "/price", "value": 355.45 }
{ "op": "incr", "path": "/inventory/quantity", "value": 10 },
{ "op": "add", "path": "/tags/-", "value": "featured-bikes" },
{ "op": "move", "from": "/color", "path": "/inventory/color" }
]
*/
Partial Update a document (Patch) from a file path (Upload from local disk file) [Read more...]
Update one or more attributes in a document using PATCH method for a specified Document Id read operations from local disk file.
UPDATE TestContainer
SET
PartitionKey='["user2"]'
,Document='@c:\temp\b.txt' --path must start with @ symbol
Where Id='user2'
WITH(
RequestMethod='PATCH' --Partial Replace (change name and email only)
,IsMultiPart=1 --this enables file upload
)
/*
Example Document Operations
https://learn.microsoft.com/en-us/azure/cosmos-db/partial-document-update
https://learn.microsoft.com/en-us/rest/api/cosmos-db/patch-a-document
[
{ "op": "add", "path": "/color", "value": "silver" },
{ "op": "remove", "path": "/used" },
{ "op": "set", "path": "/price", "value": 355.45 }
{ "op": "incr", "path": "/inventory/quantity", "value": 10 },
{ "op": "add", "path": "/tags/-", "value": "featured-bikes" },
{ "op": "move", "from": "/color", "path": "/inventory/color" }
]
*/
List Databases [Read more...]
Lists all databases for specified Cosmos DB Account
SELECT * FROM SysDatabases
List Tables (i.e. Containers) [Read more...]
Lists all containers from the default database specified (Specified for the connection settings)
SELECT * FROM SysTables
List Tables (i.e. Containers) for a specific database [Read more...]
Lists all containers from the specified Database
SELECT * FROM SysTables WITH (Database='MyCosmos DB')
List Users for the Database [Read more...]
Lists all users Cosmos DB Database
SELECT * FROM SysUsers