Partager via


AppendBlobAsyncClient Classe

public final class AppendBlobAsyncClient
extends BlobAsyncClientBase

Client vers un objet blob d’ajout. Il peut uniquement être instancié via un buildAppendBlobAsyncClient() ou via la méthode getAppendBlobAsyncClient(). Cette classe ne contient aucun état sur un objet blob particulier, mais elle est plutôt un moyen pratique d’envoyer des requêtes appropriées à la ressource sur le service.

Ce client contient des opérations sur un objet blob. Les opérations sur un conteneur sont disponibles sur BlobContainerAsyncClient, et les opérations sur le service sont disponibles sur BlobServiceAsyncClient.

Pour plus d’informations, consultez Azure Docs .

Notez que ce client est un client asynchrone qui retourne des réponses réactives à partir du projet Spring Reactor Core (https://projectreactor.io/). L’appel des méthodes dans ce client ne démarre PAS l’opération réseau réelle, tant que n’est .subscribe() pas appelé sur la réponse réactive. Vous pouvez simplement convertir l’une de ces réponses en objet CompletableFuture via Mono#toFuture().

Récapitulatif du champ

Modificateur et type Champ et description
static final int MAX_APPEND_BLOCK_BYTES

Déprécié

Indique le nombre maximal d’octets pouvant être envoyés dans un appel pour ajouterun bloc.

static final int MAX_BLOCKS

Déprécié

utilisez getMaxBlocks().

Indique le nombre maximal de blocs autorisés dans un objet blob d’ajout.

Résumé de la méthode

Modificateur et type Méthode et description
Mono<AppendBlobItem> appendBlock(Flux<ByteBuffer> data, long length)

Valide un nouveau bloc de données à la fin de l’objet blob d’ajout existant.

Mono<AppendBlobItem> appendBlockFromUrl(String sourceUrl, BlobRange sourceRange)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Mono<Response<AppendBlobItem>> appendBlockFromUrlWithResponse(AppendBlobAppendBlockFromUrlOptions options)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Mono<Response<AppendBlobItem>> appendBlockFromUrlWithResponse(String sourceUrl, BlobRange sourceRange, byte[] sourceContentMD5, AppendBlobRequestConditions destRequestConditions, BlobRequestConditions sourceRequestConditions)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Mono<Response<AppendBlobItem>> appendBlockWithResponse(Flux<ByteBuffer> data, long length, byte[] contentMd5, AppendBlobRequestConditions appendBlobRequestConditions)

Valide un nouveau bloc de données à la fin de l’objet blob d’ajout existant.

Mono<AppendBlobItem> create()

Crée un objet blob d’ajout de longueur 0.

Mono<AppendBlobItem> create(boolean overwrite)

Crée un objet blob d’ajout de longueur 0.

Mono<AppendBlobItem> createIfNotExists()

Crée un objet blob d’ajout de longueur 0 s’il n’existe pas.

Mono<Response<AppendBlobItem>> createIfNotExistsWithResponse(AppendBlobCreateOptions options)

Crée un objet blob d’ajout de longueur 0 s’il n’existe pas.

Mono<Response<AppendBlobItem>> createWithResponse(BlobHttpHeaders headers, Map<String,String> metadata, BlobRequestConditions requestConditions)

Crée un objet blob d’ajout de longueur 0.

Mono<Response<AppendBlobItem>> createWithResponse(AppendBlobCreateOptions options)

Crée un objet blob d’ajout de longueur 0.

AppendBlobAsyncClient getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)

Crée un nouveau AppendBlobAsyncClient avec le customerProvidedKey spécifié.

AppendBlobAsyncClient getEncryptionScopeAsyncClient(String encryptionScope)

Crée un nouveau AppendBlobAsyncClient avec le encryptionScope spécifié.

int getMaxAppendBlockBytes()

Obtenez le nombre maximal d’octets de blocs d’ajout en fonction de la version du service utilisée.

int getMaxBlocks()

Obtenez le nombre maximal de blocs autorisés dans un objet blob d’ajout.

Mono<Void> seal()

Scelle un objet blob d’ajout, ce qui le rend en lecture seule.

Mono<Response<Void>> sealWithResponse(AppendBlobSealOptions options)

Scelle un objet blob d’ajout, ce qui le rend en lecture seule.

Méthodes héritées de BlobAsyncClientBase

Méthodes héritées de java.lang.Object

Détails du champ

MAX_APPEND_BLOCK_BYTES

@Deprecated
public static final int MAX_APPEND_BLOCK_BYTES

Déprécié

Indique le nombre maximal d’octets pouvant être envoyés dans un appel à appendBlock.

MAX_BLOCKS

@Deprecated
public static final int MAX_BLOCKS

Déprécié

utilisez getMaxBlocks().

Indique le nombre maximal de blocs autorisés dans un objet blob d’ajout.

Détails de la méthode

appendBlock

public Mono appendBlock(Flux data, long length)

Valide un nouveau bloc de données à la fin de l’objet blob d’ajout existant.

Notez que les données passées doivent être relues si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux doit produire les mêmes données chaque fois qu’il est abonné. Pour les versions de service 2022-11-02 et ultérieures, la taille de bloc maximale est de 100 Mo. Pour les versions précédentes, la taille maximale du bloc est de 4 Mo. Pour plus d’informations, consultez Azure Docs.

Exemples de code

client.appendBlock(data, length).subscribe(response ->
     System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));

Paramètres:

data - Données à écrire dans l’objet blob. Notez que cela Flux doit être relu si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le flux doit produire les mêmes données chaque fois qu’il est abonné.
length - Longueur exacte des données. Il est important que cette valeur corresponde précisément à la longueur des données émises par .Flux

Retours:

Mono contenant les informations de l’opération d’ajout d’objet blob.

appendBlockFromUrl

public Mono appendBlockFromUrl(String sourceUrl, BlobRange sourceRange)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Exemples de code

client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).subscribe(response ->
     System.out.printf("AppendBlob has %d committed blocks%n", response.getBlobCommittedBlockCount()));

Paramètres:

sourceUrl - URL de l’objet blob qui sera la source de la copie. Un objet blob source dans le même compte de stockage peut être authentifié via une clé partagée. Toutefois, si la source est un objet blob dans un autre compte, l’objet blob source doit être public ou doit être authentifié via une signature d’accès partagé. Si l’objet blob source est public, aucune authentification n’est requise pour effectuer l’opération.
sourceRange - Source BlobRange à copier.

Retours:

Mono contenant les informations de l’opération d’ajout d’objet blob.

appendBlockFromUrlWithResponse

public Mono> appendBlockFromUrlWithResponse(AppendBlobAppendBlockFromUrlOptions options)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Exemples de code

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()));

Paramètres:

options - Paramètres de l’opération.

Retours:

Mono contenant Response<T> dont value contient l’opération d’ajout d’objet blob.

appendBlockFromUrlWithResponse

public Mono> appendBlockFromUrlWithResponse(String sourceUrl, BlobRange sourceRange, byte[] sourceContentMD5, AppendBlobRequestConditions destRequestConditions, BlobRequestConditions sourceRequestConditions)

Valide un nouveau bloc de données d’un autre objet blob à la fin de cet objet blob d’ajout.

Exemples de code

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()));

Paramètres:

sourceUrl - URL de l’objet blob qui sera la source de la copie. Un objet blob source dans le même compte de stockage peut être authentifié via une clé partagée. Toutefois, si la source est un objet blob dans un autre compte, l’objet blob source doit être public ou doit être authentifié via une signature d’accès partagé. Si l’objet blob source est public, aucune authentification n’est requise pour effectuer l’opération.
sourceRange - BlobRange
sourceContentMD5 - Hachage MD5 du contenu de bloc à partir de l’objet blob source. S’il est spécifié, le service calcule le MD5 des données reçues et échoue la demande si elle ne correspond pas au MD5 fourni.
destRequestConditions - AppendBlobRequestConditions
sourceRequestConditions - BlobRequestConditions

Retours:

Mono contenant Response<T> dont value contient l’opération d’ajout d’objet blob.

appendBlockWithResponse

public Mono> appendBlockWithResponse(Flux data, long length, byte[] contentMd5, AppendBlobRequestConditions appendBlobRequestConditions)

Valide un nouveau bloc de données à la fin de l’objet blob d’ajout existant.

Notez que les données passées doivent être relues si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le Flux doit produire les mêmes données chaque fois qu’il est abonné. Pour les versions de service 2022-11-02 et ultérieures, la taille maximale du bloc est de 100 Mo. Pour les versions précédentes, la taille maximale du bloc est de 4 Mo. Pour plus d’informations, consultez Azure Docs.

Exemples de code

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()));

Paramètres:

data - Données à écrire dans l’objet blob. Notez que cela Flux doit être relectible si les nouvelles tentatives sont activées (valeur par défaut). En d’autres termes, le flux doit produire les mêmes données chaque fois qu’il est abonné.
length - Longueur exacte des données. Il est important que cette valeur corresponde précisément à la longueur des données émises par .Flux
contentMd5 - Un hachage MD5 du contenu du bloc. Ce hachage est utilisé pour vérifier l'intégrité du bloc pendant le transport. Lorsque cet en-tête est spécifié, le service de stockage compare le hachage du contenu qui est arrivé à cette valeur d'en-tête. Notez que ce hachage MD5 n'est pas stocké avec l'objet blob. Si les deux hachages ne correspondent pas, l’opération échoue.
appendBlobRequestConditions - AppendBlobRequestConditions

Retours:

Mono contenant Response<T> dont contient value l’opération d’ajout d’objet blob.

create

public Mono create()

Crée un objet blob d’ajout de longueur 0. Appelez appendBlock pour ajouter des données à un objet blob d’ajout. Par défaut, cette méthode ne remplace pas un objet blob existant.

Exemples de code

client.create().subscribe(response ->
     System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));

Retours:

Mono contenant les informations de l’objet blob ajouté créé.

create

public Mono create(boolean overwrite)

Crée un objet blob d’ajout de longueur 0. Appelez appendBlock pour ajouter des données à un objet blob d’ajout.

Exemples de code

boolean overwrite = false; // Default behavior
 client.create(overwrite).subscribe(response ->
     System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));

Paramètres:

overwrite - S’il faut remplacer, des données doivent-elles exister sur l’objet blob.

Retours:

Mono contenant les informations de l’objet blob ajouté créé.

createIfNotExists

public Mono createIfNotExists()

Crée un objet blob d’ajout de longueur 0 s’il n’existe pas. Appelez appendBlock pour ajouter des données à un objet blob d’ajout.

Exemples de code

client.createIfNotExists().subscribe(response ->
     System.out.printf("Created AppendBlob at %s%n", response.getLastModified()));

Retours:

Fin de la signalisation de réponse Mono réactive. AppendBlobItem contient les informations de l’objet blob ajouté créé.

createIfNotExistsWithResponse

public Mono> createIfNotExistsWithResponse(AppendBlobCreateOptions options)

Crée un objet blob d’ajout de longueur 0 s’il n’existe pas. Appelez appendBlock pour ajouter des données à un objet blob d’ajout.

Exemples de code

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.");
         }
     });

Paramètres:

Retours:

contenant Mono l’achèvement Response<T> de la signalisation, dont value contient un AppendBlobItem contenant des informations sur l’objet blob d’ajout. Si Response<T>le code status est 201, un nouvel objet blob de page a été créé. Si status code est 409, un objet blob d’ajout existait déjà à cet emplacement.

createWithResponse

public Mono> createWithResponse(BlobHttpHeaders headers, Map metadata, BlobRequestConditions requestConditions)

Crée un objet blob d’ajout de longueur 0. Appelez appendBlock pour ajouter des données à un objet blob d’ajout.

Pour éviter le remplacement, passez « * » à setIfNoneMatch(String ifNoneMatch).

Exemples de code

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()));

Paramètres:

headers - BlobHttpHeaders
metadata - Métadonnées à associer à l’objet blob. S’il existe un espace blanc de début ou de fin dans une clé ou une valeur de métadonnées, il doit être supprimé ou encodé.
requestConditions - BlobRequestConditions

Retours:

Mono contenant Response<T> dont value contient l’objet blob ajouté créé.

createWithResponse

public Mono> createWithResponse(AppendBlobCreateOptions options)

Crée un objet blob d’ajout de longueur 0. Appelez appendBlock pour ajouter des données à un objet blob d’ajout.

Pour éviter le remplacement, passez « * » à setIfNoneMatch(String ifNoneMatch).

Exemples de code

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()));

Paramètres:

Retours:

Mono contenant Response<T> dont value contient l’objet blob ajouté créé.

getCustomerProvidedKeyAsyncClient

public AppendBlobAsyncClient getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)

Crée un nouveau AppendBlobAsyncClient avec le customerProvidedKey spécifié.

Remplacements:

AppendBlobAsyncClient.getCustomerProvidedKeyAsyncClient(CustomerProvidedKey customerProvidedKey)

Paramètres:

customerProvidedKey - pour CustomerProvidedKey l’objet blob, passez null à n’utiliser aucune clé fournie par le client.

Retours:

avec AppendBlobAsyncClient le spécifié customerProvidedKey.

getEncryptionScopeAsyncClient

public AppendBlobAsyncClient getEncryptionScopeAsyncClient(String encryptionScope)

Crée un nouveau AppendBlobAsyncClient avec le encryptionScope spécifié.

Remplacements:

AppendBlobAsyncClient.getEncryptionScopeAsyncClient(String encryptionScope)

Paramètres:

encryptionScope - l’étendue de chiffrement pour l’objet blob, passez null à n’utiliser aucune étendue de chiffrement.

Retours:

avec AppendBlobAsyncClient le spécifié encryptionScope.

getMaxAppendBlockBytes

public int getMaxAppendBlockBytes()

Obtenez le nombre maximal d’octets de blocs d’ajout en fonction de la version du service utilisée. Les versions de service 2022-11-02 et ultérieures prennent en charge le chargement d’octets de blocs jusqu’à 100 Mo, toutes les anciennes versions de service prennent en charge jusqu’à 4 Mo.

Retours:

nombre maximal d’octets de blocs pouvant être chargés en fonction de la version du service.

getMaxBlocks

public int getMaxBlocks()

Obtenez le nombre maximal de blocs autorisés dans un objet blob d’ajout.

Retours:

nombre maximal de blocs pouvant être chargés dans un objet blob d’ajout.

seal

public Mono seal()

Scelle un objet blob d’ajout, ce qui le rend en lecture seule. Les ajouts suivants échouent.

Exemples de code

client.seal().subscribe(response -> System.out.println("Sealed AppendBlob"));

Retours:

Achèvement de la signalisation de réponse réactive.

sealWithResponse

public Mono> sealWithResponse(AppendBlobSealOptions options)

Scelle un objet blob d’ajout, ce qui le rend en lecture seule. Les ajouts suivants échouent.

Exemples de code

AppendBlobRequestConditions requestConditions = new AppendBlobRequestConditions().setLeaseId(leaseId)
     .setIfUnmodifiedSince(OffsetDateTime.now().minusDays(3));

 client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions))
     .subscribe(response -> System.out.println("Sealed AppendBlob"));

Paramètres:

Retours:

Achèvement de la signalisation de réponse réactive.

S’applique à