Azure 函数访问存储帐户
Posted
技术标签:
【中文标题】Azure 函数访问存储帐户【英文标题】:Azure function access to storage account 【发布时间】:2021-10-12 16:22:52 【问题描述】:就我而言,我想从 Azure 函数应用访问存储帐户。两者都在同一个订阅和资源组中。我已修改 IAM 策略以允许 azure 函数访问存储帐户。但是,我收到以下错误:
Azure.RequestFailedException:服务请求失败。 状态:403(此请求无权执行此操作。) 错误代码:授权失败
标题: 传输编码:分块 服务器:Microsoft-HTTPAPI/2.0 x-ms-request-id: *** x-ms-client-request-id:*** x-ms-error-code:授权失败 日期:2021 年 8 月 8 日星期日 19:21:00 GMT
在 Azure.Storage.Blobs.BlobRestClient.GetPropertiesAsync(字符串快照,字符串 versionId,Nullable1 timeout, String leaseId, String encryptionKey, String encryptionKeySha256, Nullable
1 加密算法,Nullable1 ifModifiedSince, Nullable
1 ifUnmodifiedSince,字符串 ifMatch,字符串 ifNoneMatch,字符串 ifTags,CancellationToken cancelToken)
在 Azure.Storage.Blobs.Specialized.BlobBaseClient.GetPropertiesInternal(BlobRequestConditions 条件,布尔异步,CancellationToken 取消令牌,字符串 operationName)
【问题讨论】:
您是否以自己的身份运行该函数?您是否在存储帐户上启用了防火墙规则? @pinkfloydx33,这就是我所做的: 请编辑您的问题并包含您允许的权限? 【参考方案1】:查看Microsoft documentation,了解我们如何使用 Azure 函数连接到存储
另外,我们需要检查以下几点:
在配置 -> 应用程序设置中添加 AzureWebJobsStorage 和存储连接字符串。
存储账户 > IAM > 添加角色分配,并为此类请求添加特殊权限:
-
另外,检查 Application Insights 日志流中的错误,发现您看到与 CORS 相关的任何内容。
【讨论】:
以上是关于Azure 函数访问存储帐户的主要内容,如果未能解决你的问题,请参考以下文章
带有 QueueTrigger 的 Azure 函数:是不是可以仅配置存储帐户 URL 并使用托管标识访问队列?
如何通过服务主体通过 Azure Key Vault 访问 Azure 存储帐户