【问题标题】:Blogtrigger yielding HEAD 404 errors in Application InsightsBlogtrigger 在 Application Insights 中产生 HEAD 404 错误
【发布时间】:2019-11-28 09:01:21
【问题描述】:

我有一个设置如下的 BlobTrigger:

[FunctionName("TransformFile")]
public static void Run(
    [BlobTrigger("%container%/{name}", Connection = "storage")] Stream blobIn,
    [Blob("%container%-pdf/{name}", FileAccess.Write, Connection = "storage")] Stream blobOut)
{
    //...
}

它从 1 个容器中获取文件,对其进行变异并将其写回另一个容器。我看到对 blobtrigger 进行的每个调用都显示 Application Insights 中对存储新 blob 的存储的依赖项异常调用,在该存储中逻辑上不存在,我不确定为什么它会按应有的方式进行这些操作无论 blob 是否已经存在用于写入,这对存储 API 来说并不重要。

我也可以使用 NuGet 包作为解决方法写信给blobOut,但这不是最佳做法。或者只是忽略异常,因为函数运行没有问题,尽管每次调用都会抛出异常,但日志会因无用的异常而变得非常拥挤。

我的项目中有以下 NuGet 包:

Microsoft.Azure.WebJobs.Extensions.Storage 3.0.4
Microsoft.NET.sdk.Functions 1.0.24
Microsoft.NETCore.App 2.1.0

【问题讨论】:

  • 你能添加你的代码吗?到目前为止,我们无法从您发布的代码中看到任何内容
  • @Thomas 用于测试目的我已经从 Visual Studio 发布了它,上面的位代码字面意思是上面的代码(内部没有发生任何事情),并且仍然在日志记录中引发异常
  • @Bleep-Bloop,您是否针对您的案例单击 azure 门户中的“运行”按钮 -> azure 功能?当我单击运行按钮时,它将在应用程序洞察中引发 404 错误。但是如果只是将文件上传到blob容器,则不会出现404错误,无需单击运行按钮。
  • @IvanYang 没有。我将一个或多个文件上传到 blob 容器,然后让函数应用中的 blob 触发器完成剩下的工作。
  • @Bleep-Bloop,这很奇怪。但为了您的信息,我使用最新版本的 nuget 包:Microsoft.Azure.WebJobs.Extensions.Storage 3.0.6、Microsoft.NET.sdk.Functions 1.0.29、WindowsAzure.Storage 9.3.3

标签: c# azure azure-functions azure-storage azure-blob-storage


【解决方案1】:

也许你可以试试我的代码,我已经在本地测试过,它会创建容器 %container%-pdf 并将 blob 上传到容器。

        [FunctionName("Function1")]
        public static void Run([BlobTrigger("%container%/{name}", Connection = "AzureWebJobsStorage")]Stream myBlob,
            [Blob("%container%-pdf/{name}", FileAccess.Write, Connection = "AzureWebJobsStorage")] CloudBlockBlob outputblob, string name, ILogger log)
        {
            log.LogInformation($"C# Blob trigger function Processed blob\n Name:{name} \n Size: {myBlob.Length} Bytes");
            outputblob.UploadFromStreamAsync(myBlob);

        }

【讨论】:

  • 谢谢,虽然我可以让函数在上面的代码中工作。 Application Insights 为每个调用持续注册一个 404 HEAD 依赖调用。这些异常使它在仪表板上看起来好像有一个大问题,而一切都运行良好,而我看不出为什么绑定会使它们成为FileAccess.Write
猜你喜欢
  • 1970-01-01
  • 2017-10-03
  • 1970-01-01
  • 1970-01-01
  • 2022-01-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-11-09
相关资源
最近更新 更多