Package com.azure.cosmos
Class CosmosClient
java.lang.Object
com.azure.cosmos.CosmosClient
- All Implemented Interfaces:
Closeable
,AutoCloseable
Provides a client-side logical representation of the Azure Cosmos DB service.
Calls to CosmosClient API's are blocked for completion.
CosmosClient is thread-safe. It's recommended to maintain a single instance of CosmosClient per lifetime of the application which enables efficient connection management and performance. CosmosClient initialization is a heavy operation - don't use initialization CosmosClient instances as credentials or network connectivity validations.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Close thisCosmosClient
instance.createDatabase
(CosmosDatabaseProperties databaseProperties) Creates a Cosmos database.createDatabase
(CosmosDatabaseProperties databaseProperties, CosmosDatabaseRequestOptions options) Creates a database.createDatabase
(CosmosDatabaseProperties databaseProperties, ThroughputProperties throughputProperties) Creates a Cosmos database.createDatabase
(CosmosDatabaseProperties databaseProperties, ThroughputProperties throughputProperties, CosmosDatabaseRequestOptions options) Creates a Cosmos database.createDatabase
(String id) Creates a Cosmos database.createDatabase
(String id, ThroughputProperties throughputProperties) Creates a Cosmos database.Create a Cosmos database if it does not already exist on the service.createDatabaseIfNotExists
(String id, ThroughputProperties throughputProperties) Create a Cosmos database if it does not already exist on the service.createGlobalThroughputControlConfigBuilder
(String databaseId, String containerId) Create global throughput control config builder which will be used to buildGlobalThroughputControlConfig
.getDatabase
(String id) Gets the Cosmos database instance without making a service call.queryDatabases
(SqlQuerySpec querySpec, CosmosQueryRequestOptions options) Query a Cosmos database.queryDatabases
(String query, CosmosQueryRequestOptions options) Query a Cosmos database.Reads all Cosmos databases.
-
Method Details
-
createDatabaseIfNotExists
public CosmosDatabaseResponse createDatabaseIfNotExists(String id, ThroughputProperties throughputProperties) Create a Cosmos database if it does not already exist on the service.ThroughputProperties throughputProperties = ThroughputProperties .createAutoscaledThroughput(autoScaleMaxThroughput); cosmosClient.createDatabaseIfNotExists(databaseName, throughputProperties);
The throughputProperties will only be used if the specified database does not exist and therefor a new database will be created with throughputProperties.- Parameters:
id
- the id of the database.throughputProperties
- the throughputProperties.- Returns:
- the
CosmosDatabaseResponse
with the created database.
-
createDatabaseIfNotExists
Create a Cosmos database if it does not already exist on the service.CosmosDatabaseProperties databaseProperties = new CosmosDatabaseProperties(databaseName); cosmosClient.createDatabaseIfNotExists(databaseProperties);
- Parameters:
id
- the id of the database.- Returns:
- the
CosmosDatabaseResponse
with the created database.
-
createDatabase
public CosmosDatabaseResponse createDatabase(CosmosDatabaseProperties databaseProperties, CosmosDatabaseRequestOptions options) Creates a database.CosmosDatabaseProperties databaseProperties = new CosmosDatabaseProperties(databaseName); cosmosClient.createDatabase(databaseProperties);
- Parameters:
databaseProperties
-CosmosDatabaseProperties
the database properties.options
- the request options.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
createDatabase
Creates a Cosmos database.CosmosDatabaseProperties databaseProperties = new CosmosDatabaseProperties(databaseName); cosmosClient.createDatabase(databaseProperties);
- Parameters:
databaseProperties
-CosmosDatabaseProperties
the database properties.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
createDatabase
Creates a Cosmos database.CosmosDatabaseProperties databaseProperties = new CosmosDatabaseProperties(databaseName); cosmosClient.createDatabase(databaseProperties);
- Parameters:
id
- the id of the database.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
createDatabase
public CosmosDatabaseResponse createDatabase(CosmosDatabaseProperties databaseProperties, ThroughputProperties throughputProperties, CosmosDatabaseRequestOptions options) Creates a Cosmos database.ThroughputProperties throughputProperties = ThroughputProperties .createAutoscaledThroughput(autoScaleMaxThroughput); cosmosClient.createDatabase(databaseName, throughputProperties);
- Parameters:
databaseProperties
-CosmosDatabaseProperties
the database properties.throughputProperties
- the throughput properties.options
-CosmosDatabaseRequestOptions
the request options.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
createDatabase
public CosmosDatabaseResponse createDatabase(CosmosDatabaseProperties databaseProperties, ThroughputProperties throughputProperties) Creates a Cosmos database.ThroughputProperties throughputProperties = ThroughputProperties .createAutoscaledThroughput(autoScaleMaxThroughput); cosmosClient.createDatabase(databaseName, throughputProperties);
- Parameters:
databaseProperties
-CosmosDatabaseProperties
the database properties.throughputProperties
- the throughput properties.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
createDatabase
Creates a Cosmos database.ThroughputProperties throughputProperties = ThroughputProperties .createAutoscaledThroughput(autoScaleMaxThroughput); cosmosClient.createDatabase(databaseName, throughputProperties);
- Parameters:
id
- the id of the database.throughputProperties
- the throughput properties.- Returns:
- the
CosmosDatabaseResponse
with the created database. - Throws:
CosmosException
- if resource with specified id already exists
-
readAllDatabases
Reads all Cosmos databases.CosmosPagedIterable<CosmosDatabaseProperties> cosmosDatabaseProperties = cosmosClient.readAllDatabases(); cosmosDatabaseProperties.forEach(databaseProperties -> { System.out.println(databaseProperties); });
- Returns:
- the
CosmosPagedIterable
for feed response with the read databases.
-
queryDatabases
public CosmosPagedIterable<CosmosDatabaseProperties> queryDatabases(String query, CosmosQueryRequestOptions options) Query a Cosmos database.CosmosQueryRequestOptions options = new CosmosQueryRequestOptions(); CosmosPagedIterable<CosmosDatabaseProperties> databaseProperties = cosmosClient.queryDatabases("select * from d", options); databaseProperties.forEach(properties -> { System.out.println(properties.getId()); });
- Parameters:
query
- the query.options
-CosmosQueryRequestOptions
the feed options.- Returns:
- the
CosmosPagedIterable
for feed response with the obtained databases.
-
queryDatabases
public CosmosPagedIterable<CosmosDatabaseProperties> queryDatabases(SqlQuerySpec querySpec, CosmosQueryRequestOptions options) Query a Cosmos database.CosmosQueryRequestOptions options = new CosmosQueryRequestOptions(); CosmosPagedIterable<CosmosDatabaseProperties> databaseProperties = cosmosClient.queryDatabases("select * from d", options); databaseProperties.forEach(properties -> { System.out.println(properties.getId()); });
- Parameters:
querySpec
-SqlQuerySpec
the query spec.options
- the query request options.- Returns:
- the
CosmosPagedIterable
for feed response with the obtained databases.
-
getDatabase
Gets the Cosmos database instance without making a service call.- Parameters:
id
- the id of the database.- Returns:
CosmosDatabase
the cosmos sync database.
-
close
public void close()Close thisCosmosClient
instance.- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-
createGlobalThroughputControlConfigBuilder
public GlobalThroughputControlConfigBuilder createGlobalThroughputControlConfigBuilder(String databaseId, String containerId) Create global throughput control config builder which will be used to buildGlobalThroughputControlConfig
.- Parameters:
databaseId
- The database id of the control container.containerId
- The container id of the control container.- Returns:
- A
GlobalThroughputControlConfigBuilder
.
-