【Azure 存储服务】Blob中数据通过Stream Analytics导出到SQL/Cosmos DB
问题描述
Json格式的数据目前是存储在Azure Blob中,如何将这些数据Load到Sql DB和CosmosDB中呢?
测试方案
使用Azure流分析服务(Stream Analytics)功能可以满足以上的问题要求。测试结果如下:
一:流分析输出结果到SQL DB中
如图,在Stream Analytics中配置输入为Blob,而输出则指定为SQL数据库,在查询语句中使用SQL语言即可。执行结果如下:
关于如何配置流分析服务,可以参考官方文档:
Azure 流分析的输入: https://docs.azure.cn/zh-cn/stream-analytics/stream-analytics-add-inputs
Azure 流分析的输出: https://docs.azure.cn/zh-cn/stream-analytics/stream-analytics-define-outputs
二:流分析输出结果到CosmosDB中
1) 创建CosmosDB以及对应的container (注意CosmosDB创建时要选择SQL API的,创建Container时的PartitionId key值为/PartitionId )
2) 流分析的sql语句(全部查询)
注:如只需要部分数据,则在SQL语句中添加字段名及Where条件
3) 配置流分析的兼容性级别为1.1
4) 运行作业后,最终我们可以看到blob中的json数据成功的流到了Cosmos DB,如下
当在复杂的环境中面临问题,格物之道需:浊而静之徐清,安以动之徐生。 云中,恰是如此!