Questa pagina descrive come gestire il ciclo di vita di un'operazione a lunga esecuzione (LRO) dell'API Cloud Life Sciences.
Le operazioni a lunga esecuzione vengono restituite quando le chiamate ai metodi potrebbero richiedere molto tempo per essere completate.
L'API Cloud Life Sciences crea un LRO ogni volta che chiami projects.locations.pipelines.run
o gcloud beta lifesciences pipelines run
.
L'LRO monitora lo stato della pipeline.
Puoi utilizzare le API di operazioni fornite dall'API Cloud Life Sciences per controllare il stato delle ROL. Puoi anche elencare, sondare o annullare le RLO.
Quando chiami direttamente l'API Cloud Life Sciences, le ROL vengono gestite a livello di progetto e posizione Google Cloud. Quando effettui una richiesta direttamente all'LRO, includi il progetto Google Cloud e la posizione in cui è in esecuzione l'LRO.
Se hai configurato gcloud CLI, quando chiami l'API Cloud Life Sciences utilizzando gcloud CLI, la tua richiesta all'LRO deve contenere solo l'identificatore dell'operazione. L'ID progetto Google Cloud e la posizione in cui viene eseguita l'operazione a lunga esecuzione vengono dedotti dall'ID operazione.
Puoi gestire gli oggetti LRO di Cloud Life Sciences utilizzando la console Google Cloud, Google Cloud CLI o chiamando direttamente l'API. La console Google Cloud non contiene tutti i dettagli di un LRO disponibili quando utilizzi l'interfaccia alla gcloud CLI e chiami direttamente l'API Cloud Life Sciences.
Il record di un'LRO viene conservato per circa 30 giorni dal termine dell'LRO, il che significa che non puoi visualizzare o elencare un'LRO dopo questo periodo.
Visualizzare i dettagli di un'operazione a lunga esecuzione
Gli esempi riportati di seguito mostrano come recuperare i dettagli di un LRO.
Console
- Nella console Google Cloud, vai alla pagina Pipeline per le scienze della vita.
- Viene visualizzato un elenco di LRO e il relativo stato. Trova l'ROL che stai cercando e visualizzane lo stato. I valori possibili per la colonna Stato sono In esecuzione, Completato ed Non riuscito.
gcloud
Supponiamo che tu riceva la seguente risposta dopo aver chiamato gcloud beta lifesciences pipelines run
:
Running [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID].
La risposta mostra che l'API Cloud Life Sciences ha creato un LRO con un ID operazione.
Per visualizzare i dettagli dell'operazione a lunga esecuzione, esegui il comando gcloud beta lifesciences operations describe
, specificando l'ID operazione.
gcloud beta lifesciences operations describe OPERATION_ID
Puoi anche recuperare l'ID operazione elencando le operazioni di database a lunga esecuzione.
Se la richiesta va a buon fine, il prompt dei comandi mostra i dettagli dell'operazione. L'output mostrato qui è tratto dall'operazione della pipeline nella guida rapida.
API
Per ottenere lo stato e visualizzare i dettagli di un'operazione di recupero delle risorse, chiama il metodo projects.locations.operations.get
.
REST
Supponiamo che tu riceva la seguente risposta dopo aver chiamato
projects.locations.pipelines.run
:
{ "name": "projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID" }
Il valore name
nella risposta indica che l'API Cloud Life Sciences ha creato un LRO denominato projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID
.
Puoi anche recuperare il nome dell'operazione a lunga esecuzione elencando le operazioni a lunga esecuzione.
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la posizione in cui è in esecuzione l'operazione LRO
- OPERATION_ID: l'identificatore dell'LRO
Metodo HTTP e URL:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Explorer API
Apri la pagina di riferimento del metodo. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila i campi obbligatori e fai clic su Esegui.
Elenco delle operazioni a lunga esecuzione
Gli esempi riportati di seguito mostrano come elencare le risorse LRO in un progetto e in una località Google Cloud.
Console
- Nella console Google Cloud, vai alla pagina Pipeline per le scienze della vita.
- Viene visualizzato un elenco di OLR e il relativo stato. I valori possibili per la colonna Stato sono In esecuzione, Completato ed Non riuscito.
gcloud
Per elencare le entità LRO in un progetto e una località Google Cloud, esegui il comando gcloud beta lifesciences operations list
.
gcloud beta lifesciences operations list
Se la richiesta va a buon fine, il prompt dei comandi elenca le ROL:
ID LOCATION DONE OPERATION_ID LOCATION {TRUE|FALSE} ...
API
Per elencare le OLR in un progetto e una località Google Cloud, chiama il metodo projects.locations.operations.list
.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la posizione in cui sono in esecuzione uno o più LRO
Metodo HTTP e URL:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations"
PowerShell
Esegui questo comando:
$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
Explorer API
Apri la pagina di riferimento del metodo. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
{ "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" } }, ... ] }
Eseguire il polling di un'operazione a lunga esecuzione
Gli esempi riportati di seguito mostrano come eseguire il polling dello stato di un LRO.
Console
- Nella console Google Cloud, vai alla pagina Pipeline per le scienze della vita.
- Viene visualizzato un elenco di OLR e il relativo stato. Fai clic sull'icona Aggiorna per visualizzare lo stato aggiornato di un'operazione di recupero locale.
gcloud
Dopo aver avviato una pipeline, puoi eseguire il polling dell'LRO eseguendo il comando gcloud beta lifesciences operations wait
.
gcloud beta lifesciences operations wait OPERATION_ID
Se la richiesta va a buon fine, il prompt dei comandi mostra quanto segue:
Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...
Al termine dell'operazione, il prompt dei comandi mostra quanto segue:
Waiting for [projects/PROJECT_NUMBER/locations/LOCATION/operations/OPERATION_ID] to complete...done.
API
Per eseguire il polling di un'operazione LRO, chiama ripetutamente il metodo projects.locations.operations.get
fino al termine dell'operazione. Utilizza un backoff tra ogni richiesta di polling, ad esempio 10 secondi.
Prima di utilizzare i dati di richiesta riportati di seguito, effettua le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la posizione in cui è in esecuzione l'operazione LRO
- OPERATION_ID: l'identificatore dell'LRO
Metodo HTTP e URL:
GET https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui il seguente comando per eseguire il polling dello stato di un LRO ogni 10 secondi:
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
Dovresti ricevere una risposta JSON simile alla seguente.
L'output mostrato qui è tratto dall'operazione della pipeline nella guida rapida.
Al termine dell'operazione, la risposta conterrà "done": true
e un valore nel campo endTime
.
PowerShell
Esegui il seguente comando per eseguire il polling dello stato di un LRO ogni dieci secondi:
$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)
Dovresti ricevere una risposta JSON simile alla seguente.
L'output mostrato qui è tratto dall'operazione della pipeline nella guida rapida.
Al termine dell'operazione, la risposta conterrà "done": true
e un valore nel campo endTime
.
Annullamento di un'operazione a lunga esecuzione
Gli esempi riportati di seguito mostrano come annullare un LRO durante l'esecuzione.
Console
- Nella console Google Cloud, vai alla pagina Pipeline per le scienze della vita.
- Fai clic sull'ID dell'ROL che vuoi annullare.
- Fai clic sull'icona Annulla.
gcloud
Per annullare un LRO, esegui il comando gcloud beta lifesciences operations cancel
.
gcloud beta lifesciences operations cancel OPERATION_ID
Se la richiesta va a buon fine, viene visualizzato un messaggio di annullamento:
Operation [OPERATION_ID] will be canceled. Do you want to continue (Y/n)? Y
Per confermare, digita Y. Dopo aver confermato l'annullamento, la risposta restituisce un corpo vuoto.
Operation [OPERATION_ID] will be canceled. Do you want to continue (Y/n)? Y {}
API
Per annullare un LRO, chiama il metodo projects.locations.operations.cancel
.
REST
Prima di utilizzare i dati della richiesta, apporta le seguenti sostituzioni:
- PROJECT_ID: il tuo ID progetto Google Cloud
- LOCATION: la posizione in cui è in esecuzione l'operazione LRO
- OPERATION_ID: l'identificatore dell'LRO
Metodo HTTP e URL:
POST https://lifesciences.googleapis.com/v2beta/projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID:cancel
Per inviare la richiesta, scegli una delle seguenti opzioni:
curl
Esegui questo comando:
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
Esegui questo comando:
$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
Explorer API
Apri la pagina di riferimento del metodo. Il riquadro Esplora API si apre sul lato destro della pagina. Puoi interagire con questo strumento per inviare richieste. Compila i campi obbligatori e fai clic su Esegui.
Dovresti ricevere una risposta JSON simile alla seguente:
{}