Partager via


AppendBlobClient Classe

public final class AppendBlobClient
extends BlobClientBase

Client vers un objet blob d’ajout. Il peut uniquement être instancié via un SpecializedBlobClientBuilder ou via la méthode getAppendBlobClient(). 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 BlobContainerClient, et les opérations sur le service sont disponibles sur BlobServiceClient.

Pour plus d’informations, consultez Azure Docs .

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
AppendBlobItem appendBlock(InputStream data, long length)

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

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.

Response<AppendBlobItem> appendBlockFromUrlWithResponse(AppendBlobAppendBlockFromUrlOptions options, Duration timeout, Context context)

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

Response<AppendBlobItem> appendBlockFromUrlWithResponse(String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, AppendBlobRequestConditions destRequestConditions, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

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

Response<AppendBlobItem> appendBlockWithResponse(InputStream data, long length, byte[] contentMd5, AppendBlobRequestConditions appendBlobRequestConditions, Duration timeout, Context context)

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

AppendBlobItem create()

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

AppendBlobItem create(boolean overwrite)

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

AppendBlobItem createIfNotExists()

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

Response<AppendBlobItem> createIfNotExistsWithResponse(AppendBlobCreateOptions options, Duration timeout, Context context)

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

Response<AppendBlobItem> createWithResponse(BlobHttpHeaders headers, Map<String,String> metadata, BlobRequestConditions requestConditions, Duration timeout, Context context)

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

Response<AppendBlobItem> createWithResponse(AppendBlobCreateOptions options, Duration timeout, Context context)

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

BlobOutputStream getBlobOutputStream()

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout.

BlobOutputStream getBlobOutputStream(boolean overwrite)

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout.

BlobOutputStream getBlobOutputStream(AppendBlobRequestConditions requestConditions)

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout.

AppendBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

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

AppendBlobClient getEncryptionScopeClient(String encryptionScope)

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

int getMaxAppendBlockBytes()

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

int getMaxBlocks()

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

void seal()

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

Response<Void> sealWithResponse(AppendBlobSealOptions options, Duration timeout, Context context)

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

Méthodes héritées 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é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 AppendBlobItem appendBlock(InputStream 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

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

Paramètres:

data - Données à écrire dans l’objet blob. Les données doivent être markables. Cela permet de prendre en charge les nouvelles tentatives. Si les données ne sont pas markables, envisagez d’utiliser getBlobOutputStream() et d’écrire dans le OutputStream retourné. Vous pouvez également inclure votre source de données dans un BufferedInputStream pour ajouter la prise en charge des marques.
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:

Informations de l’opération d’ajout d’objet blob.

appendBlockFromUrl

public 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.

Exemples de code

System.out.printf("AppendBlob has %d committed blocks%n",
     client.appendBlockFromUrl(sourceUrl, new BlobRange(offset, count)).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:

Informations de l’opération d’ajout d’objet blob.

appendBlockFromUrlWithResponse

public Response appendBlockFromUrlWithResponse(AppendBlobAppendBlockFromUrlOptions options, Duration timeout, Context context)

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

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

Paramètres:

options - options pour l’opération
timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

Informations de l’opération d’ajout d’objet blob.

appendBlockFromUrlWithResponse

public Response appendBlockFromUrlWithResponse(String sourceUrl, BlobRange sourceRange, byte[] sourceContentMd5, AppendBlobRequestConditions destRequestConditions, BlobRequestConditions sourceRequestConditions, Duration timeout, Context context)

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

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

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
timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

Informations de l’opération d’ajout d’objet blob.

appendBlockWithResponse

public Response appendBlockWithResponse(InputStream data, long length, byte[] contentMd5, AppendBlobRequestConditions appendBlobRequestConditions, Duration timeout, Context context)

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

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

Paramètres:

data - Données à écrire dans l’objet blob. Les données doivent être markables. Cela permet de prendre en charge les nouvelles tentatives. Si les données ne sont pas markables, envisagez d’utiliser getBlobOutputStream() et d’écrire dans le OutputStream retourné. Vous pouvez également inclure votre source de données dans un BufferedInputStream pour ajouter la prise en charge des marques.
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
timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

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

create

public AppendBlobItem 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

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

Retours:

Informations de l’objet blob ajouté créé.

create

public AppendBlobItem 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 value
 System.out.printf("Created AppendBlob at %s%n", client.create(overwrite).getLastModified());

Paramètres:

overwrite - Indique s’il faut remplacer ou non des données sur l’objet blob.

Retours:

Informations de l’objet blob ajouté créé.

createIfNotExists

public AppendBlobItem 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();
 System.out.println("Created AppendBlob");

Retours:

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

createIfNotExistsWithResponse

public Response createIfNotExistsWithResponse(AppendBlobCreateOptions options, Duration timeout, Context context)

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

Paramètres:

timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

Une réponse Response<T> réactive signalant l’achèvement, qui value contient les AppendBlobItem informations contenant sur l’objet blob d’ajout. Si Response<T>le code status est 201, un nouvel objet blob d’ajout a été créé avec succès. Si status code est 409, un objet blob d’ajout existait déjà à cet emplacement.

createWithResponse

public Response createWithResponse(BlobHttpHeaders headers, Map metadata, BlobRequestConditions requestConditions, Duration timeout, Context context)

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

 System.out.printf("Created AppendBlob at %s%n",
     client.createWithResponse(headers, metadata, requestConditions, timeout, context).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
timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

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

createWithResponse

public Response createWithResponse(AppendBlobCreateOptions options, Duration timeout, Context context)

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

Paramètres:

timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

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

getBlobOutputStream

public BlobOutputStream getBlobOutputStream()

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout. Si l’objet blob existe déjà sur le service, de nouvelles données sont ajoutées à l’objet blob existant.

Retours:

Objet BlobOutputStream utilisé pour écrire des données dans l’objet blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(boolean overwrite)

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout. Si le remplacement est spécifié true, l’objet blob existant est supprimé et recréé si des données existent sur l’objet blob. Si le remplacement est spécifié false, les nouvelles données sont ajoutées à l’objet blob existant.

Paramètres:

overwrite - Indique si un objet blob existant doit être supprimé et recréé, si des données existent sur l’objet blob.

Retours:

Objet BlobOutputStream utilisé pour écrire des données dans l’objet blob.

getBlobOutputStream

public BlobOutputStream getBlobOutputStream(AppendBlobRequestConditions requestConditions)

Crée et ouvre un flux de sortie pour écrire des données dans l’objet blob d’ajout.

Paramètres:

requestConditions - Objet BlobRequestConditions qui représente les conditions d’accès pour l’objet blob.

Retours:

Objet BlobOutputStream utilisé pour écrire des données dans l’objet blob.

getCustomerProvidedKeyClient

public AppendBlobClient getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

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

Remplacements:

AppendBlobClient.getCustomerProvidedKeyClient(CustomerProvidedKey customerProvidedKey)

Paramètres:

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

Retours:

avec AppendBlobClient le spécifié customerProvidedKey.

getEncryptionScopeClient

public AppendBlobClient getEncryptionScopeClient(String encryptionScope)

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

Remplacements:

AppendBlobClient.getEncryptionScopeClient(String encryptionScope)

Paramètres:

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

Retours:

avec AppendBlobClient le spécifié encryptionScope.

getMaxAppendBlockBytes

public int getMaxAppendBlockBytes()

Obtenez le nombre maximal d’octets de bloc d’ajout en fonction de la version de service utilisée. Les versions de service 2022-11-02 et ultérieures prennent en charge le chargement d’octets de bloc jusqu’à 100 Mo, toutes les versions de service antérieures 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 void seal()

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

Exemples de code

client.seal();
 System.out.println("Sealed AppendBlob");

sealWithResponse

public Response sealWithResponse(AppendBlobSealOptions options, Duration timeout, Context context)

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

 client.sealWithResponse(new AppendBlobSealOptions().setRequestConditions(requestConditions), timeout, context);
 System.out.println("Sealed AppendBlob");

Paramètres:

timeout - Valeur de délai d’expiration facultative au-delà de laquelle un RuntimeException sera déclenché.
context - Contexte supplémentaire transmis via le pipeline Http pendant l’appel de service.

Retours:

Une réponse réactive signalant l’achèvement.

S’applique à