如何在不创建或附加 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的主要内容,如果未能解决你的问题,请参考以下文章

使用 Azure SDK C# 创建和删除可用性测试

Azure Storage Java API:检查存储帐户是不是支持安全传输或不使用 java SDK

如何使用 Azure 管理 SDK 创建内部负载均衡器 (ILB)?

(Azure SDK java) 如何使用 Java 程序启用/禁用每个功能

未从 blob 上的 azure java sdk 收到元数据字段

Azure 事件中心 - 如何使用官方 SDK 并行使用事件?