Azure-data-Factory 复制数据 如果某个文件存在
Azure-data-Factory Copy data If a certain file exists
我在 blob 容器中有很多文件。但是,我只想 运行 一个存储过程,只有当某个文件(例如 SRManifest.csv)存在于 blob 容器上时。我在数据工厂上使用了获取元数据和 IF 条件。你能帮我写动态脚本吗?我试过这个 @bool(startswith(
activity('Get Metadata1').output.childitems.ItemName,
'SRManifest.csv'))
。没用。
然后我想,如果我使用 @greaterOREquals(activity('Get Metadata1').output.LastModified,adddays(utcnow(),-2))
但是这会检查 Bloob 的 2 天内最后修改的文件不存在。谢谢。
请看下面我的图
根据您的图表,由于您已经遍历所有 blob 名称,您可以向管道添加一个布尔变量并将其默认值设置为 false:
在 ForEach activity 中,如果值仍然是 false,您只想尝试设置变量,如果找到 blob 名称,则设置它真。由于 Set Variable 不能自引用,因此在 If activity:
的 False 分支内执行此操作
只有当值为false时才会尝试处理(所以文件名还没有找到),如果值为[=34=则什么都不做]真。现在根据您的文件名设置变量:
[注意:该值可以硬编码、参数化或基于变量]
执行管道时,一旦值设置为 true:
,您将看到设置变量停止尝试
在主管道中,在ForEach activity 完成后,您可以使用变量来设置最终If activity 的条件。如果从未找到 blob,它仍将是 false,因此将存储过程 activity 放在 True 分支中。
我对你的要求有不同的理解。
我想 运行 仅当特定文件(例如 SRManifest.csv)存在于 blob 容器上时才使用存储过程
1 更改您的元数据 activity 以查找标记文件 (SRManifest.csv)
是否存在
2 跟一个 IF activity,使用这个条件:
3 将你的 sp 放在 IF 的 True 部分 activity
如果您还需要传递给 sp 的文件列表,那么您将需要 IF-True 中的 GetMetadata with childitems 选项 activity
我在 blob 容器中有很多文件。但是,我只想 运行 一个存储过程,只有当某个文件(例如 SRManifest.csv)存在于 blob 容器上时。我在数据工厂上使用了获取元数据和 IF 条件。你能帮我写动态脚本吗?我试过这个 @bool(startswith(
activity('Get Metadata1').output.childitems.ItemName,
'SRManifest.csv'))
。没用。
然后我想,如果我使用 @greaterOREquals(activity('Get Metadata1').output.LastModified,adddays(utcnow(),-2))
但是这会检查 Bloob 的 2 天内最后修改的文件不存在。谢谢。
请看下面我的图
根据您的图表,由于您已经遍历所有 blob 名称,您可以向管道添加一个布尔变量并将其默认值设置为 false:
在 ForEach activity 中,如果值仍然是 false,您只想尝试设置变量,如果找到 blob 名称,则设置它真。由于 Set Variable 不能自引用,因此在 If activity:
的 False 分支内执行此操作只有当值为false时才会尝试处理(所以文件名还没有找到),如果值为[=34=则什么都不做]真。现在根据您的文件名设置变量:
[注意:该值可以硬编码、参数化或基于变量]
执行管道时,一旦值设置为 true:
,您将看到设置变量停止尝试在主管道中,在ForEach activity 完成后,您可以使用变量来设置最终If activity 的条件。如果从未找到 blob,它仍将是 false,因此将存储过程 activity 放在 True 分支中。
我对你的要求有不同的理解。
我想 运行 仅当特定文件(例如 SRManifest.csv)存在于 blob 容器上时才使用存储过程
1 更改您的元数据 activity 以查找标记文件 (SRManifest.csv)
是否存在2 跟一个 IF activity,使用这个条件:
3 将你的 sp 放在 IF 的 True 部分 activity
如果您还需要传递给 sp 的文件列表,那么您将需要 IF-True 中的 GetMetadata with childitems 选项 activity