azure - 如何在 Azure 数据工厂中触发时检查某些文件是否正在上传(允许在 ADF 中上传时读取文件)

标签 azure amazon-s3 file-copying azure-data-factory

我的 Amazon S3 存储桶中有文件,我尝试使用 Azure 数据工厂中的复制事件将文件复制到 Azure Blob 容器。我在数据工厂管道上启用了一个每小时滚动窗口触发器,每小时都会到达 S3 存储桶。 ADF 管道不会复制正在 S3 存储桶上上传的文件。也无法在以后的触发器中跟踪文件。 enter image description here

Example:
Amazon S3 bucket 
Filename: HealthData.tar.gz
Upload in S3 bucket start time: 2:39 PM
Size: 200 GB
Upload in S3 bucket end time: 3:45 PM (Appox)

ADF Trigger Time(hourly) : 2:30 PM (but not tracked anything)

enter image description here

ADF Trigger Time(hourly) : 3:30 PM (but not tracked anything)

enter image description here 这里的问题是 ADF 无法跟踪 HealthData.tar.gz 文件,因为它仍在 S3 存储桶中上传,并且没有复制到 Azure Blob 存储

ADF 时间与上传时间发生冲突。 请帮助我解决 Azure 数据工厂中的解决方案(允许在 ADF 中上传时读取文件)。提前致谢

最佳答案

根据您的示例,我认为该文件不会在下午 2 点复制,但在下午 3 点 ADF 应该能够将数据从 Amazon S3 复制到 Azure Blob Store。

您可以通过使用 ADF 中的“获取元数据”事件来查看截至上一小时、一天、一周等有哪些文件是新的。使用此列表(希望您维护的日志包含您已加载的文件) )您可以确定存在哪些尚未加载到 Azure Blob 的新文件。管道看起来像这样: Pipeline TopLevel For Each Activity Detail If Activity True Detail 这些屏幕截图应该为您提供一个起点。如果您对代码细节感到困惑,请告诉我。您需要在从 S3 获取元数据中选择子项目级别。祝你好运!

关于azure - 如何在 Azure 数据工厂中触发时检查某些文件是否正在上传(允许在 ADF 中上传时读取文件),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68287949/

相关文章:

java - 如何在我的 Spring Boot 代码中处理亚马逊 s3 存储桶的 404 错误

ios - Apple swift - 应用程序如何连接到现有的 heroku/S3 数据库

python - python 中的文件复制在 50000 行后停止

c# - 带进度条的文件复制

azure - 逻辑应用中的液体过滤器日期未按预期工作

azure - 如何为 Azure 存储模拟器设置/初始化种子数据?

hadoop - 如何指定 S3 存储桶作为我对 EMR 的输入

python - 等待 shutil.copyfile 完成

angular - Id token 和访问 token 以及用户信息

azure - Trino、Iceberg 和 ADLS/Azure