【发布时间】:2024-04-30 04:20:01
【问题描述】:
这个问题类似于Azure Blob Storage trigger Function not firing
但是,他们的问题是他们的 Azure Function 没有立即唤醒,给人的印象是它没有处理来自 Azure Blob 存储的触发器,而实际上它是在 10 分钟之后,这与 MS 文档声称的完全一样。
我的问题不同。我的 blob 现在已经在容器中放置了 9 个小时,但仍未处理。
它所做的只是在 ServiceBus 上发布一条消息。
[FunctionName("IncomingFileDetected")]
[return: ServiceBus("incoming-file-received", EntityType = Microsoft.Azure.WebJobs.ServiceBus.EntityType.Topic)]
public static IncomingFile Run(
[BlobTrigger("incoming-files/{filename}", Connection = "ConnectionStrings:MutableStorage")]
Stream contents,
string filename,
ILogger log)
{
log.LogInformation($"Detected new blob file: {filename}");
return new IncomingFile(filename);
}
服务总线中没有出现任何消息。
现在,9 小时后,我重新启动了函数应用,并且在大约 10 分钟内处理了 blob。
【问题讨论】:
-
您使用的是哪种 AppService 计划?如果您不使用消费计划,则需要启用“始终开启”。
-
嗨@AlexAIT,你能告诉我我要去哪里检查吗?
-
如果您在 Azure 门户中打开函数应用程序,您可以在屏幕中间的状态、subscriptionId 等旁边看到
App Service plan / pricing tier。如果它显示“Consumption”以外的任何内容,例如“高级V2”。这是一张图片:docs.microsoft.com/en-us/azure/azure-functions/…always on 设置在“配置-常规设置”下 -
函数触发后,Blob 不会从 Blob 存储中移除。你可以看看我的代码,它在本地和 azure 上都可以正常工作。
标签: azure triggers azure-functions azure-blob-storage