Azure 持久功能 : 403 and 409 errors when writing internally to blob/queue/table. 我需要 "Storage Account Contributor"吗?

标签 azure azure-functions azure-storage azure-durable-functions

我在企业环境中拥有这个 Azure Function 应用程序,该应用程序已经存在相当长一段时间了,并且似乎按预期工作。 它使用用户管理的身份;除此之外,它还允许它访问存储资源。

到目前为止,一切都运行良好,因为该 Function 应用程序是由 Http 触发器或服务总线触发器触发的,并访问一些 API 来执行任务。

现在我一直在尝试为其添加耐用功能。失败!

对该函数的 http 调用有效,并且该函数开始执行其内部操作,但最终失败。端到端调用在这些类型的内部调用上显示错误 403 和 409:

  • XXX.blob.core.windows.net PUT
  • XXX..core.windows.net POST
  • XXX.队列.core.windows.net POST

这让我想知道:我的用户身份的权限是否足够?

我可以在存储资源的 IAM 中看到该身份确实具有以下角色:

  • 存储 Blob 数据贡献者
  • 存储队列数据贡献者
  • 存储表数据贡献者

我对这一切的知识库是这个手册页:https://learn.microsoft.com/en-us/azure/azure-functions/durable/durable-functions-configure-durable-functions-with-credentials 该页面似乎证实了这些角色就足够了。

我的方向正确吗?

最佳答案

第二天,该问题“自行解决”。

可能已通过以下软件包之一的不相关升级得到解决:

  • Microsoft.Azure.Functions.Extensions 升级至 1.1.0
  • Microsoft.Azure.WebJobs.Extensions 4.0.1

不幸的是,我无法提供以前的版本(导致问题的版本)。

不过,我在 StackOverflow 上发现了一篇文章,其中有人通过为托管身份赋予“过度杀戮”角色来解决类似的问题。我的意思是,对于文档规定的最小角色来说,有些过分了。

这让我觉得函数库中的某个时刻可能存在错误,该错误已被修复。

要么是这样,要么是 Azure 应用更改或部署资源时出现了奇怪的延迟(但 24 小时似乎很疯狂)。

抱歉,我无法提供更多信息。

关于Azure 持久功能 : 403 and 409 errors when writing internally to blob/queue/table. 我需要 "Storage Account Contributor"吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/77095628/

相关文章:

azure - 如何在json文件中引用环境变量

azure - 从 Powershell 获取实际 Azure Function 端点的列表

powershell - 设置-Azure订阅 : Cannot bind parameter 'Certificate' becuase of illegal characters error

python - 生成的 Azure SAS 下载链接上的签名不匹配?

azure - 如何使azure应用程序服务信任OnPrem CA颁发的证书?

android - 在azure iot Central的执行命令链接中哪里可以找到组件 key

c# - SignalR HubConnection 未从无服务器 Azure SignalR 服务接收消息

c# - 重命名 blob 然后保存新的

c# - Azure 环境上的 ConfigurationManager

azure - 如何使用 azure Devops REST API 从提交 ID 获取分支名称?