如何在不创建或附加 Azure Java SDK 的情况下获取 AppendBlobItem

Posted

技术标签:

【中文标题】如何在不创建或附加 Azure Java SDK 的情况下获取 AppendBlobItem【英文标题】:How to get an AppendBlobItem without creating or appending in Azure Java SDK 【发布时间】:2021-07-25 03:21:22 【问题描述】:

我需要使用 Azure Java SDK v12 获取现有的 AppendBlobItem。 但是,AppendBlobAsyncClient 提供了创建和追加 BlobItem 的方法,而不是简单的 get。

所以我列出了 BlobItems,如下所示,但 BlobItem 不能转换为 AppendBlobItem。


BlobContainerClientBuilder containerClientBuilder = new BlobContainerClientBuilder().endpoint(blobEndpoint).containerName(containerName)
                                                    .credential(new AzureSasCredential(sasCredential));
BlobContainerAsyncClient containerClient = containerClientBuilder.buildAsyncClient();
    
ListBlobsOptions listOption = new ListBlobsOptions();
listOption.setPrefix(blobPrefix);
    
// BlobItem can't cast to AppendBlobItem
BlobItem currentBlobItem =(AppendBlobItem)containerClient.listBlobs(listOption).sort(Comparator.comparing(BlobItem::getName)).blockFirst();

有没有办法在不创建或添加的情况下获取 AppendBlobItem?或将 BlobItem 转换为 AppendBlobItem。

【问题讨论】:

这个问题有什么更新吗?:) 【参考方案1】:

不,‘AppendBlobItem’和‘BlobItem’都是直接继承自‘java.lang.Object’的。

它们之间实际上没有任何关系。

您可以查看上面的文档,“BlobItem”没有转换为“AppendBlobItem”的方法。

所以答案是否定的。

【讨论】:

感谢您的回答。我不会获取 AppendBlobitem,而是存储我附加的那个。

以上是关于如何在不创建或附加 Azure Java SDK 的情况下获取 AppendBlobItem的主要内容,如果未能解决你的问题,请参考以下文章