Reputation: 49
According to the azure documentation, blobs can be re-triggered by deleting them out of the azure-webjobs-hosts.
[...Blob receipts are stored in a container named azure-webjobs-hosts in the Azure storage account for your function app (specified by the AzureWebJobsStorage app setting) ... To force reprocessing of a blob, delete the blob receipt for that blob from the azure-webjobs-hosts container manually.]
If I have a list of poinsoned blobs, is it possible to re-trigger them by removing them out of the webjobs-blobtrigger-poison or does it only hold true for successful blobs ? Unfortunately it is not stated in the documentation.
When a blob trigger function fails, Azure Functions retries that function up to 5 times by default (including the first try) for a given blob. If all 5 tries fail, Functions adds a message to a Storage queue named webjobs-blobtrigger-poison.
Upvotes: 3
Views: 1933
Reputation: 2724
Removing a queue message from the poison queue will not re-trigger the blob.
The receipt behavior is useful for scanning for new blobs. When there is a receipt for a blob, we know that we've already processed that blob. If you delete that receipt, we'll pick up that blob as a new blob in the next scan.
You could create a function with a queue trigger for the poison queue and a blob input to the poison blob to attempt to reprocess poison blobs. If this function deletes the receipt for the poison blob (or if you delete the receipt manually) it will be treated as a new blob.
Upvotes: 5