如何使用java在azure blob存储中创建/删除共享访问策略?
如何使用java api创建或删除共享访问策略 无法获取使用java SDK创建访问策略的任何正式文档 下面是我在project中使用的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
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,你能打开一个新的箱子并告诉我它的链接吗?一旦我看到它,我会立即为您研究:)