【发布时间】:2019-01-16 17:00:59
【问题描述】:
我的 Azure 函数在一夜之间变得无响应(新的 Blob 触发器不会触发),当我在 Azure 门户 UI 中单击该作业时,它又开始工作了。
8 月 9 日 11:17 更新 - 当 $logs 每小时创建一个新子文件夹时,BlobTrigger 不会被这些新文件触发
创建新文件夹时,新文件夹不会触发 BlobTrigger 在该文件夹中创建文件。
结束更新
public static class Function2
{
[FunctionName("Function2")]
public static void Run([BlobTrigger("$logs/{name}", Connection = "ddavemstorage")]
Stream blobStream, string name, TraceWriter log, ExecutionContext context)
我可以验证 $logs 文件是否定期写入(使用 Azure 存储资源管理器),但不会在一夜之间触发 BlobTrigger。
在 1016 拍摄的屏幕截图。30 分钟前,我查看了门户 Azure Function UI。然后它从 0600UTC(实际上是我的时间 0700)处理日志文件。它还处理了它错过的所有其他内容。
- 计划:消耗:0 小
- 运行时:1.0.11913.0(.NET 完整版)
这可能与 $logs 文件夹有关。这在几年前无法监控。 https://github.com/Azure/azure-webjobs-sdk/issues/715
$logs 文件夹正在按预期写入。
【问题讨论】:
-
没有真正回答这个问题,但有一些提示应该将 Blob 触发器视为不是 100% 可靠的,并且通过事件网格触发的较新事件模型可能比博客触发器提供更好的可靠性直接在函数上:参见:docs.microsoft.com/en-us/azure/azure-functions/… 和:docs.microsoft.com/en-us/azure/storage/blobs/…
-
我还建议尝试标准应用服务计划而不是消费模型可能会提供更好的可靠性(但当然会花费更多)。
标签: azure-blob-storage azure-functions