Storage Account Blob Trigger Event could not be enabled (MinimumTlsVersion is not supported by webhook endpoint)

ANTONELLO PIO BARBONE 0 Reputation points
2025-08-07T13:24:05.2733333+00:00

Hi everyone,

I'm trying to enable the "Created Blob Trigger" event for my Storage Account Datalake Gen 2 in order to trigger a Function App.
I followed the official documentation about this topic, but the last step fails with the following error

Official Docs:
https://learn.microsoft.com/en-us/azure/azure-functions/functions-event-grid-blob-trigger?pivots=programming-language-python

Screenshot 2025-07-31 alle 13.00.10

What does this mean? I took a look to the TLS version specified for the Event Grid and the Function App, and it's the same.

Thanks in advance

Azure Functions
Azure Functions
An Azure service that provides an event-driven serverless compute platform.
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. TP 131.6K Reputation points Volunteer Moderator
    2025-08-07T15:02:58.0366667+00:00

    Hi Antonello,

    When you attempt to create the event subscription it starts webhook validation handshake to the endpoint url you set. If this url is incorrect and/or doesn't accept minimum TLS version you set and/or doesn't accept the web request properly in some way it will trigger this error, even though the cause may be unrelated to TLS version.

    The fix is to make sure the webhook endpoint is publicly available and configured to properly respond to the handshake. For example, say Event Grid sends below message to endpoint to start handshake:

    [
      {
        "id": "xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx",
        "topic": "/subscriptions/xxxxxxxx-xxxx-4xxx-xxxx-xxxxxxxxxxxx/resourceGroups/my-resource-group/providers/Microsoft.Storage/StorageAccounts/contosostorageaccount",
        "subject": "",
        "data": {
          "validationCode": "XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX",
          "validationUrl": "https://rp-westus.eventgrid.azure.net:553/eventsubscriptions/subscription2/validate?id=XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX&t=2025-07-24T05:51:14.1234981Z&apiVersion=2024-12-15-preview&token=B9n2CV31AxMP1Zl452X77S4iRERkISCUER%2beWhgJSEq%3d"
        },
        "eventType": "Microsoft.EventGrid.SubscriptionValidationEvent",
        "eventTime": "2025-07-24T05:51:14.1234981Z",
        "metadataVersion": "1",
        "dataVersion": "2"
      }
    ]
    
    

    the endpoint might extract validationUrl from above and make GET request:

    
    GET https://rp-westus.eventgrid.azure.net:553/eventsubscriptions/subscription2/validate?id=XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX&t=2025-07-24T05:51:14.1234981Z&apiVersion=2024-12-15-preview&token=B9n2CV31AxMP1Zl452X77S4iRERkISCUER%2beWhgJSEq%3d
    

    If it doesn't respond properly, the deployment will eventually fail with webhook validation handshake failed or similar error. This is only one way to respond to handshake. Another way is your endpoint could respond to message by returning HTTP 200 with validationCode given:

    {
      "validationResponse": "XXXXXXXX-XXXX-4XXX-XXXX-XXXXXXXXXXXX" 
    }
    
    

    For troubleshooting it may be helpful to set up an endpoint that logs the incoming request to help you see exactly what you need to respond to and test different techniques.

    Please click Accept Answer and upvote if the above was helpful.

    Thanks.

    -TP


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.