使用 .NET 在适用于NoSQL 的Azure Cosmos DB中创建数据库
适用范围: NoSQL
Azure Cosmos DB 中的数据库是一个或多个容器的管理单元。 必须先创建数据库,然后才能创建或管理容器。
为数据库命名
在 Azure Cosmos DB 中,数据库类似于命名空间。 创建数据库时,数据库名称会形成用于访问数据库资源和任何子资源的 URI 段。
下面是命名数据库时的一些快速规则:
- 数据库名称不得为空。
- 数据库名称的长度不能超过 256 个字符。
创建后,数据库的 URI 采用以下格式:
https://<cosmos-account-name>.documents.azure.cn/dbs/<database-name>
提示
有关数据库名称限制的详细信息,请参阅服务配额和限制
创建数据库
若要创建数据库,请调用以下方法之一:
异步创建数据库
以下示例异步创建了一个数据库:
// New instance of Database class referencing the server-side database
Database database1 = await client.CreateDatabaseAsync(
id: "adventureworks-1"
);
如果已存在同名的数据库,CosmosClient.CreateDatabaseAsync
方法会引发异常。
异步创建数据库(如果该数据库尚不存在)
以下示例为仅在帐户中尚不存在数据库时才异步创建数据库:
// New instance of Database class referencing the server-side database
Database database2 = await client.CreateDatabaseIfNotExistsAsync(
id: "adventureworks-2"
);
CosmosClient.CreateDatabaseIfNotExistsAsync
方法仅在尚不存在某个数据库时才创建新数据库。 如果多次运行同一代码,此方法可用于避免错误。
分析响应
到目前为止,在所有示例中,异步请求的响应都会立即强制转换为 Database
类型。 你可能想要分析有关响应的元数据,包括标头和 HTTP 状态代码。 CosmosClient.CreateDatabaseAsync 和 CosmosClient.CreateDatabaseIfNotExistsAsync 方法的 true 返回类型为 DatabaseResponse
。
以下示例演示返回 DatabaseResponse 的 CosmosClient.CreateDatabaseIfNotExistsAsync 方法。 返回后,可以分析响应属性,然后最终获取基础数据库对象:
// New instance of Database response class referencing the server-side database
DatabaseResponse response = await client.CreateDatabaseIfNotExistsAsync(
id: "adventureworks-3"
);
// Parse additional response properties
Database database3 = response.Database;
后续步骤
创建数据库后,即可按照下一指南来创建容器。