我正在尝试从其余端点定期查询员工数据,并使用ADF复制活动将其保存到SQL Server DB中。将当天查询的所有员工数据添加到一个天蓝色的Blob中,文件名与当天相对应。在我的Azure函数中,我使用JsonConvert.SerializeObject(employee)
序列化对象并将其存储为 fileName_currentDate.txt ,之后数据如下所示:
[
{
name: "abc",
address: "pqr"
},
{
name:"efg",
address: "efg"
}
]
问题:我想继续将更多员工添加到具有匹配日期部分的文件中。
约束:我不想使用blob.DownloadToStream(stream)
之类的东西将现有Blob下载到服务器,反序列化,将多余的数据添加到我的对象中,然后保存它返回到Blob容器。当我需要追加的次数很大并且blob大小不适合内存时,这将是一项昂贵的操作。
我在这里有什么选择?
我看到有对 Append Blob Storage 的支持,这是我计划在应用程序中使用的功能,但是我不明白如何将更多数据添加到json blob。
答案 0 :(得分:0)
此quick start for android page表示您可以在复制活动中配置LastModifiedDate属性,以构建具有增量复制新文件和更改文件功能的管道。
但是,将数据不断添加到单个文件中确实是不合适的,这可能导致加载非常缓慢并且难以查看数据。根据您的业务需求,我建议您在单位时间内(例如每天)增加数据,并将新数据存储到以时间戳命名的单独文件中。
如果您这样做,我想也许link是更合适的选择。
ASA支持azure stream analytics和Azure Blob Storage input。但是在Azure SQL DB as output下面供您参考。
Stream Analytics不支持将内容添加到现有Blob 文件。流分析将仅查看每个文件一次,并且进行任何更改 作业读取数据后在文件中发生的错误 处理。最佳做法是在以下位置上传blob文件的所有数据: 一次,然后将其他新事件添加到其他新Blob中 文件。