【问题标题】:How to create/delete share access policy in azure blob storage using java?如何使用 java 在 azure blob 存储中创建/删除共享访问策略?
【发布时间】:2021-02-24 18:31:31
【问题描述】:

如何使用 java api 创建或删除共享访问策略。

无法获取使用 java SDK 创建访问策略的任何官方文档。

下面是我在项目中使用的 azure blob 依赖项

Gradle dependency: compile group: 'com.azure', name: 'azure-storage-blob', version: '12.8.0'

我找到了一些示例,但看起来它不属于我正在使用的 azure-storage-blob 依赖项。 https://www.programcreek.com/java-api-examples/?api=com.microsoft.azure.storage.blob.SharedAccessBlobPolicy

JAVA SDK 中是否有任何 api 用于创建/删除 blob 存储的共享访问策略

【问题讨论】:

  • 嗨 Mohit,如果我的帖子有帮助,请将其标记为答案。如果您及时标记答案,其他人将更愿意回答您的问题:)

标签: azure azure-storage azure-blob-storage azure-java-sdk


【解决方案1】:

试试这个:

import java.time.OffsetDateTime;
import java.util.ArrayList;
import com.azure.storage.blob.BlobContainerClient;
import com.azure.storage.blob.BlobContainerClientBuilder;
import com.azure.storage.blob.models.BlobAccessPolicy;
import com.azure.storage.blob.models.BlobSignedIdentifier;
import com.azure.storage.blob.models.PublicAccessType;

public class App {
        public static void main(String[] args) {
                String connstr = "<storage account conn str>";
                String containerName = "<container name>";

                BlobContainerClient blobContainerClient = new BlobContainerClientBuilder().connectionString(connstr)
                                .containerName(containerName).buildClient();

                BlobSignedIdentifier identifier = new BlobSignedIdentifier().setId("test policy")
                                .setAccessPolicy(new BlobAccessPolicy().setStartsOn(OffsetDateTime.now())
                                                .setExpiresOn(OffsetDateTime.now().plusDays(7))
                                                .setPermissions("cd")); //permission for create and delete

                ArrayList<BlobSignedIdentifier> identifiers = new ArrayList<BlobSignedIdentifier>();
                identifiers.add(identifier);
                blobContainerClient.setAccessPolicy(PublicAccessType.CONTAINER, identifiers);
        }       
}

结果:

【讨论】:

  • 不会创建共享访问策略吧?它将创建共享访问签名 (SAS) 我想创建可以编辑/删除的访问策略
  • @MohitSingh,嗨,有帮助吗?
  • 我也可以删除(测试策略)访问策略吗?我可以看到创建访问策略的代码帮助,但我们如何也可以删除它
  • @MohitSingh,您能否打开一个新案例并告诉我它的链接?看到后我马上为你研究:)
猜你喜欢
  • 2016-12-27
  • 2017-02-11
  • 2018-08-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-03-13
  • 2016-03-04
  • 2015-08-23
相关资源
最近更新 更多