Thanks for the additional context.
You're right—when running Azure Functions inside Azure Container Apps, the traditional based Function Key authentication doesn’t apply. Container Apps don’t support the same function-level key model that App Service-based Function Apps do, so setting up an Event Grid webhook requires a different approach.
- Instead of using Function Keys, you’ll need to configure the Event Grid subscription to authenticate using a custom header or a static bearer token. This can be done during subscription creation by specifying a custom delivery attribute. Microsoft provides guidance on this here: https://learn.microsoft.com/en-us/azure/event-grid/security-authentication#custom-authentication-between-event-grid-and-webhook-endpoints
- Regarding scaling, it's important to note that Azure Container Apps rely on KEDA for autoscaling, and Event Grid is not one of the native KEDA scalers. This means your function won’t automatically scale out in response to a spike in Event Grid events, such as multiple blob uploads. You can still configure minimum and maximum replica counts manually, but scale-out won’t be as dynamic as with Functions running on the Consumption or Premium plans. More on scaling behavior here: https://learn.microsoft.com/en-us/azure/container-apps/scale-app?pivots=azure-cli
- If you're aiming for high concurrency triggered by blob events, using a regular Azure Function App on a Consumption Plan may offer more seamless scaling and integration with Event Grid. Here's the documentation for Event Grid triggers on standard Function Apps: https://learn.microsoft.com/en-us/azure/azure-functions/functions-bindings-event-grid?tabs=isolated-process%2Cextensionv3&pivots=programming-language-csharp