An Azure service that provides an event-driven serverless compute platform.
Hi @Jain, Lisha ,
Thanks for reaching out to Microsoft Q&A.
In most cases this happens due to how the Functions runtime is connecting to your storage account and whether the Function App identity has the right RBAC roles.
Here are a couple of ways to fix it:
- Enable the System-Assigned Managed Identity in your Function App,
- In your storage account’s IAM (Access control) assign:
- “Storage Blob Data Contributor” for the blob-trigger’s service URI
- “Storage Queue Data Contributor” for the queue-trigger’s service URI
Correct env variables, they are called: FileUploadStorage__queueServiceUri (for queues) and FileUploadStorage__serviceUri(for blobs).
For identity-based connections, Azure Functions expects a specific format as below:
In Configuration, add two app settings:
FileUploadStorage__blobServiceUri = https://<storage>.blob.core.windows.net
FileUploadStorage__queueServiceUri = https://<storage>.queue.core.windows.net
- In your C# code, refer to those with:
[BlobTrigger("my-container", Connection = "FileUploadStorage")] [QueueTrigger("my-queue", Connection = "FileUploadStorage")] - Deploy.
The runtime will pick up the service URIs, use DefaultAzureCredential which uses the managed identity, and authenticate properly.
Additional checks:
- Ensure the blob container name and queue name match exactly (they’re case-sensitive and must exist).
- The blob trigger container must exist before the function runs. Example:
[BlobTrigger("uploads/{name}")] - Make sure you’re on a Functions runtime version that supports serviceUri parameters.
- Check your Function’s Log Stream / Application Insights for more detailed failure messages.
Hope this helps!