Partager via


Démarrer la perte de données

Cette API provoque une perte de données pour la partition spécifiée. Elle déclenche l’appel de l’API OnDataLossAsync de la partition.

Cette API provoque une perte de données pour la partition spécifiée. Elle déclenche l’appel de l’API OnDataLoss de la partition. La perte de données réelle dépend du paramètre DataLossMode spécifié.

  • PartialDataLoss : seul un quorum de réplicas est supprimé, et l’API OnDataLoss est déclenchée pour la partition, mais la perte de données réelle dépend de la présence de la réplication en cours.
  • FullDataLoss : comme tous les réplicas sont supprimés, toutes les données sont perdues et l’API OnDataLoss est déclenchée.

Cette API doit uniquement être appelée avec un service avec état comme cible.

Il n’est pas conseillé d’appeler cette API avec un service système comme cible.

Remarque : Une fois que cette API a été appelée, elle ne peut pas être inversée. L’appel de CancelOperation arrête uniquement l’exécution et nettoie l’état du système interne. Cette API ne restaure pas les données si la commande a progressé suffisamment pour entraîner une perte de données.

Appelez l’API GetDataLossProgress avec le même ID OperationId pour retourner des informations sur l’opération démarrée avec cette API.

Requête

Méthode URI de demande
POST /Faults/Services/{serviceId}/$/GetPartitions/{partitionId}/$/StartDataLoss?api-version=6.0&OperationId={OperationId}&DataLossMode={DataLossMode}&timeout={timeout}

Paramètres

Nom Type Obligatoire Emplacement
serviceId string Oui Chemin d’accès
partitionId string (uuid) Oui Chemin d’accès
api-version string Oui Requête
OperationId string (uuid) Oui Requête
DataLossMode string (énumération) Oui Requête
timeout entier (int64) Non Requête

serviceId

Type : chaîne
Obligatoire : Oui

Identité du service. Cet ID est généralement le nom complet du service sans le schéma d’URI « fabric: ». Depuis la version 6.0, les noms hiérarchiques sont séparés par le caractère « ~ ». Par exemple, si un service est nommé « fabric:/myapp/app1/svc1 », son identité de service est « myapp~app1~svc1 » dans les versions 6.0 et ultérieures et « myapp/app1/svc1 » dans les versions antérieures.


partitionId

Type : string (uuid)
Obligatoire : Oui

Identité de la partition.


api-version

Type : chaîne
Obligatoire : Oui
Par défaut : 6.0

Version de l’API. Ce paramètre est obligatoire et sa valeur doit être « 6.0 ».

La version de l’API REST Service Fabric est basée sur la version du runtime dans laquelle l’API a été introduite ou a été modifiée. Le runtime Service Fabric prend en charge plusieurs versions de l’API. Il s’agit de la dernière version prise en charge de l’API. Si une version d’API inférieure est transmise, la réponse retournée peut être différente de celle documentée dans cette spécification.

En outre, le runtime accepte toute version supérieure à la dernière version prise en charge jusqu’à la version actuelle du runtime. Par conséquent, si la dernière version de l’API est 6.0, mais si le runtime est 6.1, afin de faciliter l’écriture des clients, le runtime accepte la version 6.1 pour cette API. Toutefois, le comportement de l’API sera en fonction de la version 6.0 documentée.


OperationId

Type : string (uuid)
Obligatoire : Oui

GUID qui identifie un appel de cette API. Cette opération est transmise à l’API GetProgress correspondante


DataLossMode

Type : chaîne (énumération)
Obligatoire : Oui

Cette énumération est transmise à l’API StartDataLoss pour indiquer le type de perte de données à déclencher. Les valeurs possibles sont les suivantes : 'Invalid', 'PartialDataLoss', 'FullDataLoss'


timeout

Type : integer (int64)
Obligatoire : Non
Par défaut : 60
InclusiveMaximum : 4294967295
InclusiveMinimum : 1

Délai d’attente du serveur pour l’exécution de l’opération en secondes. Il spécifie la durée pendant laquelle le client attend la fin de l’opération demandée. La valeur par défaut de ce paramètre est de 60 secondes.

Réponses

Code d’état HTTP Description Schéma de réponse
202 (accepté) Un code de status 202 indique que l’opération a été acceptée. Appelez l’API GetDataLossProgress pour obtenir la progression.
Tous les autres codes status Réponse d’erreur détaillée.
FabricError