问题描述
我需要使用 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。
解决方法
不,‘AppendBlobItem’和‘BlobItem’都是直接继承自‘java.lang.Object’。
他们之间实际上没有任何关系。
您可以查看上面的文档,“BlobItem”没有转换为“AppendBlobItem”的方法。
所以答案是否定的。