java - Microsoft 文档在以编程方式生成 SAS 令牌时出现问题。错误:“签名字段格式不正确”
问题描述
我的任务是尝试通过使用 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
这是我正在使用的代码片段:图片
我正在使用正确的密钥、keyName 和 URI。我已经使用了搜索功能,但还没有找到解决方案。我错过了什么?
解决方案
问题与您的“stringToSign”变量有关。
以下应该有效:
String stringToSign = accountName + "\n" +
"r\n" +
"f\n" +
"o\n" +
start + "\n" +
expiry + "\n" +
"\n" +
"https\n" +
azureApiVersion+"\n";
PS:输入此令牌所需的开始/到期日期并使用最新的 api 版本。
推荐阅读
- freemarker - 需要显示日期的前四个字母(freemarker)
- javascript - 使用 vanilla JS 且没有包管理器的 vscode chrome 调试 - 未绑定断点
- r - 如何删除向量的每个第三个元素?
- excel - 在 DataPresenterExcelExporter.Export 期间打击 Excel 公式注入
- gitlab - 美人鱼类图只会变宽,忽略方向
- function - 如何在pyret中编写递归乘法函数
- c++ - 为什么输入验证会返回部分输入而不是将整个输入声明为错误
- xml - XML 模式 - 名称空间选择歧义
- c# - 从 D365 dataverse JSON 中检索值的最简单方法?
- java - AuthenticationManager 的扩展点