首页 文章

在Azure Functions中重新启动Poison blob

提问于
浏览
1

根据azure文档,可以通过从azure-webjobs-hosts中删除blob来重新触发blob .

[... Blob收据存储在Azure存储帐户中名为azure-webjobs-hosts的容器中,用于您的功能应用程序(由AzureWebJobsStorage应用程序设置指定)...要强制重新处理blob,请删除该blob收据手动从azure-webjobs-hosts容器中获取blob .

如果我有一个poinsoned blob的列表,是否可以通过将它们从webjobs-blobtrigger-poison中删除来重新触发它们,或者它是否仅适用于成功的blob?不幸的是,文档中没有说明 .

当blob触发器函数失败时,Azure函数默认情况下会为该给定blob重试该函数最多5次(包括第一次尝试) . 如果所有5次尝试都失败,则函数会向名为webjobs-blobtrigger-poison的存储队列添加消息 .

1 回答

  • 3

    从毒性队列中删除队列消息不会重新触发blob .

    接收行为对于扫描新blob非常有用 . 当收到blob的收据时,我们知道我们已经处理了这个blob . 如果删除该收据,我们将在下一次扫描中将该blob作为新blob .

    您可以创建一个函数,其中包含针对毒性队列的队列触发器和针对毒性blob的blob输入,以尝试重新处理毒性斑点 . 如果此功能删除了有毒blob的收据(或者如果手动删除收据),则会将其视为新blob .

相关问题