你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
创建数据库
该 Create Database
操作在数据库帐户中创建新数据库。
注意
这些 API 参考文章演示如何使用 Azure Cosmos DB 数据平面 API 创建资源。 使用数据平面 API,可以配置基本选项,例如索引策略、分区键,就像使用 Cosmos DB SDK 一样。 如果需要对所有 Azure Cosmos DB 资源的完整功能支持,建议使用 Cosmos DB 资源提供程序。
请求
方法 | 请求 URI | 说明 |
---|---|---|
POST | https://{databaseaccount}.documents.azure.com/dbs |
{databaseaccount} 是在订阅下创建的 Azure Cosmos DB 帐户的名称。 |
标头
有关所有 Azure Cosmos DB 请求 使用的标头,请参阅常见的 Azure Cosmos DB REST 请求标头。
属性 | 必选 | 类型 | 说明 |
---|---|---|---|
x-ms-offer-throughput | 可选 | Number | 用户为数据库指定手动吞吐量 (RU/s) ,以每秒 100 个请求单位为单位表示。 通过请求) 限制增加,最小值为 400 到 1,000,000 (或更高。 只能指定 或 x-ms-cosmos-offer-autopilot-settings 中的x-ms-offer-throughput 一个。 不能一起指定这些标头。 |
x-ms-cosmos-offer-autopilot-settings | 可选 | JSON | 用户指定了数据库的自动缩放最大 RU/秒。 该值是具有 属性 maxThroughput 的 JSON。 例如:{"maxThroughput": 4000} 。只能指定 或 x-ms-cosmos-offer-autopilot-settings 中的x-ms-offer-throughput 一个。 不能一起指定这些标头。 |
注意
如果对数据库设置吞吐量,则会创建一个 共享吞吐量数据库 ,其中所有集合共享预配的吞吐量。 共享吞吐量数据库中的容器数限制为 25 个。 如果不打算使用共享吞吐量数据库,请在不设置上述吞吐量标头的情况下创建数据库。 了解详细信息。
正文
属性 | 必选 | 类型 | 说明 |
---|---|---|---|
id | 必需 | 字符串 | 用户为数据库生成的唯一名称。 它是一个不能超过 255 个字符的字符串。 |
{
"id": "volcanodb2"
}
响应
标头
有关所有 Azure Cosmos DB 响应 返回的标头,请参阅常见的 Azure Cosmos DB REST 响应标头。
状态代码
下表列出了此操作返回的常见状态代码。 有关状态代码的完整列表,请参阅 HTTP 状态代码。
HTTP 状态代码 | 说明 |
---|---|
201 Created | 当操作成功时返回此状态代码。 |
400 错误的请求 | 当 JSON 正文无效时返回。 检查是否缺少大括号或引号。 |
409 冲突 | 当为新数据库提供的 ID 已被现有数据库采用时返回。 |
正文
属性 | 说明 |
---|---|
id | 用户为数据库生成的唯一名称。 |
_摆脱 | 它是 系统生成的属性。 资源 ID (_rid) 是一个唯一标识符,也是按资源模型上的资源堆栈分层的标识符。 它可供内部用于放置和导航数据库资源。 |
_ts | 它是系统生成的属性。 它指定资源的上次更新时间戳。 高值是一个时间戳。 |
_自我 | 它是系统生成的属性。 它是资源的唯一可寻址 URI。 |
_Etag | 它是一个系统生成的属性,指定乐观并发控制所需的资源 etag 。 |
_colls | 它是一个系统生成的属性,用于指定集合资源的可寻址路径。 |
_用户 | 它是一个系统生成的属性,用于指定用户资源的可寻址路径。 |
{
"id": "volcanodb2",
"_rid": "CqNBAA==",
"_ts": 1449602962,
"_self": "dbs\/CqNBAA==\/",
"_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
"_colls": "colls\/",
"_users": "users\/"
}
示例 1
以下示例创建一个数据库。
POST https://contosomarketing.documents.azure.com/dbs HTTP/1.1
x-ms.date: 04/20/2021
authorization: type%3dmaster%26ver%3d1.0%26sig%3dsc0%2fu25RB8wSqbY1%2bUZqTGD0yCQC5KkGOAP%2bgnHFceQ%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
Host: contosomarketing.documents.azure.com
Content-Length: 19
Expect: 100-continue
{"id":"volcanodb2"}
HTTP/1.1 201 Created
Cache-Control: no-store, no-cache
Pragma: no-cache
Content-Type: application/json
Server: Microsoft-HTTPAPI/2.0
Strict-Transport-Security: max-age=31536000
x-ms-last-state-change-utc: Sun, 29 Nov 2015 02:25:35.212 GMT
etag: "00000a00-0000-0000-0000-56672f920000"
x-ms-resource-quota: databases=100;
x-ms-resource-usage: databases=15;
x-ms-schemaversion: 1.1
x-ms-quorum-acked-lsn: 859
x-ms-session-token: 860
x-ms-current-write-quorum: 3
x-ms-current-replica-set-size: 4
x-ms-request-charge: 4.95
x-ms-serviceversion: version=1.5.57.3
x-ms-activity-id: f171e571-994e-4dc2-b443-7c3d5fa4a293
x-ms-gatewayversion: version=1.5.57.3
Date: Tue, 08 Dec 2015 19:29:21 GMT
Content-Length: 169
{
"id": "volcanodb2",
"_rid": "CqNBAA==",
"_ts": 1449602962,
"_self": "dbs\/CqNBAA==\/",
"_etag": "\"00000a00-0000-0000-0000-56672f920000\"",
"_colls": "colls\/",
"_users": "users\/"
}
示例 2
以下示例创建一个手动吞吐量为 400 RU/秒的 共享吞吐量数据库 。
x-ms-offer-throughput
标头用于设置吞吐量 (RU/秒) 值。 它接受至少 400 的数字,该数字以 100 的单位递增。
POST https://contosomarketing.documents.azure.com/dbs HTTP/1.1
x-ms-date: Tue, 08 Dec 2015 19:29:22 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dsc0%2fu25RB8wSqbY1%2bUZqTGD0yCQC5KkGOAP%2bgnHFceQ%3d
Cache-Control: no-cache
User-Agent: contoso/1.0
x-ms-version: 2015-08-06
Accept: application/json
x-ms-offer-throughput = 400
Host: contosomarketing.documents.azure.com
Content-Length: 19
Expect: 100-continue
{"id":"volcanodb2"}
示例 3
以下示例创建一个最大吞吐量为 4000 RU/秒的共享吞吐量数据库, () 缩放范围为 400 - 4000 RU/秒。
x-ms-cosmos-offer-autopilot-settings
标头用于设置 maxThroughput
,这是自动缩放的最大 RU/秒值。 它接受至少 4000 的数字,该数字递增单位为 1000。
注意
若要在现有数据库或容器上启用自动缩放,或者从自动缩放切换到手动吞吐量,请参阅 替换套餐一文。
POST https://contosomarketing.documents.azure.com:443/dbs HTTP/1.1
x-ms-version: 2018-12-31
x-ms-date: Wed, 22 Jul 2020 20:09:50 GMT
authorization: type%3dmaster%26ver%3d1.0%26sig%3dsc0%2fu25RB8wSqbY1%2bUZqTGD0yCQC5KkGOAP%2bgnHFceQ%3d
Accept: application/json
x-ms-cosmos-offer-autopilot-settings: {"maxThroughput": 4000}
Content-Type: application/json
User-Agent: contoso/1.0
Postman-Token: 81c0a4ac-4b7c-4f98-8d46-8c662969bc7e
Host: contosomarketing.documents.azure.com:443
Accept-Encoding: gzip, deflate, br
Connection: keep-alive
Content-Length: 27
{"id":"volcanodb3"}