首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Azure中创建字符串签名blob到generateSharedAccessSignature

如何在Azure中创建字符串签名blob到generateSharedAccessSignature
EN

Stack Overflow用户
提问于 2020-11-17 22:27:55
回答 1查看 346关注 0票数 1

我正在尝试从string_to_sign为Azure集团创建hmac到generateSharedAccessSignature,但它给了我一个错误“签名字段格式不佳”。

下面是我的示例字符串

代码语言:javascript
复制
String data = sprintf("%s\n%s\n%s\n%s\n%s\n%s\n%s\n%s",
            ["r",
            "2020-11-17",
            "2020-11-19",
            "/blob/myAccount/test/member-pic/member-993.png",
            "",
            "",
            "",
            "2017-04-17"]);

  //get hmac string
 String data = base64Encode(mac.convert(utf8.encode(data)).bytes);
EN

回答 1

Stack Overflow用户

发布于 2020-11-24 05:17:27

我假设您正在使用JAVA作为编程语言,并且希望生成一个具有Read置换和2天有效时间的SAS令牌。如果是这样的话,您只需使用来生成它并直接获得一个SAS令牌,请尝试下面的代码:

代码语言:javascript
复制
            String connString = "<storage account connection string >";
            String containerName = "<container name>";
            String blobName = "<file name>";

            BlobServiceClient client = new BlobServiceClientBuilder().connectionString(connString).buildClient();
            BlobClient blobClient = client.getBlobContainerClient(containerName).getBlobClient(blobName);

            BlobSasPermission blobSasPermission = new BlobSasPermission().setReadPermission(true); // grant read
                                                                                                   // permission
                                                                                                   // onmy
            OffsetDateTime expiryTime = OffsetDateTime.now().plusDays(2); // 2 days to expire
            BlobServiceSasSignatureValues values = new BlobServiceSasSignatureValues(expiryTime, blobSasPermission)
                            .setStartTime(OffsetDateTime.now());

            System.out.println(blobClient.generateSas(values));

Maven依赖关系:

代码语言:javascript
复制
    <dependency>
      <groupId>com.azure</groupId>
      <artifactId>azure-storage-blob</artifactId>
      <version>12.9.0</version>
    </dependency>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64884275

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档