0

我创建了一个管道,每次创建 blob 时都由触发器执行,问题是进程需要同时上传多个文件的场景,当它发生时,管道执行次数与数量一样多的blob,它会导致数据错误。我试图在主管道中配置一个复制数据活动,以便复制创建的每个 blob,但由于此管道位于第一个管道内,因此它也会执行多次。

预期的结果是管道只执行一次(无论创建了多少 blob),并且复制数据活动能够复制文件夹中的所有 blob。

这是我的管道和触发器配置:

在此处输入图像描述

复制数据配置如下:

在此处输入图像描述

我已经尝试了几个月,这是我所做的另一次尝试:

微软问答

你能告诉我我做错了什么吗?

4

2 回答 2

1

您可以做的是根据属性过滤复制活动源Filter by last modified,您可以在其中指定 UTC 的开始时间和结束时间。

您可以尝试使用复制数据工具根据 LastModifiedDate 增量复制新的和更改的文件

或者...

在这里根据您的情况,只需提及开始时间。

  1. 这个开始时间只不过是上次执行触发管道运行的时间!您可以使用 REST API 调用Trigger Runs-Query By Factory获取触发管道运行详细信息。
  2. x现在,您可以根据在 Storage 中创建文件的频率选择查询在过去几个小时内执行的运行或在最后一天是否安全。
  3. 接下来,从此结果中仅收集triggerRunTimestamp并附加到数组变量。
  4. 使用函数查找最大或上次运行时间。将此时间设置为复制活动源过滤器的UTC开始时间,如开头所述。

如果这是可行的,我可以旋转一个示例管道。

于 2022-01-06T05:19:32.333 回答
0

为什么要将事件触发器映射到创建和上传所有文件的原始路径源?您不能在所有文件上传后使用虚拟文件创建一个虚拟 blob 路径以最终触发以克服此问题吗?

注意:这是我们管理它的方式:)但不幸的是生成了一个冗余文件

于 2022-01-07T05:45:02.830 回答