小编Ale*_*erJ的帖子

Azure Functions 的实例正在共享变量吗?

不确定这个问题是否有意义,但这就是我所观察到的。我的 Azure 函数使用 BlobTrigger 处理上传到 Blob 存储的 PDF 文件。一切正常,直到我一次上传多个 blob,在这种情况下,使用下面的代码我观察到以下内容:

  • 第一个 context.getLogger() 正确记录触发该函数的每个 blob。

  • 在 Azure 文件共享中,每个 PDF 文件都会正确保存。

  • 在许多情况下,第二个 context.getLogger() 返回不正确的结果(来自其他文件之一),就好像变量在我的 Function 实例之间共享一样。请注意,lines[19] 对于每个 PDF 都是唯一的。

  • 我后来在代码中注意到类似的行为,其中记录了来自错误 PDF 的数据。

编辑:需要明确的是,我知道当多个实例并行运行时,日志不会按顺序排列。然而,当我上传 10 个文件时,大多数结果都是重复的,而不是获得行 [19] 的 10 个唯一结果,并且当基于 XI 想做 Y 时,这个问题稍后会在我的代码中恶化,并且 10 次调用中有 9 次产生垃圾数据。

主类

public class main {
   @FunctionName("veninv")
       @StorageAccount("Storage")
       public void blob(
           @BlobTrigger(
                   name = "blob",
                   dataType = "binary",
                   path = "veninv/{name}") 
               byte[] content,
           @BindingName("name") String blobname,
           final ExecutionContext context
           ) {

         context.getLogger().info("BlobTrigger by: " + blobname …
Run Code Online (Sandbox Code Playgroud)

java azure-functions azure-blob-trigger

5
推荐指数
1
解决办法
7557
查看次数

标签 统计

azure-blob-trigger ×1

azure-functions ×1

java ×1