PageBlobClient.StartCopyIncremental Méthode

Définition

L’opération StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) commence à copier un instantané de l’objet blob de pages sourceUri dans cet objet blob de pages. Le instantané est copié de telle sorte que seules les modifications différentielles entre les instantané précédemment copiées soient transférées vers la destination. Les instantanés copiés sont des copies complètes du instantané d’origine et peuvent être lus ou copiés comme d’habitude. Vous pouvez case activée le Azure.Storage.Blobs.Models.BlobProperties.CopyStatus retourné par pour GetProperties(BlobRequestConditions, CancellationToken) déterminer si la copie est terminée.

Pour plus d'informations, consultez la rubrique Objet blob de copie incrémentielle et Sauvegardez des disques de machines virtuelles Non managés Azure avec des instantanés incrémentiels.

public virtual Azure.Storage.Blobs.Models.CopyFromUriOperation StartCopyIncremental (Uri sourceUri, string snapshot, Azure.Storage.Blobs.Models.PageBlobRequestConditions conditions = default, System.Threading.CancellationToken cancellationToken = default);
abstract member StartCopyIncremental : Uri * string * Azure.Storage.Blobs.Models.PageBlobRequestConditions * System.Threading.CancellationToken -> Azure.Storage.Blobs.Models.CopyFromUriOperation
override this.StartCopyIncremental : Uri * string * Azure.Storage.Blobs.Models.PageBlobRequestConditions * System.Threading.CancellationToken -> Azure.Storage.Blobs.Models.CopyFromUriOperation
Public Overridable Function StartCopyIncremental (sourceUri As Uri, snapshot As String, Optional conditions As PageBlobRequestConditions = Nothing, Optional cancellationToken As CancellationToken = Nothing) As CopyFromUriOperation

Paramètres

sourceUri
Uri

Spécifie l’objet blob de la page source d’une Uri longueur maximale de 2 Ko. L’objet blob source doit être public ou doit être authentifié via une signature d’accès partagé.

snapshot
String

Nom d’un instantané de commencer la copie à partir de sourceUri.

conditions
PageBlobRequestConditions

Facultatif PageBlobRequestConditions pour ajouter des conditions sur la copie incrémentielle dans cet objet blob de pages.

cancellationToken
CancellationToken

Facultatif CancellationToken pour propager des notifications indiquant que l’opération doit être annulée.

Retours

CopyFromUriOperation référençant l’opération de copie incrémentielle.

Remarques

Un RequestFailedException est levée si une défaillance se produit.

La destination d’une copie incrémentielle ne doit pas exister ou doit avoir été créée avec une copie incrémentielle précédente à partir du même objet blob source. Une fois créé, l’objet blob de destination est associé de manière permanente à la source et ne peut être utilisé que pour les copies incrémentielles.

Les GetProperties(BlobRequestConditions, CancellationToken)opérations , GetBlobs(BlobTraits, BlobStates, String, CancellationToken)et GetBlobsByHierarchy(BlobTraits, BlobStates, String, String, CancellationToken) indiquent si l’objet blob est un objet blob de copie incrémentielle créé de cette façon. Les objets blob de copie incrémentielle ne peuvent pas être téléchargés directement. Les seules opérations prises en charge sont GetProperties(BlobRequestConditions, CancellationToken), StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)et Delete(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken). Les instantanés copiés peuvent être lus et supprimés comme d’habitude.

Une copie incrémentielle est effectuée de manière asynchrone sur le service et doit être interrogée pour être terminée. Vous pouvez interroger GetProperties(BlobRequestConditions, CancellationToken) et case activée Azure.Storage.Blobs.Models.BlobProperties.CopyStatus pour déterminer quand la copie est terminée. Une fois la copie terminée, l’objet blob de destination contient une nouvelle instantané. L’opération GetProperties(BlobRequestConditions, CancellationToken) retourne l’heure instantané du instantané nouvellement créé.

La première fois qu’une copie incrémentielle est effectuée sur un objet blob de destination, un nouvel objet blob est créé avec un instantané entièrement copié à partir de la source. Chaque appel suivant à StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) crée une nouvelle instantané en copiant uniquement les modifications différentielles de la instantané précédemment copiée. Les modifications différentielles sont calculées sur le serveur en émettant un GetAllPageRanges(GetPageRangesOptions, CancellationToken) appel sur l’objet blob source instantané avec prevSnapshot défini sur le dernier instantané copié. Par conséquent, les mêmes restrictions sur GetAllPageRanges(GetPageRangesOptions, CancellationToken) s’appliquent à StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken). Plus précisément, les instantanés doivent être copiés dans l’ordre croissant et si l’objet blob source est recréé à l’aide Azure.Storage.Blobs.Specialized.PageBlobClient.UploadPages(System.IO.Stream,System.Int64,System.Byte[],Azure.Storage.Blobs.Models.PageBlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken) de ou Azure.Storage.Blobs.Specialized.BlobBaseClient.StartCopyFromUri(System.Uri,System.Collections.Generic.IDictionary{System.String,System.String},System.Nullable{Azure.Storage.Blobs.Models.AccessTier},Azure.Storage.Blobs.Models.BlobRequestConditions,Azure.Storage.Blobs.Models.BlobRequestConditions,System.Nullable{Azure.Storage.Blobs.Models.RehydratePriority},System.Threading.CancellationToken) sur StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) de nouveaux instantanés échoue.

L’espace de stockage supplémentaire consommé par le instantané copié est la taille des données différentielles transférées pendant la copie. Cela peut être déterminé en effectuant un GetAllPageRangesDiff(GetPageRangesDiffOptions, CancellationToken) appel sur le instantané pour le comparer à la instantané précédente.

S’applique à