我的Application Insights中有一个“持续导出”流程,可以根据我的新见解创建新文件。
除此之外,我还有一个使用Azure数据工厂的进程,使用Blob存储数据加载一个SQL表。
问题: 我无法从A.D.F.读取,只有来自Blob Storage的新文件,我总是处理相同的数据。此时我忽略了SQL存储过程中加载过程后的重复数据,但我想通过从blob存储中只读取新数据来提高此过程的效率,我可以从A.D.F.执行此操作吗? 谁能帮我?哪些是实现这一目标的替代方案?
最诚挚的问候, 瑞费尔南德斯
答案 0 :(得分:0)
实现这一目标的替代方案是什么?
如果WebJob可以接受,我们可以轻松地使用WebJob blob触发器。我们可以从Azure official document.
获取有关WebJob触发器的更多信息以下是演示代码:
public static void ProcessBlobTrigger([BlobTrigger("containername/{name}")] TextReader input, TextWriter log)
{
// your logic to process data
}
答案 1 :(得分:0)
我建议您通过将它们重命名为" Archive / oldBlobName"来以编程方式存档旧blob(自定义管道)。执行此操作后,当您在代码中迭代分段blob结果(在数据集中指定的容器中包含的blob列表)时,只需转义名称以" Archive"开头的名称。
foreach (IListBlobItem listBlobItem in blobList.Results)
{
CloudBlockBlob inputBlob = listBlobItem as CloudBlockBlob;
// Take all blobs from container that are not in "Archive"
if ((inputBlob == null) || string.IsNullOrEmpty(inputBlob.Name)
|| inputBlob.Name.ToLower().StartsWith("Archive"))
{
continue;
}
...