Microsoft 文档在以编程方式生成 SAS 令牌时出现问题。错误:“签名字段格式不正确”
Posted
技术标签:
【中文标题】Microsoft 文档在以编程方式生成 SAS 令牌时出现问题。错误:“签名字段格式不正确”【英文标题】:Issue with Microsoft documentation in generating SAS token programatically. Error: "Signature Fields Not Well Formed" 【发布时间】:2021-12-24 07:44:12 【问题描述】:我的任务是尝试通过使用 SAS 令牌从 Azure 检索文件,但文档似乎并没有引导我找到解决方案。当我尝试使用 Java 以编程方式生成令牌时,我收到错误“签名字段格式不正确”。
这是我引用的两份文档:
https://docs.microsoft.com/en-us/rest/api/storageservices/create-account-sas
https://docs.microsoft.com/en-us/rest/api/eventhub/generate-sas-token
这是我正在使用的代码 sn-p:image
我正在使用正确的密钥、密钥名称和 URI。我已经使用了搜索功能,但还没有找到解决方案。我错过了什么?
【问题讨论】:
您尝试使用 SAS 令牌读取哪个服务? 我们正在尝试读取 ADLS 【参考方案1】:问题与您的“stringToSign”变量有关。
以下应该有效:
String stringToSign = accountName + "\n" +
"r\n" +
"f\n" +
"o\n" +
start + "\n" +
expiry + "\n" +
"\n" +
"https\n" +
azureApiVersion+"\n";
PS:输入此令牌所需的开始/到期日期并使用最新的 api 版本。
【讨论】:
以上是关于Microsoft 文档在以编程方式生成 SAS 令牌时出现问题。错误:“签名字段格式不正确”的主要内容,如果未能解决你的问题,请参考以下文章
使用 Azure.Storage.Blobs 通过 .NET Core 3.1 生成 SAS 到期令牌
适用于 PHP 的 Microsoft Azure 和 SAS
ObjC,在以编程方式添加/删除后恢复为界面构建器自动布局约束?