gpt4 book ai didi

java - 如何为 container.listBlobs() 和 blob.exists() 生成单个帐户 SAS

转载 作者:行者123 更新时间:2023-12-02 01:54:58 30 4
gpt4 key购买 nike

我正在开发一个 Java 应用程序,它使用帐户 SAS(共享访问签名)URI 执行以下方法:

CLoudBlockBlob blob = container.getBlockBlobReference("tmp/test.json");
blob.exists();
blob.openInputStream();
blob.delete();
container.exists();
container.listBlobs().iterator().next();
container.getDirectoryReference("tmp/").listBlobs().iterator().next()

但是,我找不到生成单个帐户 SAS 来支持上面列出的所有方法的方法。

  1. 使用 SharedAccessAccountResourceType.OBJECT 生成的帐户 SAS:

执行成功:

CLoudBlockBlob blob = container.getBlockBlobReference("tmp/test.json");
blob.exists();
blob.openInputStream();
blob.delete();

失败并显示错误代码:AuthorizationResourceTypeMismatch

container.exists();
container.listBlobs().iterator().next();
container.getDirectoryReference("tmp/").listBlobs().iterator().next()
  • 使用 SharedAccessAccountResourceType.CONTAINER 生成的帐户 SAS:
  • 执行成功:

    container.exists();
    container.listBlobs().iterator().next();
    container.getDirectoryReference("tmp/").listBlobs().iterator().next()

    失败并显示错误代码:AuthorizationResourceTypeMismatch

    CLoudBlockBlob blob = container.getBlockBlobReference("tmp/test.json");
    blob.exists();
    blob.openInputStream();
    blob.delete();
  • 使用 SharedAccessAccountResourceType.SERVICE 生成的帐户 SAS失败并显示错误代码:上述所有方法的 AuthorizationResourceTypeMismatch。
  • 有没有办法生成适用于以下所有方法的单个帐户 SAS?

    CLoudBlockBlob blob = container.getBlockBlobReference("tmp/test.json");
    blob.exists();
    blob.openInputStream();
    blob.delete();
    container.exists();
    container.listBlobs().iterator().next();
    container.getDirectoryReference("tmp/").listBlobs().iterator().next()

    最佳答案

    是的,只需在 blob 和容器资源上添加正确的权限即可。请注意,列表与创建不同。

    您可以在这里找到它

    enter image description here

    然后添加权限

    enter image description here

    关于java - 如何为 container.listBlobs() 和 blob.exists() 生成单个帐户 SAS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57403202/

    30 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com