Class AzureBlobStorageReactiveOperations
java.lang.Object
io.micronaut.objectstorage.azure.AzureBlobStorageReactiveOperations
- All Implemented Interfaces:
ReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>
@EachBean(com.azure.storage.blob.BlobContainerAsyncClient.class)
@Requires(beans=com.azure.storage.blob.BlobContainerAsyncClient.class) @Requires(condition=AzureBlobStorageEnabledCondition.class)
public final class AzureBlobStorageReactiveOperations
extends Object
implements ReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>
Reactive Azure Blob Storage operations backed by Azure async blob clients.
- Since:
- 3.0.0
- Author:
- Álvaro Sánchez-Mariscal
-
Constructor Summary
ConstructorsConstructorDescriptionAzureBlobStorageReactiveOperations(com.azure.storage.blob.BlobContainerAsyncClient blobContainerAsyncClient) -
Method Summary
Modifier and TypeMethodDescription@NonNull org.reactivestreams.Publisher<Void> Copies an object stored atsourceKeytodestinationKey, within the same object storage (bucket/container).@NonNull org.reactivestreams.Publisher<com.azure.core.http.rest.Response<Void>> Deletes an object from the object storage.@NonNull org.reactivestreams.Publisher<Boolean> Checks whether an entry with the given key exists in the object storage.Lists the objects that exist in the object storage.@NonNull org.reactivestreams.Publisher<ListObjectsResponse> listObjects(@NonNull ListObjectsRequest request) Lists a page of objects that exist in the object storage.<E extends ObjectStorageEntry<?>>
@NonNull org.reactivestreams.Publisher<Optional<E>> Gets the object from object storage.@NonNull org.reactivestreams.Publisher<UploadResponse<com.azure.storage.blob.models.BlockBlobItem>> upload(@NonNull UploadRequest request) Uploads an object to the object storage.@NonNull org.reactivestreams.Publisher<UploadResponse<com.azure.storage.blob.models.BlockBlobItem>> upload(@NonNull UploadRequest request, @NonNull Consumer<com.azure.storage.blob.options.BlobParallelUploadOptions> requestConsumer) Uploads an object to the object storage.
-
Constructor Details
-
AzureBlobStorageReactiveOperations
public AzureBlobStorageReactiveOperations(@Parameter com.azure.storage.blob.BlobContainerAsyncClient blobContainerAsyncClient)
-
-
Method Details
-
upload
public @NonNull org.reactivestreams.Publisher<UploadResponse<com.azure.storage.blob.models.BlockBlobItem>> upload(@NonNull UploadRequest request) Description copied from interface:ReactiveObjectStorageOperationsUploads an object to the object storage. If there is an existing entry, it will be updated.- Specified by:
uploadin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
request- the upload request- Returns:
- a publisher that emits the upload response
-
upload
public @NonNull org.reactivestreams.Publisher<UploadResponse<com.azure.storage.blob.models.BlockBlobItem>> upload(@NonNull UploadRequest request, @NonNull Consumer<com.azure.storage.blob.options.BlobParallelUploadOptions> requestConsumer) Description copied from interface:ReactiveObjectStorageOperationsUploads an object to the object storage. If there is an existing entry, it will be updated.- Specified by:
uploadin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
request- the upload requestrequestConsumer- upload request builder consumer- Returns:
- a publisher that emits the upload response
-
retrieve
public <E extends ObjectStorageEntry<?>> @NonNull org.reactivestreams.Publisher<Optional<E>> retrieve(@NonNull String key) Description copied from interface:ReactiveObjectStorageOperationsGets the object from object storage.- Specified by:
retrievein interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Type Parameters:
E- an instance ofObjectStorageEntry- Parameters:
key- the object path in the format/foo/bar/file- Returns:
- a publisher that emits an optional object storage entry
-
delete
public @NonNull org.reactivestreams.Publisher<com.azure.core.http.rest.Response<Void>> delete(@NonNull String key) Description copied from interface:ReactiveObjectStorageOperationsDeletes an object from the object storage.- Specified by:
deletein interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
key- object path in the format/foo/bar/file- Returns:
- a publisher that emits the cloud vendor-specific delete response
-
exists
Description copied from interface:ReactiveObjectStorageOperationsChecks whether an entry with the given key exists in the object storage.- Specified by:
existsin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
key- object path in the format/foo/bar/file- Returns:
- a publisher that emits true if the entry exists, false otherwise
-
listObjects
Description copied from interface:ReactiveObjectStorageOperationsLists the objects that exist in the object storage.- Specified by:
listObjectsin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Returns:
- a publisher that emits the full set of keys
-
listObjects
public @NonNull org.reactivestreams.Publisher<ListObjectsResponse> listObjects(@NonNull ListObjectsRequest request) Description copied from interface:ReactiveObjectStorageOperationsLists a page of objects that exist in the object storage.- Specified by:
listObjectsin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
request- the paginated listing request- Returns:
- a publisher that emits the current page of object keys
-
copy
public @NonNull org.reactivestreams.Publisher<Void> copy(@NonNull String sourceKey, @NonNull String destinationKey) Description copied from interface:ReactiveObjectStorageOperationsCopies an object stored atsourceKeytodestinationKey, within the same object storage (bucket/container). If the destination exists, it will be overwritten.- Specified by:
copyin interfaceReactiveObjectStorageOperations<com.azure.storage.blob.options.BlobParallelUploadOptions, com.azure.storage.blob.models.BlockBlobItem, com.azure.core.http.rest.Response<Void>>- Parameters:
sourceKey- the key of the source objectdestinationKey- the key of the destination object- Returns:
- a completion-only publisher
-