在通过Azure Logic App中的创建blob操作完成整个写入操作之前,Azure blob容器中的0 kb文件

在通过Azure Logic App中的创建blob操作完成整个写入操作之前,Azure blob容器中的0 kb文件,azure,azure-storage-blobs,azure-logic-apps,Azure,Azure Storage Blobs,Azure Logic Apps,第三方计划程序将从我的Azure blob存储容器中拾取文件。这些文件通过Azure logic app-创建blob操作写入。 但在负载较高时会间歇性出现。在写入整个文件之前,我们可以先看到一些0 KB的文件。由于此计划程序速度很快,因此在提交整个文件之前会拾取此0 KB的文件。据我所知,与logic app无关。创建blob所花费的时间是必需的。我认为唯一的方法是调整第三方调度程序的请求时间。或者,您可以使用第三方调度程序将逻辑应用程序的运行时间更改为交错时间 更新: 我在这里发布了一个变通

第三方计划程序将从我的Azure blob存储容器中拾取文件。这些文件通过Azure logic app-创建blob操作写入。
但在负载较高时会间歇性出现。在写入整个文件之前,我们可以先看到一些0 KB的文件。由于此计划程序速度很快,因此在提交整个文件之前会拾取此0 KB的文件。

据我所知,与logic app无关。创建blob所花费的时间是必需的。我认为唯一的方法是调整第三方调度程序的请求时间。或者,您可以使用第三方调度程序将逻辑应用程序的运行时间更改为交错时间

更新:

我在这里发布了一个变通方法供您参考。如果将第三方计划程序设置为10分钟,例如5:00、5:10、5:20、5:30、5:40、5:50。我们可以在logic app中获取当前时间的分钟数,并判断它是否等于“10”或“20”或“30”或“40”或“50”或“00”。如果结果为真,那么我们可以添加一个“延迟”操作来延迟逻辑1分钟,并在1分钟后继续创建blob。请参考以下步骤:

  • 初始化名为“time”的变量,并使用表达式设置值:
  • 在logic app中创建一个“如果”条件,并在其中设置六个条件,右侧输入框中的表达式应为:
  • 如果条件的结果为“真”,我们需要创建一个“延迟”操作。(延迟1分钟,然后创建blob)

  • 我可以知道第三方调度程序和“创建blob”操作的详细信息吗?例如,计划每天或每小时从Azure blob存储中拾取文件?“创建blob”将blob创建到Azure blob存储的频率是多少?第三方调度程序和您的逻辑应用程序的关系,一个触发另一个,还是相互独立?或者其他关系?显然调度程序将在大约30秒的时间间隔内拾取文件。当负载较高时,创建blob将每秒创建1个文件,具有多个实例。与第三方调度程序没有关系,它是独立的,甚至不确定它们是什么技术。感谢Hury shen的帮助回复。即使我们将请求时间更改为10分钟。对于在第10分钟写入的文件,我们可能会面临相同的问题。您好@Mr.R,我的意思是更改请求时间以避免创建blob的时间。例如,从0:00到12:00从azure blob存储创建blob和13:00拾取文件。但这也取决于你的需求是否有限,只是一个建议。@R先生,顺便问一下,我可以知道你是如何触发logic应用程序来创建blob的吗?嗨@R先生,我已经用一个解决方法更新了我的答案,供你参考。希望这将有助于解决您的问题~感谢您尝试解决此问题。我感觉很难维护我们必须同时启动计划程序和LA,以便同步。即使我们在一个LA中有更改,我们也必须停止整个计划程序以同步。
    formatDateTime(utcNow(),'mm')
    
    string('00')
    string('10')
    string('20')
    string('30')
    string('40')
    string('50')