Freigeben über


PageBlobClient.StartCopyIncremental Methode

Definition

Der StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) Vorgang beginnt mit dem Kopieren einer Momentaufnahme des SourceUri-Seitenblobs in dieses Seitenblob. Die Momentaufnahme wird so kopiert, dass nur die differenziellen Änderungen zwischen den zuvor kopierten Momentaufnahme an das Ziel übertragen werden. Die kopierten Momentaufnahmen sind vollständige Kopien der ursprünglichen Momentaufnahme und können wie gewohnt ausgelesen oder kopiert werden. Sie können die Azure.Storage.Blobs.Models.BlobProperties.CopyStatus von GetProperties(BlobRequestConditions, CancellationToken) zurückgegebene überprüfen, um festzustellen, ob die Kopie abgeschlossen wurde.

Weitere Informationen finden Sie unter Blob für inkrementelles Kopieren und Sichern Sie nicht verwaltete Azure-VM-Datenträger mit inkrementellen Momentaufnahmen.

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

Parameter

sourceUri
Uri

Gibt für das Quellseitenblob eine Uri Länge von bis zu 2 KB an. Das Quellblob muss entweder öffentlich sein oder über eine Shared Access Signature authentifiziert werden.

snapshot
String

Der Name eines Momentaufnahme, mit dem das Kopieren aus sourceUri gestartet werden soll.

conditions
PageBlobRequestConditions

Optional PageBlobRequestConditions , um Bedingungen für die inkrementelle Kopie in dieses Seitenblob hinzuzufügen.

cancellationToken
CancellationToken

Optional CancellationToken zur Weitergabe von Benachrichtigungen, dass der Vorgang abgebrochen werden soll.

Gibt zurück

Ein CopyFromUriOperation , der auf den inkrementellen Kopiervorgang verweist.

Hinweise

Ein RequestFailedException wird ausgelöst, wenn ein Fehler auftritt.

Das Ziel einer inkrementellen Kopie darf entweder nicht vorhanden sein oder muss mit einer vorherigen inkrementellen Kopie aus demselben Quellblob erstellt worden sein. Nach der Erstellung ist das Zielblob dauerhaft der Quelle zugeordnet und kann nur für inkrementelle Kopien verwendet werden.

Die GetProperties(BlobRequestConditions, CancellationToken)Vorgänge , GetBlobs(BlobTraits, BlobStates, String, CancellationToken)und GetBlobsByHierarchy(BlobTraits, BlobStates, String, String, CancellationToken) geben an, ob es sich bei dem Blob um ein auf diese Weise erstelltes inkrementelles Kopierblob handelt. Inkrementelle Kopierblobs werden möglicherweise nicht direkt heruntergeladen. Die einzigen unterstützten Vorgänge sind GetProperties(BlobRequestConditions, CancellationToken), StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)und Delete(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken). Die kopierten Momentaufnahmen können wie gewohnt gelesen und gelöscht werden.

Eine inkrementelle Kopie wird asynchron für den Dienst ausgeführt und muss zum Abschluss abgefragt werden. Sie können abfragen GetProperties(BlobRequestConditions, CancellationToken) und überprüfen Azure.Storage.Blobs.Models.BlobProperties.CopyStatus , um festzustellen, wann die Kopie abgeschlossen ist. Nach Abschluss des Kopiervorgangs enthält das Zielblob eine neue Momentaufnahme. Der GetProperties(BlobRequestConditions, CancellationToken) Vorgang gibt die Momentaufnahme Zeit des neu erstellten Momentaufnahme zurück.

Wenn zum ersten Mal eine inkrementelle Kopie für ein Zielblob ausgeführt wird, wird ein neues Blob mit einem Momentaufnahme erstellt, der vollständig aus der Quelle kopiert wird. Bei jedem nachfolgenden Aufruf StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) von wird eine neue Momentaufnahme erstellt, indem nur die differenziellen Änderungen aus dem zuvor kopierten Momentaufnahme kopiert werden. Die differenziellen Änderungen werden auf dem Server berechnet, indem ein GetAllPageRanges(GetPageRangesOptions, CancellationToken) Aufruf für das Quellblob Momentaufnahme ausgeführt wird, wobei prevSnapshot auf den zuletzt kopierten Momentaufnahme festgelegt ist. Daher gelten die gleichen Einschränkungen für GetAllPageRanges(GetPageRangesOptions, CancellationToken) für StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken). Insbesondere müssen Momentaufnahmen in aufsteigender Reihenfolge kopiert werden, und wenn das Quellblob mit 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) oder 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)StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) neu erstellt wird, tritt bei neuen Momentaufnahmen ein Fehler auf.

Der zusätzliche Speicherplatz, der vom kopierten Momentaufnahme verbraucht wird, ist die Größe der differenziellen Daten, die während des Kopiervorgangs übertragen werden. Dies kann durch Ausführen eines GetAllPageRangesDiff(GetPageRangesDiffOptions, CancellationToken) Aufrufs auf dem Momentaufnahme ermittelt werden, um ihn mit dem vorherigen Momentaufnahme zu vergleichen.

Gilt für: