0
我想删除使用Java Azure Storage Library 4.0.0的Azure存储容器一些斑点,为解释here。看起来这应该是一件容易的事,所以我认为我做错了什么,如下面的代码不会删除任何东西。容器中有4个blob。的Java Azure存储客户端 - 删除斑点
String connectionString = String.format(
"DefaultEndpointsProtocol=https;" +
"AccountName=%s;" +
"AccountKey=%s", accountName, accountKey);
CloudStorageAccount account =
CloudStorageAccount.parse(connectionString);
CloudBlobClient client = account.createCloudBlobClient();
CloudBlobContainer container =
client.getContainerReference("myContainer");
// This loop iterates 4 times, as expected
for (ListBlobItem item : container.listBlobs("prefix/", true)) {
CloudBlockBlob blob = container.
getBlockBlobReference(item.getUri().toString());
if (blob.deleteIfExists()) {
// never hits
}
}
不引发异常,但blob仍然存在。当我打电话delete()
代替deleteIfExists()
,我得到一个StorageException:“指定的BLOB不存在。”