azure - 无法使用 BlobContainerAsyncClient 列出 blob

标签 azure azure-storage azure-blob-storage

我想使用 azure java sdk 版本 12.0.6 列出容器中的 blob。为了获得良好的性能,我使用 BlobContainerAsyncClient 类的异步方法。但我无法列出类中的 blob,并且没有收到任何错误。

我的代码

ListBlobsOptions options = new ListBlobsOptions()
            .setDetails(new BlobListDetails()
                .setRetrieveDeletedBlobs(true)
                .setRetrieveSnapshots(true));

        client.listBlobs(options).subscribe(blob ->
            System.out.printf("Name: %s, Directory? %b, Deleted? %b, Snapshot ID: %s%n",
                blob.getName(),
                blob.isPrefix(),
                blob.isDeleted(),
                blob.getSnapshot()));

最佳答案

关于该问题,请引用以下代码

ListBlobsOptions options = new ListBlobsOptions()
            .setDetails(new BlobListDetails()
                .setRetrieveDeletedBlobs(true)
                .setRetrieveSnapshots(true));
lient.listBlobs(options).doOnNext(blob ->
            System.out.printf("Name: %s, Directory? %b, Deleted? %b, Snapshot ID: %s%n",
                blob.getName(),
                blob.isPrefix(),
                blob.isDeleted(),
                blob.getSnapshot()))
             .blockLast();

enter image description here

此外,不能同时调用 subscribe()block()。当您调用 subscribe() 时,您会返回一个 Disposable ,它允许您取消异步操作,但您不能阻止该对象。如果您想确保有问题的方法 block ,您只需在操作上调用 block() (具有 block() 方法的类型是 Mono 或者可能是 Flux)。

关于azure - 无法使用 BlobContainerAsyncClient 列出 blob,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61690565/

相关文章:

azure - 用于从 azure Active Directory 安全组中删除成员的 api url

asp.net - 无法通过 asp.net core 服务器端将文件 ~200mb 上传到 azure blob 存储

visual-studio-2010 - Azure 项目未加载

azure - ARM模板: how to read output result in array format

python-3.x - BlockBlobService 类位于 Python Azure 模块中的什么位置?

c# - 无法将 azure storage api nuget 包添加到我的控制台应用程序

java - 从 Maven 中央存储库中删除了 Azure Blob 存储 12.5.0 依赖项

c# - 如何在Windows Azure中删除blob

c# - 如何避免 Azure 持久函数中的 PopReceiptMismatch 错误

python - mktime 参数超出范围