AppendBlobAsyncClient Clase
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobAsyncClientBase - com.
azure. storage. blob. specialized. AppendBlobAsyncClient
- com.
- com.
public final class AppendBlobAsyncClient
extends BlobAsyncClientBase
Cliente a un blob en anexos. Solo se puede crear una instancia a través de o buildAppendBlobAsyncClient() a través del método getAppendBlobAsyncClient(). Esta clase no contiene ningún estado sobre un blob determinado, sino que es una manera cómoda de enviar las solicitudes adecuadas al recurso en el servicio.
Este cliente contiene operaciones en un blob. Las operaciones de un contenedor están disponibles en BlobContainerAsyncClienty las operaciones del servicio están disponibles en BlobServiceAsyncClient.
Consulte Azure Docs para más información.
Tenga en cuenta que este cliente es un cliente asincrónico que devuelve respuestas reactivas del proyecto Spring Reactor Core (https://projectreactor.io/). Llamar a los métodos de este cliente NO iniciará la operación de red real, hasta .subscribe()
que se llame a en la respuesta reactiva. Simplemente puede convertir una de estas respuestas a un objeto CompletableFuture a través Mono#toFuture()de .
Resumen del campo
Modificador y tipo | Campo y descripción |
---|---|
static final int |
MAX_APPEND_BLOCK_BYTES
Obsoleto Indica el número máximo de bytes que se pueden enviar en una llamada a append |
static final int |
MAX_BLOCKS
Obsoleto
use getMaxBlocks().
Indica el número máximo de bloques permitidos en un blob en anexos. |
Resumen del método
Métodos heredados de BlobAsyncClientBase
Métodos heredados de java.lang.Object
Detalles del campo
MAX_APPEND_BLOCK_BYTES
@Deprecated
public static final int MAX_APPEND_BLOCK_BYTES
Obsoleto
Indica el número máximo de bytes que se pueden enviar en una llamada a appendBlock.
MAX_BLOCKS
@Deprecated
public static final int MAX_BLOCKS
Obsoleto
Indica el número máximo de bloques permitidos en un blob en anexos.
Detalles del método
appendBlock
public Mono
Confirma un nuevo bloque de datos al final del blob en anexos existente.
Tenga en cuenta que los datos pasados deben reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux
debe producir los mismos datos cada vez que se suscribe. Para las versiones de servicio 2022-11-02 y posteriores, el tamaño máximo de bloque es de 100 MB. En las versiones anteriores, el tamaño máximo de bloque es de 4 MB. Para más información, consulte Azure Docs.
Ejemplos de código
client.appendBlock(data, length).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parámetros:
Flux
debe reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux debe generar los mismos datos cada vez que se suscribe.
Flux
Devoluciones:
appendBlockFromUrl
public Mono
Confirma un nuevo bloque de datos de otro blob al final de este blob en anexos.
Ejemplos de código
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parámetros:
Devoluciones:
appendBlockFromUrlWithResponse
public Mono
Confirma un nuevo bloque de datos de otro blob al final de este blob en anexos.
Ejemplos de código
AppendBlobRequestConditions appendBlobRequestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
BlobRequestConditions modifiedRequestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.appendBlockFromUrlWithResponse(new AppendBlobAppendBlockFromUrlOptions(sourceUrl)
.setSourceRange(new BlobRange(offset, count))
.setDestinationRequestConditions(appendBlobRequestConditions)
.setSourceRequestConditions(modifiedRequestConditions)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parámetros:
Devoluciones:
appendBlockFromUrlWithResponse
public Mono
Confirma un nuevo bloque de datos de otro blob al final de este blob en anexos.
Ejemplos de código
AppendBlobRequestConditions appendBlobRequestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
BlobRequestConditions modifiedRequestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.appendBlockFromUrlWithResponse(sourceUrl, new BlobRange(offset, count), null,
appendBlobRequestConditions, modifiedRequestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parámetros:
Devoluciones:
appendBlockWithResponse
public Mono
Confirma un nuevo bloque de datos al final del blob en anexos existente.
Tenga en cuenta que los datos pasados deben reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux
debe generar los mismos datos cada vez que se suscriba. Para las versiones de servicio 2022-11-02 y posteriores, el tamaño máximo de bloque es de 100 MB. En el caso de las versiones anteriores, el tamaño máximo de bloque es de 4 MB. Para más información, consulte Azure Docs.
Ejemplos de código
byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
client.appendBlockWithResponse(data, length, md5, requestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parámetros:
Flux
debe reproducirse si los reintentos están habilitados (el valor predeterminado). En otras palabras, Flux debe generar los mismos datos cada vez que se suscribe.
Flux
Devoluciones:
create
public Mono
Crea un blob en anexos de longitud 0. Llame a appendBlock para anexar datos a un blob en anexos. De forma predeterminada, este método no sobrescribirá un blob existente.
Ejemplos de código
client.create().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Devoluciones:
create
public Mono
Crea un blob en anexos de longitud 0. Llame a appendBlock para anexar datos a un blob en anexos.
Ejemplos de código
boolean overwrite = false; // Default behavior
client.create(overwrite).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Parámetros:
Devoluciones:
createIfNotExists
public Mono
Crea un blob en anexos de longitud 0 si no existe. Llame a appendBlock para anexar datos a un blob en anexos.
Ejemplos de código
client.createIfNotExists().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Devoluciones:
createIfNotExistsWithResponse
public Mono
Crea un blob en anexos de longitud 0 si no existe. Llame a appendBlock para anexar datos a un blob en anexos.
Ejemplos de código
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
Map<String, String> tags = Collections.singletonMap("tag", "value");
client.createIfNotExistsWithResponse(new AppendBlobCreateOptions().setHeaders(headers)
.setMetadata(metadata).setTags(tags)).subscribe(response -> {
if (response.getStatusCode() == 409) {
System.out.println("Already exists.");
} else {
System.out.println("successfully created.");
}
});
Parámetros:
Devoluciones:
createWithResponse
public Mono
Crea un blob en anexos de longitud 0. Llame a appendBlock para anexar datos a un blob en anexos.
Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).
Ejemplos de código
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.createWithResponse(headers, metadata, requestConditions).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parámetros:
Devoluciones:
createWithResponse
public Mono
Crea un blob en anexos de longitud 0. Llame a appendBlock para anexar datos a un blob en anexos.
Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).
Ejemplos de código
BlobHttpHeaders headers = new BlobHttpHeaders()
.setContentType("binary")
.setContentLanguage("en-US");
Map<String, String> metadata = Collections.singletonMap("metadata", "value");
Map<String, String> tags = Collections.singletonMap("tag", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.createWithResponse(new AppendBlobCreateOptions().setHeaders(headers).setMetadata(metadata)
.setTags(tags).setRequestConditions(requestConditions)).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parámetros:
Devoluciones:
getCustomerProvidedKeyAsyncClient
public AppendBlobAsyncClient getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)
Crea un nuevo AppendBlobAsyncClient con el customerProvidedKey
especificado.
Invalidaciones:
AppendBlobAsyncClient.getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)Parámetros:
null
para que no use ninguna clave proporcionada por el cliente.
Devoluciones:
customerProvidedKey
.getEncryptionScopeAsyncClient
public AppendBlobAsyncClient getEncryptionScopeAsyncClient(String encryptionScope)
Crea un nuevo AppendBlobAsyncClient con el encryptionScope
especificado.
Invalidaciones:
AppendBlobAsyncClient.getEncryptionScopeAsyncClient(String encryptionScope)Parámetros:
null
para que no use ningún ámbito de cifrado.
Devoluciones:
encryptionScope
.getMaxAppendBlockBytes
public int getMaxAppendBlockBytes()
Obtiene el número máximo de bytes de bloque anexados en función de la versión del servicio que se usa. Las versiones de servicio 2022-11-02 y posteriores admiten la carga de bytes de bloque de hasta 100 MB, todas las versiones de servicio anteriores admiten hasta 4 MB.
Devoluciones:
getMaxBlocks
public int getMaxBlocks()
Obtenga el número máximo de bloques permitidos en un blob en anexos.
Devoluciones:
seal
public Mono
Sella un blob en anexos, lo que hace que sea de solo lectura. Se producirá un error en las anexaciones posteriores.
Ejemplos de código
client.seal().subscribe(response -> System.out.println("Sealed AppendBlob"));
Devoluciones:
sealWithResponse
public Mono
Sella un blob en anexos, lo que hace que sea de solo lectura. Se producirá un error en las anexaciones posteriores.
Ejemplos de código
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions))
.subscribe(response -> System.out.println("Sealed AppendBlob"));
Parámetros:
Devoluciones:
Se aplica a
Azure SDK for Java