AppendBlobAsyncClient Classe
- java.
lang. Object - com.
azure. storage. blob. specialized. BlobAsyncClientBase - com.
azure. storage. blob. specialized. AppendBlobAsyncClient
- com.
- com.
public final class AppendBlobAsyncClient
extends BlobAsyncClientBase
Cliente para um blob de acréscimo. Ele só pode ser instanciado por meio de um buildAppendBlobAsyncClient() ou por meio do método getAppendBlobAsyncClient(). 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 BlobContainerAsyncCliente as operações no serviço estão disponíveis no BlobServiceAsyncClient.
Consulte o Azure Docs para obter mais informações.
Observe que esse cliente é um cliente assíncrono que retorna respostas reativas do projeto Spring Reactor Core (https://projectreactor.io/). Chamar os métodos nesse cliente NÃO iniciará a operação de rede real até .subscribe()
que seja chamado na resposta reativa. Você pode simplesmente converter uma dessas respostas em um objeto CompleteableFuture por meio Mono#toFuture()de .
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 BlobAsyncClientBase
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 Mono
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
client.appendBlock(data, length).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parâmetros:
Flux
deve ser reproduzível se as novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux deve produzir os mesmos dados sempre que for assinado.
Flux
.
Retornos:
appendBlockFromUrl
public Mono
Confirma um novo bloco de dados de outro blob até o final desse blob de acréscimo.
Exemplos de código
client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));
Parâmetros:
Retornos:
appendBlockFromUrlWithResponse
public Mono
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));
client.appendBlockFromUrlWithResponse(new AppendBlobAppendBlockFromUrlOptions(sourceUrl)
.setSourceRange(new BlobRange(offset, count))
.setDestinationRequestConditions(appendBlobRequestConditions)
.setSourceRequestConditions(modifiedRequestConditions)).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parâmetros:
Retornos:
appendBlockFromUrlWithResponse
public Mono
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));
client.appendBlockFromUrlWithResponse(sourceUrl, new BlobRange(offset, count), null,
appendBlobRequestConditions, modifiedRequestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parâmetros:
Retornos:
appendBlockWithResponse
public Mono
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 inscrito. Para 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);
client.appendBlockWithResponse(data, length, md5, requestConditions).subscribe(response ->
System.out.printf("AppendBlob has %d committed blocks%n", response.getValue().getBlobCommittedBlockCount()));
Parâmetros:
Flux
deve ser reproduzível se novas tentativas estiverem habilitadas (o padrão). Em outras palavras, o Flux deve produzir os mesmos dados sempre que for inscrito.
Flux
.
Retornos:
create
public Mono
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
client.create().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Retornos:
create
public Mono
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 behavior
client.create(overwrite).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Parâmetros:
Retornos:
createIfNotExists
public Mono
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().subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));
Retornos:
createIfNotExistsWithResponse
public Mono
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("tag", "value");
client.createIfNotExistsWithResponse(new AppendBlobCreateOptions().setHeaders(headers)
.setMetadata(metadata).setTags(tags)).subscribe(response -> {
if (response.getStatusCode() == 409) {
System.out.println("Already exists.");
} else {
System.out.println("successfully created.");
}
});
Parâmetros:
Retornos:
createWithResponse
public Mono
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));
client.createWithResponse(headers, metadata, requestConditions).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parâmetros:
Retornos:
createWithResponse
public Mono
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("tag", "value");
BlobRequestConditions requestConditions = new BlobRequestConditions().setLeaseId(leaseId)
.setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));
client.createWithResponse(new AppendBlobCreateOptions().setHeaders(headers).setMetadata(metadata)
.setTags(tags).setRequestConditions(requestConditions)).subscribe(response ->
System.out.printf("Created AppendBlob at %s%n", response.getValue().getLastModified()));
Parâmetros:
Retornos:
getCustomerProvidedKeyAsyncClient
public AppendBlobAsyncClient getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)
Cria um novo AppendBlobAsyncClient com o customerProvidedKey
especificado.
Substituições:
AppendBlobAsyncClient.getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)Parâmetros:
null
para não usar nenhuma chave fornecida pelo cliente.
Retornos:
customerProvidedKey
.getEncryptionScopeAsyncClient
public AppendBlobAsyncClient getEncryptionScopeAsyncClient(String encryptionScope)
Cria um novo AppendBlobAsyncClient com o encryptionScope
especificado.
Substituições:
AppendBlobAsyncClient.getEncryptionScopeAsyncClient(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 Mono
Sela um blob de acréscimo, tornando-o somente leitura. Quaisquer acréscimos subsequentes falharão.
Exemplos de código
client.seal().subscribe(response -> System.out.println("Sealed AppendBlob"));
Retornos:
sealWithResponse
public Mono
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));
client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions))
.subscribe(response -> System.out.println("Sealed AppendBlob"));
Parâmetros:
Retornos:
Aplica-se a
Azure SDK for Java