Compartir a través de


BlockBlobClient Clase

public final class BlockBlobClient
extends BlobClientBase

Cliente a un blob en bloques. Solo se puede crear una instancia a través de o SpecializedBlobClientBuilder a través del método getBlockBlobClient(). 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.

Consulte Azure Docs para más información.

Resumen del campo

Modificador y tipo Campo y descripción
static final int MAX_BLOCKS

Indica el número máximo de bloques permitidos en un blob en bloques.

static final int MAX_STAGE_BLOCK_BYTES

Obsoleto

Indica el número máximo de bytes que se pueden enviar en una llamada al bloque de fase.

static final long MAX_STAGE_BLOCK_BYTES_LONG

Indica el número máximo de bytes que se pueden enviar en una llamada al bloque de fase.

static final int MAX_UPLOAD_BLOB_BYTES

Obsoleto

Indica el número máximo de bytes que se pueden enviar en una llamada para cargar.

static final long MAX_UPLOAD_BLOB_BYTES_LONG

Indica el número máximo de bytes que se pueden enviar en una llamada para cargar.

Resumen del método

Modificador y tipo Método y descripción
BlockBlobItem commitBlockList(List<String> base64BlockIds)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob.

BlockBlobItem commitBlockList(List<String> base64BlockIds, boolean overwrite)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob.

Response<BlockBlobItem> commitBlockListWithResponse(BlockBlobCommitBlockListOptions options, Duration timeout, Context context)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob.

Response<BlockBlobItem> commitBlockListWithResponse(List<String> base64BlockIds, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, BlobRequestConditions requestConditions, Duration timeout, Context context)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob.

BlobOutputStream getBlobOutputStream()

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlobOutputStream getBlobOutputStream(boolean overwrite)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, BlobRequestConditions requestConditions)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Crea un nuevo BlockBlobClient con el customerProvidedKey especificado.

BlockBlobClient getEncryptionScopeClient(String encryptionScope)

Crea un nuevo BlockBlobClient con el encryptionScope especificado.

BlockList listBlocks(BlockListType listType)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado.

Response<BlockList> listBlocksWithResponse(BlockListType listType, String leaseId, Duration timeout, Context context)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado.

Response<BlockList> listBlocksWithResponse(BlockBlobListBlocksOptions options, Duration timeout, Context context)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado.

SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)

Abre un canal de bytes que se puede buscar en modo de solo escritura para cargar el blob.

void stageBlock(String base64BlockId, BinaryData data)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList.

void stageBlock(String base64BlockId, InputStream data, long length)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList.

void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL.

Response<Void> stageBlockFromUrlWithResponse(BlockBlobStageBlockFromUrlOptions options, Duration timeout, Context context)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL.

Response<Void> stageBlockFromUrlWithResponse(String base64BlockId, String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, String leaseId, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL.

Response<Void> stageBlockWithResponse(BlockBlobStageBlockOptions options, Duration timeout, Context context)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList.

Response<Void> stageBlockWithResponse(String base64BlockId, InputStream data, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Carga el bloque especificado en el "área de ensayo" del blob en bloques para que se confirme posteriormente mediante una llamada a commitBlockList.

BlockBlobItem upload(BinaryData data)

Crea un nuevo blob en bloques.

BlockBlobItem upload(BinaryData data, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

BlockBlobItem upload(InputStream data, long length)

Crea un nuevo blob en bloques.

BlockBlobItem upload(InputStream data, long length, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

BlockBlobItem uploadFromUrl(String sourceUrl)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

Response<BlockBlobItem> uploadFromUrlWithResponse(BlobUploadFromUrlOptions options, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

Response<BlockBlobItem> uploadWithResponse(BlockBlobSimpleUploadOptions options, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

Response<BlockBlobItem> uploadWithResponse(InputStream data, long length, BlobHttpHeaders headers, Map<String,String> metadata, AccessTier tier, byte[] contentMd5, BlobRequestConditions requestConditions, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

Métodos heredados de BlobClientBase

abortCopyFromUrl abortCopyFromUrlWithResponse beginCopy beginCopy beginCopy copyFromUrl copyFromUrlWithResponse copyFromUrlWithResponse createSnapshot createSnapshotWithResponse delete deleteIfExists deleteIfExistsWithResponse deleteImmutabilityPolicy deleteImmutabilityPolicyWithResponse deleteWithResponse download downloadContent downloadContentWithResponse downloadContentWithResponse downloadStream downloadStreamWithResponse downloadToFile downloadToFile downloadToFileWithResponse downloadToFileWithResponse downloadToFileWithResponse downloadWithResponse exists existsWithResponse generateSas generateSas generateUserDelegationSas generateUserDelegationSas getAccountInfo getAccountInfoWithResponse getAccountName getAccountUrl getBlobName getBlobUrl getContainerClient getContainerName getCustomerProvidedKey getCustomerProvidedKeyClient getEncryptionScope getEncryptionScopeClient getHttpPipeline getProperties getPropertiesWithResponse getServiceVersion getSnapshotClient getSnapshotId getTags getTagsWithResponse getVersionClient getVersionId isSnapshot openInputStream openInputStream openInputStream openInputStream openQueryInputStream openQueryInputStreamWithResponse openSeekableByteChannelRead query queryWithResponse setAccessTier setAccessTierWithResponse setAccessTierWithResponse setHttpHeaders setHttpHeadersWithResponse setImmutabilityPolicy setImmutabilityPolicyWithResponse setLegalHold setLegalHoldWithResponse setMetadata setMetadataWithResponse setTags setTagsWithResponse undelete undeleteWithResponse

Métodos heredados de java.lang.Object

Detalles del campo

MAX_BLOCKS

public static final int MAX_BLOCKS

Indica el número máximo de bloques permitidos en un blob en bloques.

MAX_STAGE_BLOCK_BYTES

@Deprecated
public static final int MAX_STAGE_BLOCK_BYTES

Obsoleto

Indica el número máximo de bytes que se pueden enviar en una llamada a stageBlock.

MAX_STAGE_BLOCK_BYTES_LONG

public static final long MAX_STAGE_BLOCK_BYTES_LONG

Indica el número máximo de bytes que se pueden enviar en una llamada a stageBlock.

MAX_UPLOAD_BLOB_BYTES

@Deprecated
public static final int MAX_UPLOAD_BLOB_BYTES

Obsoleto

Indica el número máximo de bytes que se pueden enviar en una llamada para cargar.

MAX_UPLOAD_BLOB_BYTES_LONG

public static final long MAX_UPLOAD_BLOB_BYTES_LONG

Indica el número máximo de bytes que se pueden enviar en una llamada para cargar.

Detalles del método

commitBlockList

public BlockBlobItem commitBlockList(List base64BlockIds)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob. Para poder escribirse como parte de un blob, un bloque debe haberse escrito correctamente en el servidor en una operación stageBlock anterior. Puede llamar a commitBlockList para actualizar un blob cargando solo los bloques que han cambiado y, a continuación, confirmando los bloques nuevos y existentes juntos. Los bloques no especificados en la lista de bloques y eliminados permanentemente. Para más información, consulte Azure Docs.

Ejemplos de código

System.out.printf("Committing block list completed. Last modified: %s%n",
     client.commitBlockList(Collections.singletonList(base64BlockId)).getLastModified());

Parámetros:

base64BlockIds - Lista de codificación Stringbase64 que especifica los identificadores de bloque que se van a confirmar.

Devoluciones:

Información del blob en bloques.

commitBlockList

public BlockBlobItem commitBlockList(List base64BlockIds, boolean overwrite)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob. Para poder escribirse como parte de un blob, un bloque debe haberse escrito correctamente en el servidor en una operación stageBlock anterior. Puede llamar a commitBlockList para actualizar un blob cargando solo los bloques que han cambiado y, a continuación, confirmando los bloques nuevos y existentes juntos. Los bloques no especificados en la lista de bloques y eliminados permanentemente. Para más información, consulte Azure Docs.

Ejemplos de código

boolean overwrite = false; // Default behavior
 System.out.printf("Committing block list completed. Last modified: %s%n",
     client.commitBlockList(Collections.singletonList(base64BlockId), overwrite).getLastModified());

Parámetros:

base64BlockIds - Lista de codificación Stringbase64 que especifica los identificadores de bloque que se van a confirmar.
overwrite - Si se va a sobrescribir, deben existir datos en el blob.

Devoluciones:

Información del blob en bloques.

commitBlockListWithResponse

public Response commitBlockListWithResponse(BlockBlobCommitBlockListOptions options, Duration timeout, Context context)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob. Para poder escribirse como parte de un blob, un bloque debe haberse escrito correctamente en el servidor en una operación stageBlock anterior. Puede llamar a commitBlockList para actualizar un blob cargando solo los bloques que han cambiado y, a continuación, confirmando los bloques nuevos y existentes juntos. Los bloques no especificados en la lista de bloques y eliminados permanentemente. Para más información, consulte Azure Docs.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Ejemplos de código

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5("data".getBytes(StandardCharsets.UTF_8))
     .setContentLanguage("en-US")
     .setContentType("binary");

 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));
 Context context = new Context("key", "value");

 System.out.printf("Committing block list completed with status %d%n",
     client.commitBlockListWithResponse(
         new BlockBlobCommitBlockListOptions(Collections.singletonList(base64BlockId)).setHeaders(headers)
             .setMetadata(metadata).setTags(tags).setTier(AccessTier.HOT)
             .setRequestConditions(requestConditions), timeout, context)
         .getStatusCode());

Parámetros:

timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Información del blob en bloques.

commitBlockListWithResponse

public Response commitBlockListWithResponse(List base64BlockIds, BlobHttpHeaders headers, Map metadata, AccessTier tier, BlobRequestConditions requestConditions, Duration timeout, Context context)

Escribe un blob especificando la lista de identificadores de bloque que van a componer el blob. Para poder escribirse como parte de un blob, un bloque debe haberse escrito correctamente en el servidor en una operación stageBlock anterior. Puede llamar a commitBlockList para actualizar un blob cargando solo los bloques que han cambiado y, a continuación, confirmando los bloques nuevos y existentes juntos. Los bloques no especificados en la lista de bloques y eliminados permanentemente. Para más información, consulte Azure Docs.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Ejemplos de código

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 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("Committing block list completed with status %d%n",
     client.commitBlockListWithResponse(Collections.singletonList(base64BlockId), headers, metadata,
         AccessTier.HOT, requestConditions, timeout, context).getStatusCode());

Parámetros:

base64BlockIds - Lista de codificación Stringbase64 que especifica los identificadores de bloque que se van a confirmar.
headers - BlobHttpHeaders
metadata - Metadatos que se van a asociar al blob. Si hay espacios en blanco iniciales o finales en cualquier clave o valor de metadatos, se debe quitar o codificar.
tier - AccessTier para el blob de destino.
requestConditions - BlobRequestConditions
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Información del blob en bloques.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream()

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(boolean overwrite)

Crea y abre un flujo de salida para escribir datos en el blob en bloques.

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Parámetros:

overwrite - Si se va a sobrescribir, deben existir datos en el blob.

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)

Crea y abre un flujo de salida para escribir datos en el blob en bloques. Si el blob ya existe en el servicio, se sobrescribirá.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Parámetros:

requestConditions - Objeto BlobRequestConditions que representa las condiciones de acceso del blob.

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map metadata, AccessTier tier, BlobRequestConditions requestConditions)

Crea y abre un flujo de salida para escribir datos en el blob en bloques. Si el blob ya existe en el servicio, se sobrescribirá.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Parámetros:

parallelTransferOptions - ParallelTransferOptions se usa para configurar la carga almacenada en búfer.
headers - BlobHttpHeaders
metadata - Metadatos que se van a asociar al blob. Si hay espacios en blanco iniciales o finales en cualquier clave o valor de metadatos, se debe quitar o codificar.
tier - AccessTier para el blob de destino.
requestConditions - BlobRequestConditions

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)

Crea y abre un flujo de salida para escribir datos en el blob en bloques. Si el blob ya existe en el servicio, se sobrescribirá.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Parámetros:

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)

Crea y abre un flujo de salida para escribir datos en el blob en bloques. Si el blob ya existe en el servicio, se sobrescribirá.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Nota: Se recomienda llamar a escritura con búferes de tamaño razonable, puede hacerlo ajustando blobOutputStream obtenido a continuación con bufferedOutputStream.

Parámetros:

context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Objeto BlobOutputStream que se usa para escribir datos en el blob.

getCustomerProvidedKeyClient

public BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Crea un nuevo BlockBlobClient con el customerProvidedKey especificado.

Invalidaciones:

BlockBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Parámetros:

customerProvidedKey - CustomerProvidedKey para el blob, pase null para que no use ninguna clave proporcionada por el cliente.

Devoluciones:

con BlockBlobClient el especificado customerProvidedKey.

getEncryptionScopeClient

public BlockBlobClient getEncryptionScopeClient(String encryptionScope)

Crea un nuevo BlockBlobClient con el encryptionScope especificado.

Invalidaciones:

BlockBlobClient.getEncryptionScopeClient(String encryptionScope)

Parámetros:

encryptionScope - el ámbito de cifrado del blob, pase null para que no use ningún ámbito de cifrado.

Devoluciones:

con BlockBlobClient el especificado encryptionScope.

listBlocks

public BlockList listBlocks(BlockListType listType)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado. Para más información, consulte Azure Docs.

Ejemplos de código

BlockList block = client.listBlocks(BlockListType.ALL);

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parámetros:

listType - Especifica el tipo de bloques que se van a devolver.

Devoluciones:

Lista de bloques.

listBlocksWithResponse

public Response listBlocksWithResponse(BlockListType listType, String leaseId, Duration timeout, Context context)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado. Para más información, consulte Azure Docs.

Ejemplos de código

Context context = new Context("key", "value");
 BlockList block = client.listBlocksWithResponse(BlockListType.ALL, leaseId, timeout, context).getValue();

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parámetros:

listType - Especifica el tipo de bloques que se van a devolver.
leaseId - El identificador de concesión que la concesión activa en el blob debe coincidir.
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Lista de bloques.

listBlocksWithResponse

public Response listBlocksWithResponse(BlockBlobListBlocksOptions options, Duration timeout, Context context)

Devuelve la lista de bloques que se han cargado como parte de un blob en bloques mediante el filtro de lista de bloques especificado. Para más información, consulte Azure Docs.

Ejemplos de código

Context context = new Context("key", "value");
 BlockList block = client.listBlocksWithResponse(new BlockBlobListBlocksOptions(BlockListType.ALL)
     .setLeaseId(leaseId)
     .setIfTagsMatch(tags), timeout, context).getValue();

 System.out.println("Committed Blocks:");
 block.getCommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

 System.out.println("Uncommitted Blocks:");
 block.getUncommittedBlocks().forEach(b -> System.out.printf("Name: %s, Size: %d", b.getName(), b.getSizeLong()));

Parámetros:

timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Lista de bloques.

openSeekableByteChannelWrite

public SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)

Abre un canal de bytes que se puede buscar en modo de solo escritura para cargar el blob.

Parámetros:

Devoluciones:

Objeto SeekableByteChannel que representa el canal que se va a usar para escribir en el blob.

stageBlock

public void stageBlock(String base64BlockId, BinaryData data)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

BinaryData binaryData = BinaryData.fromStream(data, length);
 client.stageBlock(base64BlockId, binaryData);

Parámetros:

base64BlockId - Codificado en String Base64 que especifica el identificador de este bloque. Tenga en cuenta que todos los identificadores de bloque de un blob determinado deben tener la misma longitud.
data - Datos que se van a escribir en el bloque. Tenga en cuenta que debe BinaryData tener una longitud definida y debe reproducirse si los reintentos están habilitados (el valor predeterminado), consulte BinaryData#isReplayable().

stageBlock

public void stageBlock(String base64BlockId, InputStream data, long length)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

client.stageBlock(base64BlockId, data, length);

Parámetros:

base64BlockId - Codificado en String Base64 que especifica el identificador de este bloque. Tenga en cuenta que todos los identificadores de bloque de un blob determinado deben tener la misma longitud.
data - Datos que se van a escribir en el bloque. Los datos deben ser marcados. Esto es para admitir reintentos. Si los datos no se pueden marcar, considere la posibilidad de usar getBlobOutputStream() y escribir en outputStream devuelto. Como alternativa, considere la posibilidad de encapsular el origen de datos en bufferedInputStream para agregar compatibilidad con marcas.
length - Longitud exacta de los datos. Es importante que este valor coincida exactamente con la longitud de los datos proporcionados en .InputStream

stageBlockFromUrl

public void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL. Para más información, consulte Azure Docs.

Ejemplos de código

client.stageBlockFromUrl(base64BlockId, sourceUrl, new BlobRange(offset, count));

Parámetros:

base64BlockId - Codificado en String Base64 que especifica el identificador de este bloque. Tenga en cuenta que todos los identificadores de bloque de un blob determinado deben tener la misma longitud.
sourceUrl - Dirección URL del blob que será el origen de la copia. Un blob de origen en la misma cuenta de almacenamiento se puede autenticar mediante clave compartida. Sin embargo, si el origen es un blob de otra cuenta, el blob de origen debe ser público o debe autenticarse a través de una firma de acceso compartido. Si el blob de origen es público, no se requiere autenticación para realizar la operación.
sourceRange - BlobRange

stageBlockFromUrlWithResponse

public Response stageBlockFromUrlWithResponse(BlockBlobStageBlockFromUrlOptions options, Duration timeout, Context context)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL. Para más información, consulte Azure Docs.

Ejemplos de código

BlobRequestConditions sourceRequestConditions = new BlobRequestConditions()
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Staging block from URL completed with status %d%n",
     client.stageBlockFromUrlWithResponse(new BlockBlobStageBlockFromUrlOptions(base64BlockId, sourceUrl)
         .setSourceRange(new BlobRange(offset, count)).setLeaseId(leaseId)
         .setSourceRequestConditions(sourceRequestConditions), timeout, context).getStatusCode());

Parámetros:

options - Parámetros para la operación
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Una respuesta que contiene el código de estado y los encabezados HTTP

stageBlockFromUrlWithResponse

public Response stageBlockFromUrlWithResponse(String base64BlockId, String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, String leaseId, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

Crea un nuevo bloque que se confirmará como parte de un blob donde el contenido se lee desde una dirección URL. Para más información, consulte Azure Docs.

Ejemplos de código

BlobRequestConditions sourceRequestConditions = new BlobRequestConditions()
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Staging block from URL completed with status %d%n",
     client.stageBlockFromUrlWithResponse(base64BlockId, sourceUrl, new BlobRange(offset, count), null,
         leaseId, sourceRequestConditions, timeout, context).getStatusCode());

Parámetros:

base64BlockId - Codificado en String Base64 que especifica el identificador de este bloque. Tenga en cuenta que todos los identificadores de bloque de un blob determinado deben tener la misma longitud.
sourceUrl - Dirección URL del blob que será el origen de la copia. Un blob de origen en la misma cuenta de almacenamiento se puede autenticar mediante clave compartida. Sin embargo, si el origen es un blob de otra cuenta, el blob de origen debe ser público o debe autenticarse a través de una firma de acceso compartido. Si el blob de origen es público, no se requiere autenticación para realizar la operación.
sourceRange - BlobRange
sourceContentMd5 - Hash MD5 del contenido del bloque. Este hash se utiliza para comprobar la integridad del bloque durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento compara el hash del contenido que ha llegado con este valor de encabezado. Tenga en cuenta que este hash MD5 no se almacena con el blob. Si los dos hash no coinciden, se producirá un error en la operación.
leaseId - Identificador de concesión que debe coincidir la concesión activa en el blob.
sourceRequestConditions - BlobRequestConditions
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Una respuesta que contiene el código de estado y los encabezados HTTP

stageBlockWithResponse

public Response stageBlockWithResponse(BlockBlobStageBlockOptions options, Duration timeout, Context context)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

Context context = new Context("key", "value");
 BinaryData binaryData = BinaryData.fromStream(data, length);
 BlockBlobStageBlockOptions options = new BlockBlobStageBlockOptions(base64BlockId, binaryData)
     .setContentMd5(md5)
     .setLeaseId(leaseId);
 System.out.printf("Staging block completed with status %d%n",
     client.stageBlockWithResponse(options, timeout, context).getStatusCode());

Parámetros:

timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Una respuesta que contiene el código de estado y los encabezados HTTP

stageBlockWithResponse

public Response stageBlockWithResponse(String base64BlockId, InputStream data, long length, byte[] contentMd5, String leaseId, Duration timeout, Context context)

Carga el bloque especificado en el "área de almacenamiento provisional" del blob en bloques para que se confirme más adelante mediante una llamada a commitBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

Context context = new Context("key", "value");
 System.out.printf("Staging block completed with status %d%n",
     client.stageBlockWithResponse(base64BlockId, data, length, md5, leaseId, timeout, context).getStatusCode());

Parámetros:

base64BlockId - Codificado en String Base64 que especifica el identificador de este bloque. Tenga en cuenta que todos los identificadores de bloque de un blob determinado deben tener la misma longitud.
data - Datos que se van a escribir en el bloque. Los datos deben ser marcados. Esto es para admitir reintentos. Si los datos no se pueden marcar, considere la posibilidad de usar getBlobOutputStream() y escribir en outputStream devuelto. Como alternativa, considere la posibilidad de encapsular el origen de datos en bufferedInputStream para agregar compatibilidad con marcas.
length - Longitud exacta de los datos. Es importante que este valor coincida exactamente con la longitud de los datos proporcionados en .InputStream
contentMd5 - Hash MD5 del contenido del bloque. Este hash se utiliza para comprobar la integridad del bloque durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento compara el hash del contenido que ha llegado con este valor de encabezado. Tenga en cuenta que este hash MD5 no se almacena con el blob. Si los dos hash no coinciden, se producirá un error en la operación.
leaseId - El identificador de concesión que la concesión activa en el blob debe coincidir.
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Una respuesta que contiene el código de estado y los encabezados HTTP

upload

public BlockBlobItem upload(BinaryData data)

Crea un nuevo blob en bloques. De forma predeterminada, este método no sobrescribirá un blob existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

BinaryData binaryData = BinaryData.fromStream(data, length);
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(binaryData).getContentMd5()));

Parámetros:

data - Datos que se van a escribir en el bloque. Tenga en cuenta que debe BinaryData tener una longitud definida y debe reproducirse si los reintentos están habilitados (valor predeterminado), consulte BinaryData#isReplayable().

Devoluciones:

Información del blob en bloques cargado.

upload

public BlockBlobItem upload(BinaryData data, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

boolean overwrite = false;
 BinaryData binaryData = BinaryData.fromStream(data, length);
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(binaryData, overwrite).getContentMd5()));

Parámetros:

data - Datos que se van a escribir en el bloque. Tenga en cuenta que debe BinaryData tener una longitud definida y debe reproducirse si los reintentos están habilitados (valor predeterminado), consulte BinaryData#isReplayable().
overwrite - Si se va a sobrescribir, deben existir datos en el blob.

Devoluciones:

Información del blob en bloques cargado.

upload

public BlockBlobItem upload(InputStream data, long length)

Crea un nuevo blob en bloques. De forma predeterminada, este método no sobrescribirá un blob existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(data, length).getContentMd5()));

Parámetros:

data - Datos que se van a escribir en el blob. Los datos deben ser marcados. Esto es para admitir reintentos. Si los datos no se pueden marcar, considere la posibilidad de usar getBlobOutputStream() y escribir en outputStream devuelto. Como alternativa, considere la posibilidad de encapsular el origen de datos en bufferedInputStream para agregar compatibilidad con marcas.
length - Longitud exacta de los datos. Es importante que este valor coincida exactamente con la longitud de los datos proporcionados en .InputStream

Devoluciones:

Información del blob en bloques cargado.

upload

public BlockBlobItem upload(InputStream data, long length, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Ejemplos de código

boolean overwrite = false;
 System.out.printf("Uploaded BlockBlob MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.upload(data, length, overwrite).getContentMd5()));

Parámetros:

data - Datos que se van a escribir en el blob. Los datos deben ser marcados. Esto es para admitir reintentos. Si los datos no se pueden marcar, considere la posibilidad de usar getBlobOutputStream() y escribir en outputStream devuelto. Como alternativa, considere la posibilidad de encapsular el origen de datos en bufferedInputStream para agregar compatibilidad con marcas.
length - Longitud exacta de los datos. Es importante que este valor coincida exactamente con la longitud de los datos proporcionados en .InputStream
overwrite - Si se va a sobrescribir, deben existir datos en el blob.

Devoluciones:

Información del blob en bloques cargado.

uploadFromUrl

public BlockBlobItem uploadFromUrl(String sourceUrl)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlobFromUrl; el contenido del blob existente se sobrescribe con el nuevo contenido. Para más información, consulte Azure Docs.

Ejemplos de código

System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl).getContentMd5()));

Parámetros:

sourceUrl - Dirección URL de origen desde la que se va a cargar.

Devoluciones:

Información del blob en bloques cargado.

uploadFromUrl

public BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlobFromUrl; el contenido del blob existente se sobrescribe con el nuevo contenido. Para más información, consulte Azure Docs.

Ejemplos de código

boolean overwrite = false;
 System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
     Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl, overwrite).getContentMd5()));

Parámetros:

sourceUrl - Dirección URL de origen desde la que se va a cargar.
overwrite - Si se va a sobrescribir, deben existir datos en el blob.

Devoluciones:

Información del blob en bloques cargado.

uploadFromUrlWithResponse

public Response uploadFromUrlWithResponse(BlobUploadFromUrlOptions options, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente.

La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlobFromUrl; el contenido del blob existente se sobrescribe con el nuevo contenido. Para más información, consulte Azure Docs.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Ejemplos de código

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 Map<String, String> tags = Collections.singletonMap("tag", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadFromUrlWithResponse(new BlobUploadFromUrlOptions(sourceUrl)
         .setHeaders(headers).setTags(tags).setTier(AccessTier.HOT).setContentMd5(md5)
         .setDestinationRequestConditions(requestConditions), timeout, context)
         .getValue()
         .getContentMd5()));

Parámetros:

timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Información del blob en bloques cargado.

uploadWithResponse

public Response uploadWithResponse(BlockBlobSimpleUploadOptions options, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Ejemplos de código

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");
 Map<String, String> tags = Collections.singletonMap("tag", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadWithResponse(new BlockBlobSimpleUploadOptions(data, length)
         .setHeaders(headers).setMetadata(metadata).setTags(tags).setTier(AccessTier.HOT).setContentMd5(md5)
         .setRequestConditions(requestConditions), timeout, context)
         .getValue()
         .getContentMd5()));

Parámetros:

timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Información del blob en bloques cargado.

uploadWithResponse

public Response uploadWithResponse(InputStream data, long length, BlobHttpHeaders headers, Map metadata, AccessTier tier, byte[] contentMd5, BlobRequestConditions requestConditions, Duration timeout, Context context)

Crea un nuevo blob en bloques o actualiza el contenido de un blob en bloques existente. La actualización de un blob en bloques existente sobrescribe los metadatos existentes en él. No se admiten actualizaciones parciales con PutBlob; el contenido del blob existente se sobrescribe con el nuevo contenido. Para realizar una actualización parcial de un blob en bloques, use PutBlock y PutBlockList. Para más información, consulte Azure Docs.

Para evitar sobrescribir, pase "*" a setIfNoneMatch(String ifNoneMatch).

Ejemplos de código

BlobHttpHeaders headers = new BlobHttpHeaders()
     .setContentMd5(MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8)))
     .setContentLanguage("en-US")
     .setContentType("binary");

 Map<String, String> metadata = Collections.singletonMap("metadata", "value");

 byte[] md5 = MessageDigest.getInstance("MD5").digest("data".getBytes(StandardCharsets.UTF_8));

 BlobRequestConditions requestConditions = new BlobRequestConditions()
     .setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
 Context context = new Context("key", "value");

 System.out.printf("Uploaded BlockBlob MD5 is %s%n", Base64.getEncoder()
     .encodeToString(client.uploadWithResponse(data, length, headers, metadata, AccessTier.HOT, md5,
         requestConditions, timeout, context)
         .getValue()
         .getContentMd5()));

Parámetros:

data - Datos que se van a escribir en el blob. Los datos deben ser marcados. Esto es para admitir reintentos. Si los datos no se pueden marcar, considere la posibilidad de usar getBlobOutputStream() y escribir en outputStream devuelto. Como alternativa, considere la posibilidad de encapsular el origen de datos en bufferedInputStream para agregar compatibilidad con marcas.
length - Longitud exacta de los datos. Es importante que este valor coincida exactamente con la longitud de los datos proporcionados en .InputStream
headers - BlobHttpHeaders
metadata - Metadatos que se van a asociar al blob. Si hay espacios en blanco iniciales o finales en cualquier clave o valor de metadatos, debe quitarse o codificarse.
tier - AccessTier para el blob de destino.
contentMd5 - Hash MD5 del contenido del bloque. Este hash se utiliza para comprobar la integridad del bloque durante el transporte. Cuando se especifica este encabezado, el servicio de almacenamiento compara el hash del contenido que ha llegado con este valor de encabezado. Tenga en cuenta que este hash MD5 no se almacena con el blob. Si los dos hash no coinciden, se producirá un error en la operación.
requestConditions - BlobRequestConditions
timeout - Valor de tiempo de espera opcional más allá del cual se generará un RuntimeException .
context - Contexto adicional que se pasa a través de la canalización Http durante la llamada al servicio.

Devoluciones:

Información del blob en bloques cargado.

Se aplica a