如何使用数据工厂将 IoT 中心存储的 blob 复制到 Azure SQL
Posted
技术标签:
【中文标题】如何使用数据工厂将 IoT 中心存储的 blob 复制到 Azure SQL【英文标题】:How to copy IoT Hub stored blobs to an Azure SQL using Data Factory 【发布时间】:2020-11-19 12:12:21 【问题描述】:我们正在使用 IoT 中心路由功能将消息存储到 Azure Blob 容器中。默认情况下,它以分层方式存储消息 - 为年、月、日等创建文件夹结构。在每天的文件夹中,它会创建多个块 blob 二进制文件。每个文件可能包含多个 JSON 对象,每个对象代表一个唯一的 IoT 遥测消息。
如何使用 Azure 数据工厂将这些消息中的每一个复制到 Azure SQL 数据库中?
Screenshot from Azure Storage Explorer
A sample blob file containing multiple messages
【问题讨论】:
blob、txt、csv等文件格式是什么? 好像是文本文件,请看第二张图。 这些文件中的数据是'josn'格式。您想将容器中的这些文件数据传输到 Azure SQL 数据库中,对吗? 正确,我想将这些放入 Azure SQL 数据库。虽然 Azure 数据工厂教程提供了如何将 Azure blob 容器中的文本/csv 文件放入 Azure SQL 表的示例,但不确定如何处理这些文件。 重点是这些文件可能在不同的文件夹中。 【参考方案1】:所有文件都具有相同的 json 模式。那你就可以按照我的步骤来了。
我在容器中创建了一个文件夹csv
,并有几个带有 json 数据的 csv 文件:
Source Dataset:csv文件中的数据是json格式,所以我选择json格式文件。
-
选择容器:测试
导入架构(.json)
来源设置:使用通配符文件路径选择容器中的所有文件夹和文件。
接收器设置:
映射:
运行管道并检查接收器表中的结果:
【讨论】:
这对我来说非常有用,感谢您的帮助!以上是关于如何使用数据工厂将 IoT 中心存储的 blob 复制到 Azure SQL的主要内容,如果未能解决你的问题,请参考以下文章
Azure IoT 中心 - 使用 IoT 中心将文件从 Azure blob 下载到 IoT 设备
如何使用数据工厂将数据从 Azure Blob 存储增量加载到 Azure SQL 数据库?
如何从 azure blob 存储中获取 json 数据并使用 azure 数据工厂将其发送到 power apps dataverse
为啥 Azure 数据工厂使用 AppendFile 而不是 PutBlob 将文件写入 Blob 存储容器?