次の方法で共有


PageBlobClient.StartCopyIncrementalAsync メソッド

定義

この操作によりStartCopyIncrementalAsync(Uri, String, PageBlobRequestConditions, CancellationToken)、sourceUri ページ BLOB のスナップショットがこのページ BLOB にコピーされます。 前にコピーしたスナップショット間の差分変更のみが転送先に転送されるように、スナップショットがコピーされます。 コピーされたスナップショットは、元のスナップショットの完全なコピーであり、通常どおりに読み取りまたはコピーできます。 からGetPropertiesAsync(BlobRequestConditions, CancellationToken)返された をAzure.Storage.Blobs.Models.BlobProperties.CopyStatusチェックして、コピーが完了したかどうかを判断できます。

詳細については、「 増分コピー BLOB 増分スナップショットを使用して Azure アンマネージド VM ディスクをバックアップします

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

パラメーター

sourceUri
Uri

ソース ページ BLOB への を最大 2 KB の長さとして Uri 指定します。 ソース BLOB はパブリックであるか、共有アクセス署名を介して認証される必要があります。

snapshot
String

sourceUri からのコピーを開始するスナップショットの名前。

conditions
PageBlobRequestConditions

このページ BLOB に増分コピーの条件を追加する場合は省略可能 PageBlobRequestConditions です。

cancellationToken
CancellationToken

操作を取り消す必要があることを示す通知を伝達する場合は省略可能 CancellationToken です。

戻り値

CopyFromUriOperation増分コピー操作の状態を記述する 。

注釈

RequestFailedExceptionエラーが発生すると、 がスローされます。

増分コピーのコピー先が存在しないか、同じソース BLOB から以前の増分コピーを使用して作成されている必要があります。 作成されると、コピー先 BLOB はソースに永続的に関連付けられます。増分コピーにのみ使用できます。

GetBlobsAsync(BlobTraits, BlobStates, String, CancellationToken)、および の各操作はGetPropertiesAsync(BlobRequestConditions, CancellationToken)GetBlobsByHierarchyAsync(BlobTraits, BlobStates, String, String, CancellationToken)BLOB がこのように作成された増分コピー BLOB であるかどうかを示します。 増分コピー BLOB を直接ダウンロードすることはできません。 サポートされている操作は、 GetPropertiesAsync(BlobRequestConditions, CancellationToken)StartCopyIncrementalAsync(Uri, String, PageBlobRequestConditions, CancellationToken)、および DeleteAsync(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)のみです。 コピーしたスナップショットは、通常どおりに読み取りおよび削除できます。

増分コピーはサービスで非同期的に実行され、完了をポーリングする必要があります。 ポーリングGetPropertiesAsync(BlobRequestConditions, CancellationToken)とチェックAzure.Storage.Blobs.Models.BlobProperties.CopyStatusして、コピーがいつ完了したかを判断できます。 コピーが完了すると、コピー先 BLOB に新しいスナップショットが含まれます。 この操作はGetPropertiesAsync(BlobRequestConditions, CancellationToken)、新しく作成されたスナップショットのスナップショット時刻を返します。

コピー先 BLOB に対して増分コピーを初めて実行すると、ソースから完全にコピーされたスナップショットを使用して新しい BLOB が作成されます。 以降の をStartCopyIncrementalAsync(Uri, String, PageBlobRequestConditions, CancellationToken)呼び出すたびに、以前にコピーしたスナップショットからの差分変更のみをコピーして、新しいスナップショットが作成されます。 差分変更は、prevSnapshot が最後にコピーされたスナップショットに設定されたソース BLOB スナップショットの呼び出しを発行GetAllPageRangesAsync(GetPageRangesOptions, CancellationToken)することによって、サーバー上で計算されます。 したがって、 に対する同じ制限が GetAllPageRangesAsync(GetPageRangesOptions, CancellationToken)StartCopyIncrementalAsync(Uri, String, PageBlobRequestConditions, CancellationToken)適用されます。 具体的には、スナップショットは昇順でコピーする必要があり、ソース BLOB が または Azure.Storage.Blobs.Specialized.BlobBaseClient.StartCopyFromUriAsync(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)StartCopyIncrementalAsync(Uri, String, PageBlobRequestConditions, CancellationToken) を使用してAzure.Storage.Blobs.Specialized.PageBlobClient.UploadPagesAsync(System.IO.Stream,System.Int64,System.Byte[],Azure.Storage.Blobs.Models.PageBlobRequestConditions,System.IProgress{System.Int64},System.Threading.CancellationToken)再作成された場合、新しいスナップショットでは失敗します。

コピーされたスナップショットによって消費される追加の記憶域は、コピー中に転送される差分データのサイズです。 これは、スナップショットで呼び出しをGetAllPageRangesDiffAsync(GetPageRangesDiffOptions, CancellationToken)実行して、前のスナップショットと比較することによって判断できます。

適用対象