BlockBlobClient Classe
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. specialized. BlockBlobClient
- com.
- com.
public final class BlockBlobClient
extends BlobClientBase
Cliente para um blob de blocos. Ele só pode ser instanciado por meio de um SpecializedBlobClientBuilder ou por meio do método getBlockBlobClient(). Essa classe não contém nenhum estado sobre um blob específico, mas é uma maneira conveniente de enviar solicitações apropriadas para o recurso no serviço.
Consulte o Azure Docs para obter mais informações.
Resumo do campo
Modificador e tipo | Campo e descrição |
---|---|
static final int |
MAX_BLOCKS
Indica o número máximo de blocos permitidos em um blob de blocos. |
static final int |
MAX_STAGE_BLOCK_BYTES
Preterido Indica o número máximo de bytes que podem ser enviados em uma chamada para o bloco de estágio |
static final long |
MAX_STAGE_BLOCK_BYTES_LONG
Indica o número máximo de bytes que podem ser enviados em uma chamada para o bloco de estágio |
static final int |
MAX_UPLOAD_BLOB_BYTES
Preterido Indica o número máximo de bytes que podem ser enviados em uma chamada para upload. |
static final long |
MAX_UPLOAD_BLOB_BYTES_LONG
Indica o número máximo de bytes que podem ser enviados em uma chamada para upload. |
Resumo do método
Métodos herdados de BlobClientBase
Métodos herdados de java.lang.Object
Detalhes do campo
MAX_BLOCKS
public static final int MAX_BLOCKS
Indica o número máximo de blocos permitidos em um blob de blocos.
MAX_STAGE_BLOCK_BYTES
@Deprecated
public static final int MAX_STAGE_BLOCK_BYTES
Preterido
Indica o número máximo de bytes que podem ser enviados em uma chamada para stageBlock.
MAX_STAGE_BLOCK_BYTES_LONG
public static final long MAX_STAGE_BLOCK_BYTES_LONG
Indica o número máximo de bytes que podem ser enviados em uma chamada para stageBlock.
MAX_UPLOAD_BLOB_BYTES
@Deprecated
public static final int MAX_UPLOAD_BLOB_BYTES
Preterido
Indica o número máximo de bytes que podem ser enviados em uma chamada para upload.
MAX_UPLOAD_BLOB_BYTES_LONG
public static final long MAX_UPLOAD_BLOB_BYTES_LONG
Indica o número máximo de bytes que podem ser enviados em uma chamada para upload.
Detalhes do método
commitBlockList
public BlockBlobItem commitBlockList(List
Grava um blob especificando a lista de IDs de bloco que devem compõe o blob. Para ser gravado como parte de um blob, um bloco deve ter sido gravado com êxito no servidor em uma operação stageBlock anterior. Você pode chamar commitBlockList para atualizar um blob carregando apenas os blocos que foram alterados e confirmando os blocos novos e existentes juntos. Todos os blocos não especificados na lista de blocos e excluídos permanentemente. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
System.out.printf("Committing block list completed. Last modified: %s%n",
client.commitBlockList(Collections.singletonList(base64BlockId)).getLastModified());
Parâmetros:
String
base64 que especifica as IDs de bloco a serem confirmadas.
Retornos:
commitBlockList
public BlockBlobItem commitBlockList(List
Grava um blob especificando a lista de IDs de bloco que devem compõe o blob. Para ser gravado como parte de um blob, um bloco deve ter sido gravado com êxito no servidor em uma operação stageBlock anterior. Você pode chamar commitBlockList para atualizar um blob carregando apenas os blocos que foram alterados e confirmando os blocos novos e existentes juntos. Todos os blocos não especificados na lista de blocos e excluídos permanentemente. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
String
base64 que especifica as IDs de bloco a serem confirmadas.
Retornos:
commitBlockListWithResponse
public Response
Grava um blob especificando a lista de IDs de bloco que devem compõe o blob. Para ser gravado como parte de um blob, um bloco deve ter sido gravado com êxito no servidor em uma operação stageBlock anterior. Você pode chamar commitBlockList para atualizar um blob carregando apenas os blocos que foram alterados e confirmando os blocos novos e existentes juntos. Todos os blocos não especificados na lista de blocos e excluídos permanentemente. Para obter mais informações, consulte o Azure Docs.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
commitBlockListWithResponse
public Response
Grava um blob especificando a lista de IDs de bloco que devem compõe o blob. Para ser gravado como parte de um blob, um bloco deve ter sido gravado com êxito no servidor em uma operação stageBlock anterior. Você pode chamar commitBlockList para atualizar um blob carregando apenas os blocos que foram alterados e confirmando os blocos novos e existentes juntos. Todos os blocos não especificados na lista de blocos e excluídos permanentemente. Para obter mais informações, consulte o Azure Docs.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
String
base64 que especifica as IDs de bloco a serem confirmadas.
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream()
Cria e abre um fluxo de saída para gravar dados no blob de blocos.
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(boolean overwrite)
Cria e abre um fluxo de saída para gravar dados no blob de blocos.
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Parâmetros:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlobRequestConditions requestConditions)
Cria e abre um fluxo de saída para gravar dados no blob de blocos. Se o blob já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Parâmetros:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(ParallelTransferOptions parallelTransferOptions, BlobHttpHeaders headers, Map
Cria e abre um fluxo de saída para gravar dados no blob de blocos. Se o blob já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Parâmetros:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options)
Cria e abre um fluxo de saída para gravar dados no blob de blocos. Se o blob já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Parâmetros:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(BlockBlobOutputStreamOptions options, Context context)
Cria e abre um fluxo de saída para gravar dados no blob de blocos. Se o blob já existir no serviço, ele será substituído.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Observação: recomendamos que você chame gravação com buffers de tamanho razoável. Você pode fazer isso encapsulando o BlobOutputStream obtido abaixo com um BufferedOutputStream.
Parâmetros:
Retornos:
getCustomerProvidedKeyClient
public BlockBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Cria um novo BlockBlobClient com o customerProvidedKey
especificado.
Substituições:
BlockBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parâmetros:
null
para usar nenhuma chave fornecida pelo cliente.
Retornos:
customerProvidedKey
.getEncryptionScopeClient
public BlockBlobClient getEncryptionScopeClient(String encryptionScope)
Cria um novo BlockBlobClient com o encryptionScope
especificado.
Substituições:
BlockBlobClient.getEncryptionScopeClient(String encryptionScope)Parâmetros:
null
para não usar nenhum escopo de criptografia.
Retornos:
encryptionScope
.listBlocks
public BlockList listBlocks(BlockListType listType)
Retorna a lista de blocos que foram carregados como parte de um blob de blocos usando o filtro de lista de blocos especificado. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
listBlocksWithResponse
public Response
Retorna a lista de blocos que foram carregados como parte de um blob de blocos usando o filtro de lista de blocos especificado. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
listBlocksWithResponse
public Response
Retorna a lista de blocos que foram carregados como parte de um blob de blocos usando o filtro de lista de blocos especificado. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
openSeekableByteChannelWrite
public SeekableByteChannel openSeekableByteChannelWrite(BlockBlobSeekableByteChannelWriteOptions options)
Abre um canal de bytes que pode ser buscado no modo somente gravação para carregar o blob.
Parâmetros:
Retornos:
SeekableByteChannel
objeto que representa o canal a ser usado para gravar no blob.stageBlock
public void stageBlock(String base64BlockId, BinaryData data)
Carrega o bloco especificado na "área de preparo" do blob de blocos para ser confirmado posteriormente por uma chamada para commitBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
BinaryData binaryData = BinaryData.fromStream(data, length);
client.stageBlock(base64BlockId, binaryData);
Parâmetros:
String
que especifica a ID desse bloco. Observe que todas as IDs de bloco para um determinado blob devem ter o mesmo comprimento.
BinaryData
deve ter o comprimento definido e deve ser reproduzido se as novas tentativas estiverem habilitadas (o padrão), consulte BinaryData#isReplayable().
stageBlock
public void stageBlock(String base64BlockId, InputStream data, long length)
Carrega o bloco especificado na "área de preparo" do blob de blocos para ser confirmado posteriormente por uma chamada para commitBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
client.stageBlock(base64BlockId, data, length);
Parâmetros:
String
que especifica a ID desse bloco. Observe que todas as IDs de bloco para um determinado blob devem ter o mesmo comprimento.
stageBlockFromUrl
public void stageBlockFromUrl(String base64BlockId, String sourceUrl, BlobRange sourceRange)
Cria um novo bloco a ser confirmado como parte de um blob em que o conteúdo é lido de uma URL. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
client.stageBlockFromUrl(base64BlockId, sourceUrl, new BlobRange(offset, count));
Parâmetros:
String
que especifica a ID desse bloco. Observe que todas as IDs de bloco para um determinado blob devem ter o mesmo comprimento.
stageBlockFromUrlWithResponse
public Response
Cria um novo bloco a ser confirmado como parte de um blob em que o conteúdo é lido de uma URL. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
stageBlockFromUrlWithResponse
public Response
Cria um novo bloco a ser confirmado como parte de um blob em que o conteúdo é lido de uma URL. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
String
que especifica a ID desse bloco. Observe que todas as IDs de bloco para um determinado blob devem ter o mesmo comprimento.
Retornos:
stageBlockWithResponse
public Response
Carrega o bloco especificado na "área de preparo" do blob de blocos para ser confirmado posteriormente por uma chamada para commitBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
stageBlockWithResponse
public Response
Carrega o bloco especificado na "área de preparo" do blob de blocos para ser confirmado posteriormente por uma chamada para commitBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
String
que especifica a ID desse bloco. Observe que todas as IDs de bloco para um determinado blob devem ter o mesmo comprimento.
Retornos:
upload
public BlockBlobItem upload(BinaryData data)
Cria um novo blob de blocos. Por padrão, esse método não substituirá um blob existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
BinaryData
deve ter o comprimento definido e deve ser reproduzido se as novas tentativas estiverem habilitadas (o padrão), consulte BinaryData#isReplayable().
Retornos:
upload
public BlockBlobItem upload(BinaryData data, boolean overwrite)
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
BinaryData
deve ter o comprimento definido e deve ser reproduzido se as novas tentativas estiverem habilitadas (o padrão), consulte BinaryData#isReplayable().
Retornos:
upload
public BlockBlobItem upload(InputStream data, long length)
Cria um novo blob de blocos. Por padrão, esse método não substituirá um blob existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
System.out.printf("Uploaded BlockBlob MD5 is %s%n",
Base64.getEncoder().encodeToString(client.upload(data, length).getContentMd5()));
Parâmetros:
Retornos:
upload
public BlockBlobItem upload(InputStream data, long length, boolean overwrite)
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
uploadFromUrl
public BlockBlobItem uploadFromUrl(String sourceUrl)
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente.
A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlobFromUrl; o conteúdo do blob existente é substituído pelo novo conteúdo. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
System.out.printf("Uploaded BlockBlob from URL, MD5 is %s%n",
Base64.getEncoder().encodeToString(client.uploadFromUrl(sourceUrl).getContentMd5()));
Parâmetros:
Retornos:
uploadFromUrl
public BlockBlobItem uploadFromUrl(String sourceUrl, boolean overwrite)
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente.
A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlobFromUrl; o conteúdo do blob existente é substituído pelo novo conteúdo. Para obter mais informações, consulte o Azure Docs.
Exemplos 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:
Retornos:
uploadFromUrlWithResponse
public Response
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente.
A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlobFromUrl; o conteúdo do blob existente é substituído pelo novo conteúdo. Para obter mais informações, consulte o Azure Docs.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
uploadWithResponse
public Response
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
uploadWithResponse
public Response
Cria um novo blob de blocos ou atualiza o conteúdo de um blob de blocos existente. A atualização de um blob de blocos existente substitui todos os metadados existentes no blob. Não há suporte para atualizações parciais com PutBlob; o conteúdo do blob existente é substituído pelo novo conteúdo. Para executar uma atualização parcial de um blob de blocos, use PutBlock e PutBlockList. Para obter mais informações, consulte o Azure Docs.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
Aplica-se a
Azure SDK for Java