【发布时间】: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