如何使用CosmosDb和分区键作为Stream Analytics输出?

时间:2019-06-03 21:20:54

标签: azure azure-cosmosdb azure-stream-analytics

我正在使用分区键将CosmosDb设置为Stream Analytics Job输出,并且连接测试失败并出现以下错误:

  

连接到Cosmos DB数据库时出错:无效或没有匹配的集合>收集模式为“ containername / {partition}”。集合必须以区分大小写的模式存在,并以从> 0开始的递增数字顺序。

注意:我正在使用带SQL API的cosmosdb,但配置是通过portal.azure.com

完成的

我已经确认我可以通过门户网站数据浏览器手动将文档插入DocumentDB中。这些插入成功,并且正确识别了分区键值。

我这样设置Cosmos容器

Database Id: testdb
Container id: containername
Partition key: /partitionkey
Throughput: 1000

我这样设置Stream Analytics输出

Output Alias: test-output-db
Subscription: My-Subscription-Name
Account id: MyAccountId
Database -> Use Existing: testdb
Collection name pattern: containername/{partition}
Partition Key: partitionkey
Document id: 

在测试输出连接时,出现故障和上面列出的错误。

1 个答案:

答案 0 :(得分:0)

我收到Microsoft支持的答复,即Azure Stream Analytics不再支持通过“ {partition}”令牌模式指定分区。此外,一般不建议从ASA写入多个容器。现在,如果ASA输出到配置了分区的CosmosDb,则Cosmos应该自动在其侧面进行维护。

  

与我们的ASA开发人员/产品小组讨论后,   收集模式,例如MyCollection {partition}或   不再支持MyCollection / {partition}。写多个   固定容器已弃用,不建议使用   扩展Stream Analytics作业的方法[...]总之,   您可以简单地将集合名称定义为“ apitraffic”。你不   需要指定任何分区键,因为我们会从中自动检测到它   Cosmos DB。