CosmosClient Class
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Provides a client-side logical representation of the Azure Cosmos DB account. This client can be used to configure and execute requests in the Azure Cosmos DB database service.
CosmosClient is thread-safe. Its recommended to maintain a single instance of CosmosClient per lifetime of the application which enables efficient connection management and performance. Please refer to performance guide at https://docs.microsoft.com/azure/cosmos-db/performance-tips.
public class CosmosClient : IDisposable
type CosmosClient = class
interface IDisposable
Public Class CosmosClient
Implements IDisposable
- Inheritance
-
CosmosClient
- Implements
Examples
This example create a CosmosClient, CosmosDatabase, and a CosmosContainer. The CosmosClient is created with the connection string and configured to use "East US 2" region.
using Azure.Cosmos;
CosmosClient cosmosClient = new CosmosClient(
"connection-string-from-portal",
new CosmosClientOptions()
{
ApplicationRegion = Regions.EastUS2,
});
Database db = await client.CreateDatabaseAsync("database-id");
Container container = await db.CreateContainerAsync("container-id");
// Dispose cosmosClient at application exit
This example create a CosmosClient, CosmosDatabase, and a CosmosContainer. The CosmosClient is created with the AccountEndpoint, AccountKey or ResourceToken and configured to use "East US 2" region.
using Azure.Cosmos;
CosmosClient cosmosClient = new CosmosClient(
"account-endpoint-from-portal",
"account-key-from-portal",
new CosmosClientOptions()
{
ApplicationRegion = Regions.EastUS2,
});
Database db = await client.CreateDatabaseAsync("database-id");
Container container = await db.CreateContainerAsync("container-id");
// Dispose cosmosClient at application exit
This example create a CosmosClient, CosmosDatabase, and a CosmosContainer. The CosmosClient is created through builder pattern CosmosClientBuilder.
using Azure.Cosmos;
using Azure.Cosmos.Fluent;
CosmosClient cosmosClient = new CosmosClientBuilder("connection-string-from-portal")
.WithApplicationRegion("East US 2")
.Build();
Database db = await client.CreateDatabaseAsync("database-id")
Container container = await db.CreateContainerAsync("container-id");
// Dispose cosmosClient at application exit
Remarks
https://docs.microsoft.com/azure/cosmos-db/performance-tips https://docs.microsoft.com/azure/cosmos-db/troubleshoot-dot-net-sdk https://docs.microsoft.com/azure/cosmos-db/distribute-data-globally https://docs.microsoft.com/azure/cosmos-db/partitioning-overview https://docs.microsoft.com/azure/cosmos-db/request-units
Constructors
CosmosClient() |
Create a new CosmosClient used for mock testing |
CosmosClient(String, CosmosClientOptions) |
Create a new CosmosClient with the connection string CosmosClient is thread-safe. Its recommended to maintain a single instance of CosmosClient per lifetime of the application which enables efficient connection management and performance. Please refer to performance guide at https://docs.microsoft.com/azure/cosmos-db/performance-tips. |
CosmosClient(String, String, CosmosClientOptions) |
Create a new CosmosClient with the account endpoint URI string and account key CosmosClient is thread-safe. Its recommended to maintain a single instance of CosmosClient per lifetime of the application which enables efficient connection management and performance. Please refer to performance guide at https://docs.microsoft.com/azure/cosmos-db/performance-tips. |
Properties
ClientOptions |
The CosmosClientOptions used initialize CosmosClient |
Endpoint |
Gets the endpoint Uri for the Azure Cosmos DB service. |
Methods
CreateDatabaseAsync(String, Nullable<Int32>, RequestOptions, CancellationToken) |
Send a request for creating a database. A database manages users, permissions and a set of containers. Each Azure Cosmos DB Database Account is able to support multiple independent named databases, with the database being the logical container for data. Each Database consists of one or more containers, each of which in turn contain one or more documents. Since databases are an administrative resource, the Service Master Key will be required in order to access and successfully complete any action using the User APIs. |
CreateDatabaseIfNotExistsAsync(String, Nullable<Int32>, RequestOptions, CancellationToken) |
Check if a database exists, and if it doesn't, create it. Only the database id is used to verify if there is an existing database. Other database properties such as throughput are not validated and can be different then the passed properties. A database manages users, permissions and a set of containers. Each Azure Cosmos DB Database Account is able to support multiple independent named databases, with the database being the logical container for data. Each Database consists of one or more containers, each of which in turn contain one or more documents. Since databases are an administrative resource, the Service Master Key will be required in order to access and successfully complete any action using the User APIs. |
CreateDatabaseStreamAsync(DatabaseProperties, Nullable<Int32>, RequestOptions, CancellationToken) |
Send a request for creating a database. A database manages users, permissions and a set of containers. Each Azure Cosmos DB Database Account is able to support multiple independent named databases, with the database being the logical container for data. Each Database consists of one or more containers, each of which in turn contain one or more documents. Since databases are an administrative resource, the Service Master Key will be required in order to access and successfully complete any action using the User APIs. |
Dispose() |
Dispose of cosmos client |
Dispose(Boolean) |
Dispose of cosmos client |
GetContainer(String, String) |
Returns a proxy reference to a container. |
GetDatabase(String) |
Returns a proxy reference to a database. |
GetDatabaseQueryIterator<T>(QueryDefinition, String, QueryRequestOptions, CancellationToken) |
This method creates a query for databases under an Cosmos DB Account using a SQL statement with parameterized values. It returns a FeedIterator. For more information on preparing SQL statements with parameterized values, please see QueryDefinition. |
GetDatabaseQueryIterator<T>(String, String, QueryRequestOptions, CancellationToken) |
This method creates a query for databases under an Cosmos DB Account using a SQL statement. It returns a FeedIterator. For more information on preparing SQL statements with parameterized values, please see QueryDefinition overload. |
GetDatabaseQueryStreamIterator(QueryDefinition, String, QueryRequestOptions, CancellationToken) |
This method creates a query for databases under an Cosmos DB Account using a SQL statement with parameterized values. It returns a FeedIterator. For more information on preparing SQL statements with parameterized values, please see QueryDefinition. |
GetDatabaseQueryStreamIterator(String, String, QueryRequestOptions, CancellationToken) |
This method creates a query for databases under an Cosmos DB Account using a SQL statement. It returns a FeedIterator. For more information on preparing SQL statements with parameterized values, please see QueryDefinition overload. |
ReadAccountAsync() |
Read Azure Cosmos DB account properties AccountProperties |