Azure functions 忽略服务总线队列触发函数App函数的host.json设置
当队列触发的函数需要调用第三方API时,我试图锁定最佳实践的内部文档,其中可能存在节流问题。我遵循了我能找到的所有文档,无论是MS official、stackoverflow还是相应的github repo 我已使用CLI将FunctionalPPScaleLimit设置为1Azure functions 忽略服务总线队列触发函数App函数的host.json设置,azure-functions,azure-queues,Azure Functions,Azure Queues,当队列触发的函数需要调用第三方API时,我试图锁定最佳实践的内部文档,其中可能存在节流问题。我遵循了我能找到的所有文档,无论是MS official、stackoverflow还是相应的github repo 我已使用CLI将FunctionalPPScaleLimit设置为1 az resource update --resource-type Microsoft.Web/sites -g resourceGroupName -n functionAppName/config/web --s
az resource update --resource-type Microsoft.Web/sites -g resourceGroupName -n functionAppName/config/web --set properties.functionAppScaleLimit=1
我手动将网站\最大\动态\应用程序\扩展\设置为1应用程序内设置
我在Azure portal中验证,在横向扩展设置下,功能应用程序显示手动横向扩展和实例计数为1
我在host.json中有以下内容(我没有使用FunctionsStartup属性)
我的服务总线队列已启用会话。在函数应用程序中成功处理消息(人为延迟添加到测试并发性中。但是,当我测试并向队列发送100条消息时(一次一条,未成批处理,并且我的函数未设置为接收成批处理的消息),每个会话10个,我看到所有10个会话同时处理。我希望在任何给定时间看到一个会话处理中的一条消息
有什么建议吗?我是不是漏掉了什么明显的东西
另一方面,在函数执行期间,如果我没有使用FunctionsStartup execution,那么记录所有设置(包括函数实际使用的来自host.json的设置)的最简单方法是什么?当前,在host.json中定义的扩展节结构位于
记录节下,这是不正确的。它应该e在记录
部分之外
使用下面正确定义扩展部分的选项
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
}
},
"extensions": {
"serviceBus": {
"prefetchCount": 1,
"messageHandlerOptions": {
"autoComplete": true,
"maxConcurrentCalls": 1,
"maxAutoRenewDuration": "00:05:00"
},
"sessionHandlerOptions": {
"autoComplete": true,
"messageWaitTimeout": "00:00:30",
"maxAutoRenewDuration": "00:55:00",
"maxConcurrentSessions": 1
}
}
}
}
请参阅阅读关于host.json引用的内容。这是故事的一部分,提问者在另一双眼睛看着他愚蠢的简单问题并说:“嘿,git gud!”:D lol。谢谢。感觉必须很简单,但我就是看不到。有时每个人都会这样:)
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
}
},
"extensions": {
"serviceBus": {
"prefetchCount": 1,
"messageHandlerOptions": {
"autoComplete": true,
"maxConcurrentCalls": 1,
"maxAutoRenewDuration": "00:05:00"
},
"sessionHandlerOptions": {
"autoComplete": true,
"messageWaitTimeout": "00:00:30",
"maxAutoRenewDuration": "00:55:00",
"maxConcurrentSessions": 1
}
}
}
}