我已经有了一个函数应用程序,它通过devops管道部署了几个函数。我希望在当前环境中实现部署插槽,这样我们就可以有更好的可用性。创建部署槽后,从Microsoft https://learn.microsoft.com/en-us/azure/azure-functions/functions-deployment-slots跟踪此文档。我已经编辑了我的devops发布管道,以便将构建部署到暂存部署槽。,但是函数运行时在部署槽中总是不可访问的!(这通常是当函数应用程序没有函数的存储帐户访问权限时),我从
{
"version": "2.0",
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
}
}
}至
{
"version": "2.0",
"extensions": {
"durableTask": {
"hubName": "staging"
}
},
"logging": {
"applicationInsights": {
"samplingExcludedTypes": "Request",
"samplingSettings": {
"isEnabled": true
}
}
}
}添加了任务集线器,微软现在强制使用部署槽https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-task-hubs?tabs=csharp
但是,Azure函数运行时仍然是不可访问的。我在网上做过研究,但功能应用程序的部署槽(有任务集线器)可用的文档较少。有人能帮我找错地方吗?这方面的任何线索都是非常有用的。
发布于 2022-08-10 06:33:01
尝试使用Azure "az功能应用程序部署“从本地计算机运行部署,以查看是否存在相同的问题。如果失败,问题应该放在应用程序的配置或新创建的部署槽上,而不是Azure管道。
发布于 2022-10-13 12:34:30
所以我们也遇到了这个问题。我们在我们的函数应用程序中有单独的Dev和Test插槽,我们的dev插槽随机抛出502个错误,而在门户中,这个函数经常显示为“不可访问”。而且,如果它有效的话,它处理作业的速度会很慢(比如几个小时,而不是应该花的几分钟)。
我们还能够使用新的资源和从本地机器部署代码来重现这种情况。
我们这边的问题是,我们确实为每个特定的时隙指定了任务集线器,但我们也有另一个(非持久的)函数资源,它的簿记保存在我们用于持久功能的同一个存储帐户中。我确信这与试图访问存储帐户中的簿记信息的功能之间的冲突有关,但我没有时间确认这一点。
为包含持久功能的资源创建一个新的存储帐户为我们解决了这个问题。最坏的情况是,如果这个问题仍然存在于不同的任务集线器中,您也可以考虑将每个时隙分配给它自己的存储帐户,这并不理想,但我想是向前迈进的一种方式。
任务枢纽声明它应该能够在一个存储帐户中处理多个集线器,所以如果在每个场景中都会发生这种情况,而且如果您正确地执行了所有步骤,那么这很可能是微软方面的一个错误。
https://stackoverflow.com/questions/73271856
复制相似问题