如何使用适用于Java v12的Azure SDK删除单个Blob文件?

2019年2月10日 24点热度 0条评论

如何使用适用于Java的Azure SDK v12删除单个Blob文件?
这是我到目前为止尝试过的。但这是行不通的。

顺便说一句示例代码是Kotlin:

val blobServiceClient: BlobServiceAsyncClient by lazy {
    BlobServiceClientBuilder()
        .endpoint(blobProperties.endpoint)
        .sasToken(blobProperties.sasToken)
        .buildAsyncClient()
}

val containerClient = blobServiceClient.getBlobContainerAsyncClient(blobProperties.containerName)

val blobName = "test.jpg"

val imageClient = containerClient.getBlobAsyncClient(blobName).blockBlobAsyncClient
val deleteImage = imageClient.delete()
println(deleteImage)

我们正在使用库“ azure-storage-blob-12.4.0.jar”

解决方案如下:

最后,一个简单的block()对我有用,这导致MonoFlatMap无限期地阻塞,直到接收到下一个信号为止。

containerClient.getBlobAsyncClient(blobName).delete().block()

如果您想阅读有关block()的更多信息,可以在这里找到:


https://projectreactor.io/docs/core/release/api/reactor/core/publisher/Mono.html#block--