Azure ADF 如何确保复制的相同文件也被删除?

标签 azure azure-data-factory azure-data-lake

使用 Azure ADF,目前我的设置如下:

基于文件上传时的输入 BLOB 触发的事件。文件上传会触发复制事件以输出 BLOB,此操作后会对输入 BLOB 进行删除操作。输入 BLOB 可以一次获取 1 个或多个文件(不确定扫描文件的频率/事件触发管道的速度)。阅读删除功能文档,它说:

Make sure you are not deleting files that are being written at the same time.

我当前的设置会删除正在写入的文件吗?

文件上传时基于事件的触发器>>从输入Blob写入输出Blob>>删除输入Blob

我制定了一个替代解决方案,它根据管道开头的事件执行获取元数据事件,然后执行一个 for 循环,在最后删除文件,但不确定这是否有必要。如果我每 15 秒左右接收一次文件(不太可能发生),我原来的解决方案是否足够?

此外,在获取元数据事件中,如何获取文件的实际路径,而不仅仅是文件名?

感谢您的帮助。

最佳答案

Delete Active说:

  • 确保您没有删除正在写入的文件 同一时间。

您的设置是:

  • 文件上传时基于事件的触发器 >> 从输入 Blob 写入输出 Blob >> 删除输入 Blob

只有在事件的从输入Blob写入到输出Blob完成后(删除文件没有被写入),删除输入Blob才能工作。

您的问题:我当前的设置会删除正在写入的文件吗?

那么您测试了这些步骤吗?你必须亲自测试一下,你就会得到答案。

请注意:

删除事件不支持删除通配符描述的文件夹列表。

任何其他建议:

从输入 Blob 写入到输出 Blob 完成后,您不需要使用删除事件来删除输入 Blob。

可以向Data flow学习,它的源设置支持在复制事件完成后删除源文件(输入blob)。 enter image description here

希望这有帮助。

关于Azure ADF 如何确保复制的相同文件也被删除?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59736316/

相关文章:

json - 通过 Azure Data Lake 使用 U-SQL 将 JSON 嵌套到 CSV

python - 在 azure ML studio 中安装数据湖存储

azure - 将所有消息从死信队列移回订阅的主队列

android - Android SDK 中缺少 Azure 移动应用文件同步支持

Azure Devops 没有这样的文件或目录

azure - 在 ADF 中使用 Foreach 循环读取 JSON 脚本数组输出时出现问题

Azure Web 应用程序与数据湖集成

azure - 使用 Kudu 将 Orchard 部署到 Azure - MSB3884 : Could not find rule set file "AllRules.ruleset"

sql-server - Azure 数据工厂。导入到 SQL DB 时转换日期格式

azure - 如何将管道运行时持续时间导出到 CSV