本文介绍了无法使用来自Ffltter的SAS令牌上载到Azure存储的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用SAS令牌将文件/数据上载到Azure存储。我使用以下方法在没有SAS令牌的情况下成功实现了这一点

当我生成一个SAS令牌并采用以下格式编写的连接字符串时,我收到一个解析错误

"BlobEndpoint=https://#.blob.core.windows.net/;QueueEndpoint=https://#.queue.core.windows.net/;FileEndpoint=https://#.file.core.windows.net/;TableEndpoint=https://#.table.core.windows.net/;SharedAccessSignature=sv=#"

尝试发送不带连接字符串的PUT请求,我的方法如下:

知道我是要上载到的存储帐户的所有者和存储Blob数据参与者,并且SAS令牌未过期,这会导致403 AuthorizationPermissionMisMatch错误。

¿<?xml version="1.0" encoding="utf-8"?><Error><Code>AuthorizationPermissionMismatch</Code><Message>This request is not authorized to perform this operation using this permission.
RequestId:bc7f5bb4-c01e-0066-0459-9a6d45000000
Time:2020-10-04T14:16:54.7302685Z</Message></Error>

有没有方法可以使用带有SAS令牌的连接字符串将数据从Ffltter上传到Azure?我怎样才能解决这个问题呢?

感谢任何帮助。

推荐答案

由于我们的Azure函数正在生成用户委派sas令牌,因此我们使用Azure上注册的应用作为服务主体。

已通过将存储Blob数据参与者存储Blob委托者角色分配给服务主体来解决此问题,以适应文件的添加。

这篇关于无法使用来自Ffltter的SAS令牌上载到Azure存储的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-27 21:16