我已经使用ServiceBusTrigger构建了.NET Core Azure函数。一旦在适当的应用程序设置(例如服务总线连接字符串)中将其部署到常规App Service计划中,该功能就可以正常工作。
但是,我希望将功能作为Docker容器托管在Azure Kubernetes服务(AKS)上。我安装了AKS,并在其中很好地运行了许多.NET Core Docker容器,其中包括TimerTriggers上的一些Azure函数。
当我使用ServiceBusTrigger部署功能时,它无法正确调整,并且显示“功能主机未运行”。当我访问功能IP地址时。我相信这是因为找不到应用程序设置。
问题是在Docker / Kubernetes环境中托管时我不知道如何包括它们。我尝试在Docker文件中包含适当的ENV条目,但是在我从PowerShell成功运行func deploy
后,我无法在通过Kubernetes仪表板查看的部署YAML中找到相应的值。
大多数Microsoft文档都解决了TimerTrigger和HttpTrigger的情况,但是在使用Docker / Kubernetes时,在ServiceBusTrigger上几乎找不到。
那么,如何在部署中包含适当的应用程序设置?
答案 0 :(得分:1)
在此博客:Playing with Azure Functions kubernetes integration中,您可以找到有关添加环境变量的描述。
在deployment.yml中,添加env(例如www.domain/api
作为环境变量)。
AzureWebJobsStorage
然后应用它,它将起作用。