AppendBlobClient Clase
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. specialized. AppendBlobClient
- com.
- com.
public final class AppendBlobClient
extends BlobClientBase
Cliente a un blob en anexos. Solo se puede crear una instancia a través de o SpecializedBlobClientBuilder a través del método getAppendBlobClient(). Esta clase no contiene ningún estado sobre un blob determinado, sino que es una forma 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 BlobContainerClienty las operaciones del servicio están disponibles en BlobServiceClient.
Consulte Azure Docs para más información.
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 BlobClientBase
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 AppendBlobItem appendBlock(InputStream data, long length)
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
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlock(data, length).getBlobCommittedBlockCount());
Parámetros:
Flux
Devoluciones:
appendBlockFromUrl
public AppendBlobItem appendBlockFromUrl(String sourceUrl, BlobRange sourceRange)
Confirma un nuevo bloque de datos de otro blob al final de este blob en anexos.
Ejemplos de código
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).getBlobCommittedBlockCount());
Parámetros:
Devoluciones:
appendBlockFromUrlWithResponse
public Response
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));
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrlWithResponse(new AppendBlobAppendBlockFromUrlOptions(sourceUrl)
.setSourceRange(new BlobRange(offset, count))
.setDestinationRequestConditions(appendBlobRequestConditions)
.setSourceRequestConditions(modifiedRequestConditions), timeout,
context).getValue().getBlobCommittedBlockCount());
Parámetros:
Devoluciones:
appendBlockFromUrlWithResponse
public Response
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));
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrlWithResponse(sourceUrl, new BlobRange(offset, count), null,
appendBlobRequestConditions, modifiedRequestConditions, timeout,
context).getValue().getBlobCommittedBlockCount());
Parámetros:
Devoluciones:
appendBlockWithResponse
public Response
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
byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));
AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions()
.setAppendPosition(POSITION)
.setMaxSize(maxSize);
Context context = new Context("key", "value");
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockWithResponse(data, length, md5, requestConditions, timeout, context)
.getValue().getBlobCommittedBlockCount());
Parámetros:
Flux
Devoluciones:
create
public AppendBlobItem create()
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
System.out.printf("Created AppendBlob at %s%n", client.create().getLastModified());
Devoluciones:
create
public AppendBlobItem create(boolean overwrite)
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 value
System.out.printf("Created AppendBlob at %s%n", client.create(overwrite).getLastModified());
Parámetros:
Devoluciones:
createIfNotExists
public AppendBlobItem createIfNotExists()
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();
System.out.println("Created AppendBlob");
Devoluciones:
createIfNotExistsWithResponse
public Response
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("tags", "value");
Context context = new Context("key", "value");
Response<AppendBlobItem> response = client.createIfNotExistsWithResponse(new AppendBlobCreateOptions()
.setHeaders(headers).setMetadata(metadata).setTags(tags), timeout, context);
if (response.getStatusCode() == 409) {
System.out.println("Already existed.");
} else {
System.out.printf("Create completed with status %d%n", response.getStatusCode());
}
Parámetros:
Devoluciones:
createWithResponse
public Response
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));
Context context = new Context("key", "value");
System.out.printf("Created AppendBlob at %s%n",
client.createWithResponse(headers, metadata, requestConditions, timeout, context).getValue()
.getLastModified());
Parámetros:
Devoluciones:
createWithResponse
public Response
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("tags", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions()
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
Context context = new Context("key", "value");
System.out.printf("Created AppendBlob at %s%n",
client.createWithResponse(new AppendBlobCreateOptions().setHeaders(headers).setMetadata(metadata)
.setTags(tags).setRequestConditions(requestConditions), timeout, context).getValue()
.getLastModified());
Parámetros:
Devoluciones:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream()
Crea y abre un flujo de salida para escribir datos en el blob en anexos. Si el blob ya existe en el servicio, los nuevos datos se anexarán al blob existente.
Devoluciones:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(boolean overwrite)
Crea y abre un flujo de salida para escribir datos en el blob en anexos. Si se especifica true
overwrite , el blob existente se eliminará y se volverá a crear, en caso de que existan datos en el blob. Si se especifica false
overwrite , los nuevos datos se anexarán al blob existente.
Parámetros:
Devoluciones:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(AppendBlobRequestConditions requestConditions)
Crea y abre un flujo de salida para escribir datos en el blob en anexos.
Parámetros:
Devoluciones:
getCustomerProvidedKeyClient
public AppendBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Crea un nuevo AppendBlobClient con el customerProvidedKey
especificado.
Invalidaciones:
AppendBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parámetros:
null
para que no use ninguna clave proporcionada por el cliente.
Devoluciones:
customerProvidedKey
.getEncryptionScopeClient
public AppendBlobClient getEncryptionScopeClient(String encryptionScope)
Crea un nuevo AppendBlobClient con el encryptionScope
especificado.
Invalidaciones:
AppendBlobClient.getEncryptionScopeClient(String encryptionScope)Parámetros:
null
para que no use ningún ámbito de cifrado.
Devoluciones:
encryptionScope
.getMaxAppendBlockBytes
public int getMaxAppendBlockBytes()
Obtenga 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 void seal()
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();
System.out.println("Sealed AppendBlob");
sealWithResponse
public Response
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));
Context context = new Context("key", "value");
client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions), timeout, context);
System.out.println("Sealed AppendBlob");
Parámetros:
Devoluciones:
Se aplica a
Azure SDK for Java