AppendBlobClient Classe
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobClientBase - com.
azure. storage. blob. specialized. AppendBlobClient
- com.
- com.
public final class AppendBlobClient
extends BlobClientBase
Cliente para um blob de acréscimo. Ele só pode ser instanciado por meio de um SpecializedBlobClientBuilder ou por meio do método getAppendBlobClient(). 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.
Esse cliente contém operações em um blob. As operações em um contêiner estão disponíveis no BlobContainerCliente as operações no serviço estão disponíveis no BlobServiceClient.
Consulte o Azure Docs para obter mais informações.
Resumo do campo
Modificador e tipo | Campo e descrição |
---|---|
static final int |
MAX_APPEND_BLOCK_BYTES
Preterido Indica o número máximo de bytes que podem ser enviados em uma chamada para acrescentar |
static final int |
MAX_BLOCKS
Preterido
use getMaxBlocks().
Indica o número máximo de blocos permitidos em um blob de acréscimo. |
Resumo do método
Métodos herdados de BlobClientBase
Métodos herdados de java.lang.Object
Detalhes do campo
MAX_APPEND_BLOCK_BYTES
@Deprecated
public static final int MAX_APPEND_BLOCK_BYTES
Preterido
Indica o número máximo de bytes que podem ser enviados em uma chamada para appendBlock.
MAX_BLOCKS
@Deprecated
public static final int MAX_BLOCKS
Preterido
Indica o número máximo de blocos permitidos em um blob de acréscimo.
Detalhes do método
appendBlock
public AppendBlobItem appendBlock(InputStream data, long length)
Confirma um novo bloco de dados no final do blob de acréscimo existente.
Observe que os dados passados devem ser reproduzíveis se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux
deve produzir os mesmos dados sempre que for assinado. Para as versões de serviço 2022-11-02 e posteriores, o tamanho máximo do bloco é de 100 MB. Para versões anteriores, o tamanho máximo do bloco é de 4 MB. Para obter mais informações, consulte o Azure Docs.
Exemplos de código
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlock(data, length).getBlobCommittedBlockCount());
Parâmetros:
Flux
.
Retornos:
appendBlockFromUrl
public AppendBlobItem appendBlockFromUrl(String sourceUrl, BlobRange sourceRange)
Confirma um novo bloco de dados de outro blob até o final desse blob de acréscimo.
Exemplos de código
System.out.printf("AppendBlob has %d committed blocks%n",
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).getBlobCommittedBlockCount());
Parâmetros:
Retornos:
appendBlockFromUrlWithResponse
public Response
Confirma um novo bloco de dados de outro blob até o final desse blob de acréscimo.
Exemplos 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:
Retornos:
appendBlockFromUrlWithResponse
public Response
Confirma um novo bloco de dados de outro blob até o final desse blob de acréscimo.
Exemplos 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:
Retornos:
appendBlockWithResponse
public Response
Confirma um novo bloco de dados no final do blob de acréscimo existente.
Observe que os dados passados devem ser reproduzíveis se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux
deve produzir os mesmos dados sempre que for assinado. Para as versões de serviço 2022-11-02 e posteriores, o tamanho máximo do bloco é de 100 MB. Para versões anteriores, o tamanho máximo do bloco é de 4 MB. Para obter mais informações, consulte o Azure Docs.
Exemplos 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
.
Retornos:
create
public AppendBlobItem create()
Cria um blob de acréscimo de 0 comprimento. Chame appendBlock para acrescentar dados a um blob de acréscimo. Por padrão, esse método não substituirá um blob existente.
Exemplos de código
System.out.printf("Created AppendBlob at %s%n", client.create().getLastModified());
Retornos:
create
public AppendBlobItem create(boolean overwrite)
Cria um blob de acréscimo de 0 comprimento. Chame appendBlock para acrescentar dados a um blob de acréscimo.
Exemplos de código
boolean overwrite = false; // Default value
System.out.printf("Created AppendBlob at %s%n", client.create(overwrite).getLastModified());
Parâmetros:
Retornos:
createIfNotExists
public AppendBlobItem createIfNotExists()
Cria um blob de acréscimo de 0 comprimento se ele não existir. Chame appendBlock para acrescentar dados a um blob de acréscimo.
Exemplos de código
client.createIfNotExists();
System.out.println("Created AppendBlob");
Retornos:
createIfNotExistsWithResponse
public Response
Cria um blob de acréscimo de 0 comprimento se ele não existir. Chame appendBlock para acrescentar dados a um blob de acréscimo.
Exemplos 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:
Retornos:
createWithResponse
public Response
Cria um blob de acréscimo de 0 comprimento. Chame appendBlock para acrescentar dados a um blob de acréscimo.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
createWithResponse
public Response
Cria um blob de acréscimo de 0 comprimento. Chame appendBlock para acrescentar dados a um blob de acréscimo.
Para evitar a substituição, passe "*" para setIfNoneMatch(String ifNoneMatch).
Exemplos 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:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream()
Cria e abre um fluxo de saída para gravar dados no blob de acréscimo. Se o blob já existir no serviço, novos dados serão acrescentados ao blob existente.
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(boolean overwrite)
Cria e abre um fluxo de saída para gravar dados no blob de acréscimo. Se overwrite for especificado true
, o blob existente será excluído e recriado, caso existam dados no blob. Se overwrite for especificado false
, novos dados serão acrescentados ao blob existente.
Parâmetros:
Retornos:
getBlobOutputStream
public BlobOutputStream getBlobOutputStream(AppendBlobRequestConditions requestConditions)
Cria e abre um fluxo de saída para gravar dados no blob de acréscimo.
Parâmetros:
Retornos:
getCustomerProvidedKeyClient
public AppendBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)
Cria um novo AppendBlobClient com o customerProvidedKey
especificado.
Substituições:
AppendBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)Parâmetros:
null
para usar nenhuma chave fornecida pelo cliente.
Retornos:
customerProvidedKey
.getEncryptionScopeClient
public AppendBlobClient getEncryptionScopeClient(String encryptionScope)
Cria um novo AppendBlobClient com o encryptionScope
especificado.
Substituições:
AppendBlobClient.getEncryptionScopeClient(String encryptionScope)Parâmetros:
null
para não usar nenhum escopo de criptografia.
Retornos:
encryptionScope
.getMaxAppendBlockBytes
public int getMaxAppendBlockBytes()
Obtenha o número máximo de bytes de bloco de acréscimo com base na versão do serviço que está sendo usada. As versões de serviço 2022-11-02 e superiores dão suporte ao carregamento de bytes de bloco de até 100 MB, todas as versões de serviço mais antigas dão suporte a até 4 MB.
Retornos:
getMaxBlocks
public int getMaxBlocks()
Obtenha o número máximo de blocos permitidos em um blob de acréscimo.
Retornos:
seal
public void seal()
Sela um blob de acréscimo, tornando-o somente leitura. Quaisquer acréscimos subsequentes falharão.
Exemplos de código
client.seal();
System.out.println("Sealed AppendBlob");
sealWithResponse
public Response
Sela um blob de acréscimo, tornando-o somente leitura. Quaisquer acréscimos subsequentes falharão.
Exemplos 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:
Retornos:
Aplica-se a
Azure SDK for Java