- 每次在 Cosmos DB (SQL API) 中删除/重新创建数据库时是否会花费任何费用?
- 每次在 Cosmos DB (SQL API) 的数据库中删除/重新创建集合时,是否会花费任何费用?
4 回答
数据库、集合、报价、文档等都继承自同一个对象,即Resource. 资源基本上是一个以 JSON 表示的 CosmosDB 对象。
创建集合或创建数据库本质上是创建一个Resource大小不超过 1kb 的文档,因此您将被收取该数据Create或Read该数据的最低价格。
但请记住,CosmosDB 还会根据预置的 RU 对每个集合按小时收费。例如,如果您创建一个集合甚至一秒钟,您将根据预配的 RU 按此集合存在的小时费率付费。
Cosmos DB 定价完全取决于每个集合的保留 RU,您无需为创建 Cosmos DB 帐户和数据库支付任何费用,但是当您创建集合时,每个集合的最小 RU 限制为 400,因此如果您使用或不使用该集合你需要付钱。
根据官方文档,数据库、用户、权限、集合、文档和附件都是资源。正如本文档中提到的,Cosmos DB 的计费单位是 RU。如果您在 cosmos db 中操作任何资源,您将消耗 RU,从而产生成本。
我通过 java cosmos db sdk 测试了与创建和删除数据库相关的代码。您可以通过操作看到 RU 的消耗。
public static void main(String[] args) throws Exception, DocumentClientException {
DocumentClient documentClient = new DocumentClient(END_POINT,
MASTER_KEY, ConnectionPolicy.GetDefault(),
ConsistencyLevel.Session);
Database database = new Database();
database.setId("hello");
ResourceResponse<Database> response = documentClient.createDatabase(database, null);
System.out.println(response.getRequestCharge());
ResourceResponse<Database> response1 = documentClient.deleteDatabase("dbs/hello", null);
System.out.println(response1.getRequestCharge());
}
关于 cosmos db 中价格的其他详细信息,请参阅此文档。
希望它可以帮助你。
无论您预置了多少 RU/s 吞吐量,创建一个集合都会产生一小时的计费。与缩放相同。IE 如果您从 1000RU/s 扩大到 2000RU/s 然后立即回退,您仍然需要为 2000RU/s 的一小时使用付费。
Azure 定价计算器可让您根据预配的吞吐量以小时为单位细分集合的成本。
