Azure WebJob 未处理所有 Blob

标签 azure azure-webjobs azure-webjobssdk

我将 gzip 压缩文件上传到 Azure 存储容器(输入)。然后我有一个 WebJob 应该拾取 Blob,解压缩它们并将它们放入另一个容器(输出)中。两个容器使用相同的存储帐户。

我的问题是它不能处理所有 Blob。它似乎总是错过 1。今天早上,我将 11 个 blob 上传到输入容器,但只处理了 10 个并将其转储到输出容器中。如果我上传 4 个,那么将处理 3 个。尽管已上传 11 个 Blob,仪表板仍将显示 10 次调用。看起来它不会被第 11 个 Blob 触发。如果我只上传 1 个,它似乎会处理它。

我正在标准模式下运行网站,并将“Always On”设置为 true。

我已经尝试过:

这是我最新的代码。我做错了什么吗?

public class Functions
    {
        public static void Unzip(
            [BlobTrigger("input/{name}.gz")] CloudBlockBlob inputBlob,
            [Blob("output/{name}")] CloudBlockBlob outputBlob)
        {
            using (Stream input = inputBlob.OpenRead())
            {
                using (Stream output = outputBlob.OpenWrite())
                {
                    UnzipData(input, output);
                }
            }
        }

        public static void UnzipData(Stream input, Stream output)
        {
            GZipStream gzippedStream = null;

            gzippedStream = new GZipStream(input, CompressionMode.Decompress);
            gzippedStream.CopyTo(output);            
        }
    }

最佳答案

根据 Victor 上面的评论,这看起来像是 Microsoft 端的一个错误。

编辑:我没有得到反对票。存在问题,微软将修复它。这就是为什么我的一些 Blob 被忽略的答案......

“存在一个关于某些存储日志事件被忽略的已知问题。这些事件通常是为大文件生成的。我们已对此进行了修复,但尚未公开。对于给您带来的不便,我们深表歉意。 – Victor Hurdugaci 1 月 9 日,地址12:23"

关于Azure WebJob 未处理所有 Blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27813769/

相关文章:

c# - 新的 Azure WebJob 项目 - NuGet 更新后缺少 JobHostConfiguration/RunAndBlock

c# - 如何使用 Azure WebJob 中的计时器每天在特定时间调用方法?

azure - 如何在没有 "Always On"的情况下保持 Azure WebJob 运行

azure - 如何使用 SAML 将 Okta 作为 IDP 与 Azure AD B2C 集成?

azure - 将 Windows 计划任务或 Windows 服务迁移到 Azure Web 作业

c# - 有什么方法可以对 Azure SQL 数据库更改使用react吗?

Azure Web 作业超时后无法执行

azure - 希望 Azure webjobs 在发布 Web 应用程序后保持运行状态(正在运行或已停止)

azure - 无法删除或创建 azure aks 实例

azure - 如何为私有(private)Azure SQL数据库设置API管理,Function App