如何列出Cosmos DB的所有容器以用于Azure Data Factory的lookup活动
查询Cosmos DB所有容器并适配ADF Lookup活动的操作方法
基础查询方式
针对SQL API模式的Azure Cosmos DB,你可以在数据库层级运行元数据查询获取所有容器列表,不需要指定具体查询容器:
-- 仅返回所有容器名称 SELECT value root.id FROM root -- 返回容器全量元数据(包含分区键、吞吐量等配置) SELECT * FROM root
如果你的Cosmos DB使用Mongo API模式,使用如下命令查询:
show collections
ADF Lookup 活动配置步骤
- 首先创建指向目标Cosmos DB的链接服务,认证方式选择对应有权限的密钥或者托管身份
- 新建Cosmos DB类型的数据集,绑定上述链接服务,不要填写具体容器名称,保持容器配置项为空
- 新增Lookup活动,源选择刚才创建的空容器Cosmos DB数据集
- 源设置中查询方式选择「Query」,输入上述对应API模式的查询语句即可
- 如果你需要后续活动直接引用容器名称数组,可以直接使用Lookup活动的输出
@activity('LookupName').output.value遍历即可
注意:确保ADF使用的身份具备Cosmos DB数据库和容器的读权限,否则会触发权限不足的查询错误。

内容的提问来源于stack exchange,提问作者Yuzuki Ayase
相关产品推荐
相关产品推荐

