如何使用java在azure blob存储中创建/删除共享访问策略?

如何使用java在azure blob存储中创建/删除共享访问策略?,azure,azure-storage,azure-storage-blobs,azure-java-sdk,Azure,Azure Storage,Azure Storage Blobs,Azure Java Sdk,如何使用java api创建或删除共享访问策略 无法获取使用java SDK创建访问策略的任何正式文档 下面是我在project中使用的azure blob依赖项 Gradle dependency: compile group: 'com.azure', name: 'azure-storage-blob', version: '12.8.0' 我找到了一些示例,但看起来它不属于我正在使用的azure存储blob依赖项。 JAVA SDK中是否有用于创建/删除blob存储的共享访问策略的a

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

无法获取使用java SDK创建访问策略的任何正式文档

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

Gradle dependency: compile group: 'com.azure', name: 'azure-storage-blob', version: '12.8.0'
我找到了一些示例,但看起来它不属于我正在使用的azure存储blob依赖项。

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

试试这个:

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);
        }       
}
import java.time.OffsetDateTime;
导入java.util.ArrayList;
导入com.azure.storage.blob.BlobContainerClient;
导入com.azure.storage.blob.BlobContainerClientBuilder;
导入com.azure.storage.blob.models.BlobAccessPolicy;
导入com.azure.storage.blob.models.BlobSignedIdentifier;
导入com.azure.storage.blob.models.PublicAccessType;
公共类应用程序{
公共静态void main(字符串[]args){
字符串connstr=“”;
字符串containerName=“”;
BlobContainerClient BlobContainerClient=new BlobContainerClient Builder()。连接字符串(connstr)
.containerName(containerName).buildClient();
BlobSignedIdentifier标识符=新的BlobSignedIdentifier().setId(“测试策略”)
.setAccessPolicy(新的BlobAccessPolicy().setStartsOn(OffsetDateTime.now())
.setExpiresOn(OffsetDateTime.now().plusDays(7))
.setPermissions(“cd”);//创建和删除权限
ArrayList标识符=新的ArrayList();
标识符。添加(标识符);
blobContainerClient.setAccessPolicy(PublicAccessType.CONTAINER,标识符);
}       
}
结果:


你好,莫希特,如果我的帖子有帮助,请将其标记为答案。如果您及时标记答案,其他人将更愿意回答您的问题:)这不会创建共享访问策略,对吗?它将创建共享访问签名(SAS),我希望创建可以编辑的访问策略/delete@MohitSingh,您好,这有帮助吗?我可以同时删除(测试策略)访问策略吗?我可以看到代码帮助创建访问策略,但我们如何删除它also@MohitSingh,你能打开一个新的箱子并告诉我它的链接吗?一旦我看到它,我会立即为您研究:)