PageBlobClient.StartCopyIncremental メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
この操作によりStartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)、sourceUri ページ BLOB のスナップショットがこのページ BLOB にコピーされます。 前にコピーしたスナップショット間の差分変更のみが転送先に転送されるように、スナップショットがコピーされます。 コピーされたスナップショットは、元のスナップショットの完全なコピーであり、通常どおりの読み取りまたはコピーが可能です。 からGetProperties(BlobRequestConditions, CancellationToken)返された をAzure.Storage.Blobs.Models.BlobProperties.CopyStatusチェックして、コピーが完了したかどうかを判断できます。
詳細については、「 増分コピー BLOB と 増分スナップショットを使用して Azure アンマネージド VM ディスクをバックアップします。
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
パラメーター
- sourceUri
- Uri
ソース ページ BLOB への を最大 2 KB の長さとして Uri 指定します。 ソース BLOB はパブリックであるか、共有アクセス署名を介して認証されている必要があります。
- snapshot
- String
sourceUri からのコピーを開始するスナップショットの名前。
- conditions
- PageBlobRequestConditions
このページ BLOB に増分コピーの条件を追加する場合は省略可能 PageBlobRequestConditions です。
- cancellationToken
- CancellationToken
操作を取り消す必要がある通知を伝達する場合は省略可能 CancellationToken です。
戻り値
CopyFromUriOperation増分コピー操作を参照する 。
注釈
RequestFailedExceptionエラーが発生すると、 がスローされます。
増分コピーのコピー先が存在しないか、同じソース BLOB からの以前の増分コピーで作成されている必要があります。 作成後、コピー先 BLOB はソースに永続的に関連付けられるので、増分コピーにのみ使用できます。
、GetBlobs(BlobTraits, BlobStates, String, CancellationToken)、および GetBlobsByHierarchy(BlobTraits, BlobStates, String, String, CancellationToken) の各操作はGetProperties(BlobRequestConditions, CancellationToken)、BLOB がこの方法で作成された増分コピー BLOB であるかどうかを示します。 増分コピー BLOB を直接ダウンロードすることはできません。 サポートされている操作は、 GetProperties(BlobRequestConditions, CancellationToken)、 StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)、および Delete(DeleteSnapshotsOption, BlobRequestConditions, CancellationToken)のみです。 コピーしたスナップショットは、通常どおり読み取りおよび削除できます。
増分コピーはサービスで非同期的に実行され、完了のためにポーリングする必要があります。 ポーリングGetProperties(BlobRequestConditions, CancellationToken)とチェックAzure.Storage.Blobs.Models.BlobProperties.CopyStatusして、コピーがいつ完了したかを判断できます。 コピーが完了すると、コピー先 BLOB に新しいスナップショットが含まれます。 この操作はGetProperties(BlobRequestConditions, CancellationToken)、新しく作成されたスナップショットのスナップショット時刻を返します。
コピー先 BLOB に対して増分コピーを初めて実行すると、ソースから完全にコピーされたスナップショットを使用して新しい BLOB が作成されます。 以降の StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken) を呼び出すたびに、前にコピーしたスナップショットからの差分変更のみをコピーすることで、新しいスナップショットが作成されます。 差分変更は、prevSnapshot が最後にコピーされたスナップショットに設定されたソース BLOB スナップショットの呼び出しを発行GetAllPageRanges(GetPageRangesOptions, CancellationToken)することによって、サーバー上で計算されます。 したがって、 に対する同じ制限が GetAllPageRanges(GetPageRangesOptions, CancellationToken) に StartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)適用されます。 具体的には、スナップショットは昇順でコピーする必要があります。または をStartCopyIncremental(Uri, String, PageBlobRequestConditions, CancellationToken)使用して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)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)ソース BLOB を再作成した場合、新しいスナップショットでは失敗します。
コピーされたスナップショットによって消費される追加の記憶域スペースは、コピー中に転送される差分データのサイズです。 これは、スナップショットで呼び出しをGetAllPageRangesDiff(GetPageRangesDiffOptions, CancellationToken)実行して、前のスナップショットと比較することで判断できます。
適用対象
Azure SDK for .NET