SnapshotOperations.ApplyWithHttpMessagesAsync(Guid, String, SnapshotApplyMode, Dictionary<String,List<String>>, CancellationToken) Method

Definition

Submit an operation to apply a snapshot to current subscription. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it.<br /> The snapshot interfaces are for users to backup and restore their face data from one face subscription to another, inside same region or across regions. The workflow contains two phases, user first calls Snapshot - Take to create a copy of the source object and store it as a snapshot, then calls Snapshot - Apply to paste the snapshot to target subscription. The snapshots are stored in a centralized location (per Azure instance), so that they can be applied cross accounts and regions.<br /> Applying snapshot is an asynchronous operation. An operation id can be obtained from the "Operation-Location" field in response header, to be used in OperationStatus - Get for tracking the progress of applying the snapshot. The target object id will be included in the "resourceLocation" field in OperationStatus - Get response when the operation status is "succeeded".<br /> Snapshot applying time depends on the number of person and face entries in the snapshot object. It could be in seconds, or up to 1 hour for 1,000,000 persons with multiple faces.<br /> Snapshots will be automatically expired and cleaned in 48 hours after it is created by Snapshot - Take. So the target subscription is required to apply the snapshot in 48 hours since its creation.<br /> Applying a snapshot will not block any other operations against the target object, however it is not recommended because the correctness cannot be guaranteed during snapshot applying. After snapshot applying is completed, all operations towards the target object can work as normal. Snapshot also includes the training results of the source object, which means target subscription the snapshot applied to does not need re-train the target object before calling Identify/FindSimilar.<br /> One snapshot can be applied multiple times in parallel, while currently only CreateNew apply mode is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the "objectId" in request body to avoid such conflicts.<br />

  • Free-tier subscription quota: 100 apply operations per month.
  • S0-tier subscription quota: 100 apply operations per day.
public System.Threading.Tasks.Task<Microsoft.Rest.HttpOperationHeaderResponse<Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyHeaders>> ApplyWithHttpMessagesAsync (Guid snapshotId, string objectId, Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyMode mode = Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyMode.CreateNew, System.Collections.Generic.Dictionary<string,System.Collections.Generic.List<string>> customHeaders = default, System.Threading.CancellationToken cancellationToken = default);
abstract member ApplyWithHttpMessagesAsync : Guid * string * Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyMode * System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Rest.HttpOperationHeaderResponse<Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyHeaders>>
override this.ApplyWithHttpMessagesAsync : Guid * string * Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyMode * System.Collections.Generic.Dictionary<string, System.Collections.Generic.List<string>> * System.Threading.CancellationToken -> System.Threading.Tasks.Task<Microsoft.Rest.HttpOperationHeaderResponse<Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyHeaders>>
Public Function ApplyWithHttpMessagesAsync (snapshotId As Guid, objectId As String, Optional mode As SnapshotApplyMode = Microsoft.Azure.CognitiveServices.Vision.Face.Models.SnapshotApplyMode.CreateNew, Optional customHeaders As Dictionary(Of String, List(Of String)) = Nothing, Optional cancellationToken As CancellationToken = Nothing) As Task(Of HttpOperationHeaderResponse(Of SnapshotApplyHeaders))

Parameters

snapshotId
Guid

Id referencing a particular snapshot.

objectId
String

User specified target object id to be created from the snapshot.

mode
SnapshotApplyMode

Snapshot applying mode. Currently only CreateNew is supported, which means the apply operation will fail if target subscription already contains an object of same type and using the same objectId. Users can specify the "objectId" in request body to avoid such conflicts. Possible values include: 'CreateNew'

customHeaders
Dictionary<String,List<String>>

Headers that will be added to request.

cancellationToken
CancellationToken

The cancellation token.

Returns

Task<HttpOperationHeaderResponse<SnapshotApplyHeaders>>

Implements

Exceptions

Thrown when the operation returned an invalid status code

Thrown when a required parameter is null

Thrown when a required parameter is null

Applies to