Blob Trigger in Azure Function skips all subsequent blobs after first run, even with different names/paths/ETags

Harish K 0 Reputation points
2025-08-08T12:47:20.1333333+00:00

I have an Azure Function App running in Azure that uses:

Blob Trigger → to detect image uploads

Queue Trigger → to process those images after enqueueing from the Blob Trigger

Both triggers are in the same Function App, using the same storage account for both blob data and the azure-webjobs-hosts checkpoint store.
Expected behavior: Every time I upload an image (even with a unique name, path, and ETag), the Blob Trigger should fire and enqueue a message.
Actual behavior:

First uploaded blob is processed fine.

Every blob after that (even though completely different) is skipped by the Blob Trigger.

  • Logs show:
    Blob '...' will be skipped for function 'BlobTriggerFunction' because this blob with ETag '...' has already been processed. Source: 'ContainerScan'.

This happens even when:

Blob names are unique

  Full paths are different (I create nested folders each time)
  
     ETags are different
     
        - Content is different
        
              - **What I have already tried:**
              
  - Restarted the Function App
  
  - Deleted all old files from `azure-webjobs-hosts/blobreceipts` in the linked storage account
  
  - Changed file names to guaranteed unique values before upload
  
  - Verified in logs that path, ETag, and other metadata are different for each upload
  
  Despite this, after the first run, every upload is marked as already processed and skipped.  
    
  **Additional info:**
  
           This only happens in Azure — locally (using Azurite) the Blob Trigger fires for every upload as expected.
           
                    Container structure: multiple nested folders for each upload.
                    
Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
0 comments No comments
{count} votes

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.