Cette page explique comment gérer le cycle de vie d'une opération de longue durée (LRO) de l'API Cloud Life Sciences.
Des opérations de longue durée sont renvoyées lorsque des appels de méthode peuvent prendre un certain temps.
L'API Cloud Life Sciences crée une opération de longue durée chaque fois que vous appelez projects.locations.pipelines.run
ou gcloud beta lifesciences pipelines run
.
L'opération de longue durée surveille l'état du pipeline.
Vous pouvez vérifier l'état des opérations de longue durée à l'aide des API d'opérations fournies par l'API Cloud Life Sciences. Vous pouvez également répertorier, interroger ou annuler des opérations de longue durée.
Lorsque vous appelez directement l'API Cloud Life Sciences, les opérations de longue durée sont gérées au niveau du projet Google Cloud et de l'emplacement. Lorsque vous envoyez directement une requête à l'opération de longue durée, incluez le projet Google Cloud et l'emplacement dans lequel l'opération s'exécute.
Si vous avez configuré gcloud CLI, votre requête à l'opération de longue durée ne doit contenir que l'identifiant de l'opération lorsque vous appelez l'API Cloud Life Sciences via gcloud CLI. L'ID de projet Google Cloud et l'emplacement d'exécution de l'opération de longue durée sont déduits à partir de l'ID d'opération.
Vous pouvez gérer vos opérations de longue durée Cloud Life Sciences à l'aide de la console Google Cloud, de Google Cloud CLI ou en appelant directement l'API. La console Google Cloud ne contient pas toutes les informations sur une opération de longue durée qui sont disponibles lorsque vous utilisez gcloud CLI et appelez directement l'API Cloud Life Sciences.
L'enregistrement associé à une opération de longue durée est conservé pendant environ 30 jours après son exécution, ce qui signifie que vous ne pouvez pas afficher ni répertorier une opération de longue durée après cette date.
Obtenir les détails d'une opération de longue durée
Les exemples suivants montrent comment afficher les détails d'une opération de longue durée.
Console
-
Dans la console Google Cloud, accédez à la page "Pipelines" de l'onglet "Sciences de la vie".
Accéder à la page "Pipelines" de l'onglet "Sciences de la vie"
- Les opérations de longue durée et leur état s'affichent. Localisez l'opération de longue durée que vous recherchez et consultez son état. Les valeurs possibles pour la colonne État sont En cours d'exécution, Terminée et Échouée.
gcloud
Supposons que vous receviez la réponse suivante après avoir appelé gcloud beta lifesciences pipelines run
:
Running [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID].
La réponse indique que l'API Cloud Life Sciences a créé une opération de longue durée avec un ID d'opération.
Pour obtenir les détails de l'opération de longue durée, exécutez la commande gcloud beta lifesciences operations describe
en spécifiant l'ID d'opération.
gcloud beta lifesciences operations describe OPERATION_ID
Vous pouvez également obtenir l'ID d'opération en répertoriant les opérations de base de données de longue durée.
Si la requête aboutit, l'invite de commande affiche les détails de l'opération. Le résultat ci-dessous provient de l'opération de pipeline décrite dans le démarrage rapide.
API
Pour connaître l'état et afficher les détails d'une opération de longue durée, appelez la méthode projects.locations.operations.get
.
REST
Supposons que vous receviez la réponse suivante après avoir appelé projects.locations.pipelines.run
:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID" }
La valeur name
dans la réponse indique que l'API Cloud Life Sciences a créé une opération de longue durée appelée projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
.
Vous pouvez également obtenir le nom de l'opération en répertoriant les opérations de longue durée.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement d'exécution de l'opération de longue durée.
- OPERATION_ID : identifiant de l'opération de longue durée.
Méthode HTTP et URL :
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Execute (Exécuter).
Liste des opérations de longue durée
Les exemples suivants montrent comment répertorier les opérations de longue durée d'un projet et d'un emplacement Google Cloud.
Console
-
Dans la console Google Cloud, accédez à la page "Pipelines" de l'onglet "Sciences de la vie".
Accéder à la page "Pipelines" de l'onglet "Sciences de la vie"
- Les opérations de longue durée et leur état s'affichent. Les valeurs possibles pour la colonne État sont En cours d'exécution, Terminée et Échouée.
gcloud
Pour répertorier les opérations de longue durée d'un projet et d'un emplacement Google Cloud, exécutez la commande gcloud beta lifesciences operations list
.
gcloud beta lifesciences operations list
Si la requête aboutit, l'invite de commande répertorie les opérations de longue durée :
ID LOCATION DONE OPERATION_ID LOCATION {TRUE|FALSE} ...
API
Pour répertorier les opérations de longue durée d'un projet et d'un emplacement Google Cloud, appelez la méthode projects.locations.operations.list
.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement d'exécution d'une ou plusieurs opérations de longue durée.
Méthode HTTP et URL :
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations" | Select-Object -Expand Content
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
{ "operations": [ { "name": "PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.lifesciences.v2beta.Metadata", "pipeline": { ... } "createTime": "CREATE_TIME", "startTime": "START_TIME", "endTime": "END_TIME" }, "done": true, "response": { "@type": "type.googleapis.com/cloud.lifesciences.pipelines.RunPipelineResponse" } }, ... ] }
Interroger une opération de longue durée
Les exemples suivants montrent comment interroger l'état d'une opération de longue durée.
Console
-
Dans la console Google Cloud, accédez à la page "Pipelines" de l'onglet "Sciences de la vie".
Accéder à la page "Pipelines" de l'onglet "Sciences de la vie"
- Les opérations de longue durée et leur état s'affichent. Cliquez sur l'icône Actualiser pour mettre à jour l'état d'une opération de longue durée.
gcloud
Après avoir démarré un pipeline, vous pouvez interroger l'opération de longue durée en exécutant la commande gcloud beta lifesciences operations wait
.
gcloud beta lifesciences operations wait OPERATION_ID
Si la requête aboutit, l'invite de commande affiche le résultat suivant :
Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...
Une fois l'opération terminée, l'invite de commande affiche les éléments suivants :
Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...done.
API
Pour interroger une opération de longue durée, appelez la méthode projects.locations.operations.get
de façon répétée jusqu'à la fin de l'opération. Observez un intervalle (10 secondes, par exemple) entre chaque tentative d'interrogation.
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud.
- LOCATION : emplacement d'exécution de l'opération de longue durée.
- OPERATION_ID : identifiant de l'opération de longue durée.
Méthode HTTP et URL :
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante pour interroger l'état d'une opération de longue durée toutes les 10 secondes :
while true; \ do curl -X GET \ -H "Authorization: Bearer "$(gcloud auth print-access-token) \ "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID"; \ sleep 10; \ done
Vous devriez recevoir une réponse JSON semblable à la suivante.
Le résultat ci-dessous provient de l'opération de pipeline décrite dans le démarrage rapide.
Une fois l'opération terminée, la réponse contient "done": true
et une valeur dans le champ endTime
.
PowerShell
Exécutez la commande suivante pour interroger l'état d'une opération de longue durée toutes les 10 secondes :
$cred = gcloud auth print-access-token $headers = @{ Authorization = "Bearer $cred" } Do { Invoke-WebRequest ` -Method Get ` -Headers $headers ` -Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID" | Select-Object -Expand Content sleep 10 } while ($true)
Vous devriez recevoir une réponse JSON semblable à la suivante.
Le résultat ci-dessous provient de l'opération de pipeline décrite dans le démarrage rapide.
Une fois l'opération terminée, la réponse contient "done": true
et une valeur dans le champ endTime
.
Annuler une opération de longue durée
Les exemples suivants montrent comment annuler une opération de longue durée en cours d'exécution.
Console
-
Dans la console Google Cloud, accédez à la page "Pipelines" de l'onglet "Sciences de la vie".
Accéder à la page "Pipelines" de l'onglet "Sciences de la vie"
- Cliquez sur l'ID de l'opération de longue durée que vous souhaitez annuler.
- Cliquez sur l'icône Annuler.
gcloud
Pour annuler une opération de longue durée, exécutez la commande gcloud beta lifesciences operations cancel
.
gcloud beta lifesciences operations cancel OPERATION_ID
Si la requête aboutit, un écran d'annulation s'affiche :
Operation [OPERATION_ID] will be canceled. Do you want to continue (Y/n)? Y
Pour confirmer, saisissez Y. Une fois l'annulation confirmée, la réponse renvoie un corps vide.
Operation [OPERATION_ID] will be canceled. Do you want to continue (Y/n)? Y {}
API
Pour annuler une opération de longue durée, appelez la méthode projects.locations.operations.cancel
.
REST
Avant d'utiliser les données de requête ci-dessous, effectuez les remplacements suivants :
- PROJECT_ID : ID de votre projet Google Cloud
- LOCATION : emplacement d'exécution de l'opération de longue durée.
- OPERATION_ID : identifiant de l'opération de longue durée.
Méthode HTTP et URL :
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel
Pour envoyer votre requête, choisissez l'une des options suivantes :
curl
Exécutez la commande suivante :
curl -X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json; charset=utf-8" \
-d "" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel"
PowerShell
Exécutez la commande suivante :
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method POST `
-Headers $headers `
-Uri "https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel" | Select-Object -Expand Content
API Explorer
Ouvrez la page de référence de la méthode. Le panneau APIs Explorer s'ouvre dans la partie droite de la page. Vous pouvez interagir avec cet outil pour envoyer des requêtes. Renseignez tous les champs obligatoires, puis cliquez sur Exécuter.
Vous devriez recevoir une réponse JSON de ce type :
{}