如何使用 java create/delete 在 Azure Blob 存储中共享访问策略?
How to create/delete share access policy in azure blob storage using java?
我如何使用 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 存储的共享访问策略
试试这个:
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);
}
}
结果:
我如何使用 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 存储的共享访问策略
试试这个:
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);
}
}
结果: