数据库,集合,优惠,文档等都继承自同一个对象,即Resource
。资源基本上是一个用JSON表示的CosmosDB对象。
创建一个集合或创建一个数据库本质上是创建一个Resource
,这是一个大小不超过1kb的文档,因此您将收取该数据的Create
或Read
的最低价格。
但请记住,CosmosDB还会根据其配置的RU每小时收取一次收费。例如,如果您创建一个集合甚至一秒钟,您将根据配置的RU收取此集合存在的每小时费率。
基于official doc,数据库,用户,权限,集合,文档和附件都是资源。正如本doc中提到的那样,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价格的另一个细节,请看这个doc。
希望它能帮到你。
创建集合将在您配置的任何RU / s吞吐量下产生一小时的计费。与缩放相同。 IE如果你从1000RU / s扩展到2000RU / s然后立即退回,你仍然需要以2000RU / s的速度使用一小时。
Azure Pricing Calculator将允许您根据预配置的吞吐量按小时粒度细分集合的成本。
Cosmos DB定价完全取决于每个集合的预留RU,您无需为创建Cosmos DB帐户和数据库支付任何费用,但是当您创建集合时,每个集合的最小RU限制为400,因此,如果您使用或不使用该集合你需要付钱。