CosmosClient Class
A client-side logical representation of an Azure Cosmos DB account.
Use this client to configure and execute requests to the Azure Cosmos DB service.
- Inheritance
-
builtins.objectCosmosClient
Constructor
CosmosClient(url: str, credential: Any, consistency_level: Optional[str] = None, **kwargs: Any)
Parameters
- credential
- <xref:Union>[str, <xref:Dict>[str, str], TokenCredential]
Can be the account key, or a dictionary of resource tokens.
- consistency_level
- str
Consistency level to use for the session. The default value is None (Account level).
- timeout
- int
An absolute timeout in seconds, for the combined HTTP request and response processing.
- request_timeout
- int
The HTTP request timeout in milliseconds.
- connection_mode
- str
The connection mode for the client - currently only supports 'Gateway'.
- proxy_config
- ProxyConfiguration
Connection proxy configuration.
- ssl_config
- SSLConfiguration
Connection SSL configuration.
- connection_verify
- bool
Whether to verify the connection, default value is True.
- connection_cert
- str
An alternative certificate to verify the connection.
- retry_total
- int
Maximum retry attempts.
- retry_backoff_max
- int
Maximum retry wait time in seconds.
- retry_fixed_interval
- int
Fixed retry interval in milliseconds.
- retry_read
- int
Maximum number of socket read retry attempts.
- retry_connect
- int
Maximum number of connection error retry attempts.
- retry_status
- int
Maximum number of retry attempts on error status codes.
- retry_backoff_factor
- float
Factor to calculate wait time between retry attempts.
- enable_endpoint_discovery
- bool
Enable endpoint discovery for geo-replicated database accounts. (Default: True)
Examples
Create a new instance of the Cosmos DB client:
from azure.cosmos import exceptions, CosmosClient, PartitionKey
import os
url = os.environ["ACCOUNT_URI"]
key = os.environ["ACCOUNT_KEY"]
client = CosmosClient(url, key)
Methods
create_database |
Create a new database with the given ID (name). |
create_database_if_not_exists |
Create the database if it does not exist already. If the database already exists, the existing settings are returned. ..note:: This function does not check or update existing database settings or offer throughput if they differ from what is passed in. |
delete_database |
Delete the database with the given ID (name). |
from_connection_string |
Create a CosmosClient instance from a connection string. This can be retrieved from the Azure portal.For full list of optional keyword arguments, see the CosmosClient constructor. |
get_database_account |
Retrieve the database account information. |
get_database_client |
Retrieve an existing database with the ID (name) id. |
list_databases |
List the databases in a Cosmos DB SQL database account. |
query_databases |
Query the databases in a Cosmos DB SQL database account. |
create_database
Create a new database with the given ID (name).
create_database(id: str, populate_query_metrics: Optional[bool] = None, offer_throughput: Optional[int] = None, **kwargs: Any) -> azure.cosmos.database.DatabaseProxy
Parameters
- id
ID (name) of the database to create.
- session_token
- str
Token for use with Session consistency.
- initial_headers
- dict[<xref:str,str>]
Initial headers to be sent as part of the request.
- etag
- str
An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
- match_condition
- MatchConditions
The match condition to use upon the etag.
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Returns
A DatabaseProxy instance representing the new database.
Return type
Exceptions
Database with the given ID already exists.
Examples
Create a database in the Cosmos DB account:
database_name = "testDatabase"
try:
database = client.create_database(id=database_name)
except exceptions.CosmosResourceExistsError:
database = client.get_database_client(database=database_name)
create_database_if_not_exists
Create the database if it does not exist already.
If the database already exists, the existing settings are returned.
..note:: This function does not check or update existing database settings or offer throughput if they differ from what is passed in.
create_database_if_not_exists(id: str, populate_query_metrics: Optional[bool] = None, offer_throughput: Optional[int] = None, **kwargs: Any) -> azure.cosmos.database.DatabaseProxy
Parameters
- id
ID (name) of the database to read or create.
- session_token
- str
Token for use with Session consistency.
- initial_headers
- dict[<xref:str,str>]
Initial headers to be sent as part of the request.
- etag
- str
An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
- match_condition
- MatchConditions
The match condition to use upon the etag.
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Returns
A DatabaseProxy instance representing the database.
Return type
Exceptions
The database read or creation failed.
delete_database
Delete the database with the given ID (name).
delete_database(database: Union[str, azure.cosmos.database.DatabaseProxy, Dict[str, Any]], populate_query_metrics: Optional[bool] = None, **kwargs: Any) -> None
Parameters
- database
- str or dict(str, str) or DatabaseProxy
The ID (name), dict representing the properties or <xref:azure.cosmos.cosmos_client.DatabaseProxy> instance of the database to delete.
- session_token
- str
Token for use with Session consistency.
- initial_headers
- dict[<xref:str,str>]
Initial headers to be sent as part of the request.
- etag
- str
An ETag value, or the wildcard character (*). Used to check if the resource has changed, and act according to the condition specified by the match_condition parameter.
- match_condition
- MatchConditions
The match condition to use upon the etag.
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Return type
Exceptions
If the database couldn't be deleted.
from_connection_string
Create a CosmosClient instance from a connection string.
This can be retrieved from the Azure portal.For full list of optional keyword arguments, see the CosmosClient constructor.
from_connection_string(conn_str: str, credential: Optional[Any] = None, consistency_level: Optional[str] = None, **kwargs: Any) -> azure.cosmos.cosmos_client.CosmosClient
Parameters
Alternative credentials to use instead of the key provided in the connection string.
- consistency_level
- <xref:Optional>[str]
Consistency level to use for the session. The default value is None (Account level).
Exceptions
Database with the given ID already exists.
get_database_account
Retrieve the database account information.
get_database_account(**kwargs: Any) -> azure.cosmos.documents.DatabaseAccount
Parameters
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Returns
A DatabaseAccount instance representing the Cosmos DB Database Account.
Return type
Exceptions
Database with the given ID already exists.
get_database_client
Retrieve an existing database with the ID (name) id.
get_database_client(database: Union[str, azure.cosmos.database.DatabaseProxy, Dict[str, Any]]) -> azure.cosmos.database.DatabaseProxy
Parameters
- database
- str or dict(str, str) or DatabaseProxy
The ID (name), dict representing the properties or DatabaseProxy instance of the database to read.
Returns
A DatabaseProxy instance representing the retrieved database.
Return type
Exceptions
Database with the given ID already exists.
list_databases
List the databases in a Cosmos DB SQL database account.
list_databases(max_item_count: Optional[int] = None, populate_query_metrics: Optional[bool] = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parameters
- session_token
- str
Token for use with Session consistency.
- initial_headers
- dict[<xref:str,str>]
Initial headers to be sent as part of the request.
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Returns
An Iterable of database properties (dicts).
Return type
Exceptions
Database with the given ID already exists.
query_databases
Query the databases in a Cosmos DB SQL database account.
query_databases(query: Optional[str] = None, parameters: Optional[List[str]] = None, enable_cross_partition_query: Optional[bool] = None, max_item_count: Optional[int] = None, populate_query_metrics: Optional[bool] = None, **kwargs: Any) -> Iterable[Dict[str, Any]]
Parameters
Optional array of parameters to the query. Ignored if no query is provided.
- enable_cross_partition_query
- bool
Allow scan on the queries which couldn't be served as indexing was opted out on the requested paths.
- session_token
- str
Token for use with Session consistency.
- initial_headers
- dict[<xref:str,str>]
Initial headers to be sent as part of the request.
- response_hook
- <xref:Callable>
A callable invoked with the response metadata.
Returns
An Iterable of database properties (dicts).
Return type
Exceptions
Database with the given ID already exists.
Feedback
Submit and view feedback for