如何使用pydocumentdb在Cosmos DB中创建分区集合?

时间:2018-03-16 15:47:17

标签: python azure azure-cosmosdb

pydocumentdb.document_client.DocumentClient对象有一个CreateCollection()方法,定义为here

使用此方法创建集合时,需要指定数据库链接(已知),集合(如果尚未创建,我不知道如何引用它)和选项。

创建集合时我想控制的参数是:

  • 收藏名称
  • 集合类型(固定大小与分区)
  • 分区键
  • RU值
  • 索引策略(或者至少能够在某处创建默认模板并自动将其复制到新创建的模板)

其中一些参数的枚举似乎已定义为here,但我在http_constants.py中看不到任何可能有用的HTTP标头,而且我不知道RU来自哪里在玩耍或有凝聚力的地方#34; Collection" object将作为参数传递。

1 个答案:

答案 0 :(得分:3)

您可以参考here中的source sample codehere中的rest api

import pydocumentdb;
import pydocumentdb.errors as errors
import pydocumentdb.document_client as document_client

config = {
    'ENDPOINT': 'https://***.documents.azure.com:443/',
    'MASTERKEY': '***'
};

# Initialize the Python DocumentDB client
client = document_client.DocumentClient(config['ENDPOINT'], {'masterKey': config['MASTERKEY']})


databaseLink = "dbs/db"
coll = {
        "id": "testCreate",
        "indexingPolicy": {
            "indexingMode": "lazy",
            "automatic": False
        },
        "partitionKey": {
            "paths": [
              "/AccountNumber"
            ],
            "kind": "Hash"
        }
       }
collection_options = { 'offerThroughput': 400 }
client.CreateCollection(databaseLink , coll, collection_options)

希望它对你有所帮助。