SnapshotOperations Class
SnapshotOperations operations.
You should not instantiate directly this class, but create a Client instance that will create it for you and attach it as attribute.
- Inheritance
-
builtins.objectSnapshotOperations
Constructor
SnapshotOperations(client, config, serializer, deserializer)
Parameters
Name | Description |
---|---|
client
Required
|
Client for service requests. |
config
Required
|
Configuration of service client. |
serializer
Required
|
An object model serializer. |
deserializer
Required
|
An object model deserializer. |
Methods
apply |
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.
|
delete |
Delete an existing snapshot according to the snapshotId. All object data and information in the snapshot will also be deleted. Only the source subscription who took the snapshot can delete the snapshot. If the user does not delete a snapshot with this API, the snapshot will still be automatically deleted in 48 hours after creation. |
get |
Retrieve information about a snapshot. Snapshot is only accessible to the source subscription who took it, and target subscriptions included in the applyScope in Snapshot - Take. |
get_operation_status |
Retrieve the status of a take/apply snapshot operation. |
list |
List all accessible snapshots with related information, including snapshots that were taken by the user, or snapshots to be applied to the user (subscription id was included in the applyScope in Snapshot - Take). |
take |
Submit an operation to take a snapshot of face list, large face list,
person group or large person group, with user-specified snapshot type,
source object id, apply scope and an optional user data.
|
update |
Update the information of a snapshot. Only the source subscription who took the snapshot can update the snapshot. |
apply
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.
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.
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".
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.
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.
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.
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.
- Free-tier subscription quota: 100 apply operations per month.
- S0-tier subscription quota: 100 apply operations per day.
apply(snapshot_id, object_id, mode='CreateNew', custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
snapshot_id
Required
|
Id referencing a particular snapshot. |
object_id
Required
|
User specified target object id to be created from the snapshot. |
mode
|
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' default value: CreateNew
|
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
None,
<xref:msrest.pipeline.ClientRawResponse>
|
None or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
delete
Delete an existing snapshot according to the snapshotId. All object data and information in the snapshot will also be deleted. Only the source subscription who took the snapshot can delete the snapshot. If the user does not delete a snapshot with this API, the snapshot will still be automatically deleted in 48 hours after creation.
delete(snapshot_id, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
snapshot_id
Required
|
Id referencing a particular snapshot. |
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
None,
<xref:msrest.pipeline.ClientRawResponse>
|
None or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
get
Retrieve information about a snapshot. Snapshot is only accessible to the source subscription who took it, and target subscriptions included in the applyScope in Snapshot - Take.
get(snapshot_id, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
snapshot_id
Required
|
Id referencing a particular snapshot. |
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
Snapshot or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
get_operation_status
Retrieve the status of a take/apply snapshot operation.
get_operation_status(operation_id, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
operation_id
Required
|
Id referencing a particular take/apply snapshot operation. |
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
OperationStatus or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
list
List all accessible snapshots with related information, including snapshots that were taken by the user, or snapshots to be applied to the user (subscription id was included in the applyScope in Snapshot - Take).
list(type=None, apply_scope=None, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
type
|
User specified object type as a search filter. Possible values include: 'FaceList', 'LargeFaceList', 'LargePersonGroup', 'PersonGroup' default value: None
|
apply_scope
|
User specified snapshot apply scopes as a search filter. ApplyScope is an array of the target Azure subscription ids for the snapshot, specified by the user who created the snapshot by Snapshot - Take. default value: None
|
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
<xref:msrest.pipeline.ClientRawResponse>
|
list or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
take
Submit an operation to take a snapshot of face list, large face list,
person group or large person group, with user-specified snapshot type,
source object id, apply scope and an optional user data.
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.
Taking 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 creating the
snapshot. The snapshot id will be included in the "resourceLocation"
field in OperationStatus - Get response when the operation status is
"succeeded".
Snapshot taking time depends on the number of person and face entries
in the source object. It could be in seconds, or up to several hours
for 1,000,000 persons with multiple faces.
Snapshots will be automatically expired and cleaned in 48 hours after
it is created by Snapshot - Take. User can delete the snapshot using
Snapshot - Delete by themselves any time before expiration.
Taking snapshot for a certain object will not block any other
operations against the object. All read-only operations (Get/List and
Identify/FindSimilar/Verify) can be conducted as usual. For all
writable operations, including Add/Update/Delete the source object or
its persons/faces and Train, they are not blocked but not recommended
because writable updates may not be reflected on the snapshot during
its taking. After snapshot taking is completed, all readable and
writable operations can work as normal. Snapshot will also include 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.
- Free-tier subscription quota: 100 take operations per month.
- S0-tier subscription quota: 100 take operations per day.
take(type, object_id, apply_scope, user_data=None, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
type
Required
|
User specified type for the source object to take snapshot from. Currently FaceList, PersonGroup, LargeFaceList and LargePersonGroup are supported. Possible values include: 'FaceList', 'LargeFaceList', 'LargePersonGroup', 'PersonGroup' |
object_id
Required
|
User specified source object id to take snapshot from. |
apply_scope
Required
|
User specified array of target Face subscription ids for the snapshot. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it. |
user_data
|
User specified data about the snapshot for any purpose. Length should not exceed 16KB. default value: None
|
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
None,
<xref:msrest.pipeline.ClientRawResponse>
|
None or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
update
Update the information of a snapshot. Only the source subscription who took the snapshot can update the snapshot.
update(snapshot_id, apply_scope=None, user_data=None, custom_headers=None, raw=False, **operation_config)
Parameters
Name | Description |
---|---|
snapshot_id
Required
|
Id referencing a particular snapshot. |
apply_scope
|
Array of the target Face subscription ids for the snapshot, specified by the user who created the snapshot when calling Snapshot - Take. For each snapshot, only subscriptions included in the applyScope of Snapshot - Take can apply it. default value: None
|
user_data
|
User specified data about the snapshot for any purpose. Length should not exceed 16KB. default value: None
|
custom_headers
|
headers that will be added to the request default value: None
|
raw
|
returns the direct response alongside the deserialized response default value: False
|
operation_config
Required
|
Operation configuration overrides. |
Returns
Type | Description |
---|---|
None,
<xref:msrest.pipeline.ClientRawResponse>
|
None or ClientRawResponse if raw=true |
Exceptions
Type | Description |
---|---|
Attributes
models
models = <module 'azure.cognitiveservices.vision.face.models' from 'C:\\hostedtoolcache\\windows\\Python\\3.11.9\\x64\\Lib\\site-packages\\azure\\cognitiveservices\\vision\\face\\models\\__init__.py'>
Azure SDK for Python
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for