In this post, let's see how to set a scaling rule for Azure Container App to scale based on # of messages in an Azure Service Bus Subscription.
I am deploying an Azure Function App with a ServiceBusTrigger as a Container App.
# Windows PowerShell
az containerapp create `
--name <CONTAINER_APP_NAME> `
--resource-group <CONTAINER_APP_RESOURCE_GROUP>` --environment <CONTAINER_APP_ENVIRONMENT>
--image <CONTAINER_APP_IMAGE> `
--set-env-vars "AzureWebJobsServiceBus=<SERVICE_BUS_CONNECTION_STRING>" `
--min-replicas 0 `
--max-replicas 5 ` --secrets "service-bus-connectionstring=<SERVICE_BUS_CONNECTION_STRING>"
--scale-rule-name some-subsciption-name-rule `
--scale-rule-type azure-servicebus `
--scale-rule-metadata `
"subscriptionName=some-subsciption-name" `
"topicName=some-topic-name" `
"messageCount=10" `
--scale-rule-auth "connection=service-bus-connectionstring"
Here I am creating a container app with a scale rule of type azure-servicebus. An important thing to notice is, I am creating a secret service-bus-connectionstring and using it for scale-rule-auth, so KEDA scaler can communicate with the Service Bus namespace.
Metrics: Replica Count |
More reading:
Set scaling rules in Azure Container Apps
Hope this helps.
Happy Coding.
Regards,
Jaliya
No comments:
Post a Comment