Alcuni metodi dell'API Cloud Translation restituiscono un'operazione a lunga esecuzione.
Questi metodi sono asincroni e l'operazione potrebbe non essere completata quando
il metodo restituisce una risposta. Puoi controllare lo stato di un'operazione o annullarla.
Stato operazione
Di seguito viene illustrato come eseguire il polling dello stato di un'operazione.
REST
Chiama il metodo get
per
operation
risorsa.
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
PROJECT_NUMBER_OR_ID : l'ID numerico o alfanumerico del tuo progetto Google Cloud
location-id : la posizione scelta per il bucket Cloud Storage
operation-id : l'ID operazione che hai ricevuto sopra
Metodo HTTP e URL:
GET https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/location-id /operations/operation-id
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_NUMBER_OR_ID " \ "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/location-id /operations/operation-id "
PowerShell (Windows)
Nota:
Il comando seguente presuppone che tu abbia eseguito l'accesso a
l'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
di Google.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID " } Invoke-WebRequest ` -Method GET ` -Headers $headers ` -Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/location-id /operations/operation-id " | Select-Object -Expand Content
Dovresti ricevere una risposta JSON simile alla seguente:
{
"name": "projects/project-number /locations/location-id /operations/operation-id ",
"metadata": {
"@type": "type.googleapis.com/google.cloud.translation.v3.SomeOperationMetadata",
"state": "SUCCEEDED",
"submitTime": "2019-11-27T22:59:40Z"
}
}
Al termine dell'operazione,
viene restituito un valore state
di SUCCEEDED
.
Annullamento dell'operazione
Di seguito viene mostrato come annullare un'operazione.
REST
Chiama il metodo cancel
sulla risorsa operation
.
Prima di utilizzare i dati della richiesta,
effettua le seguenti sostituzioni:
PROJECT_NUMBER_OR_ID : l'ID numerico o alfanumerico del tuo progetto Google Cloud.
LOCATION : la località scelta quando hai avviato l'operazione.
OPERATION_ID : l'ID dell'operazione da annullare.
Metodo HTTP e URL:
POST https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/LOCATION_ID /operations/OPERATION_ID :cancel
Per inviare la richiesta, espandi una delle seguenti opzioni:
curl (Linux, macOS o Cloud Shell)
Nota:
il seguente comando presuppone che tu abbia eseguito l'accesso all'interfaccia a riga di comando gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
oppure utilizzando Cloud Shell ,
che ti consente di accedere automaticamente all'interfaccia a riga di comando gcloud
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
curl -X POST \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "x-goog-user-project: PROJECT_NUMBER_OR_ID " \ -H "Content-Type: application/json; charset=utf-8" \ -d "" \ "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/LOCATION_ID /operations/OPERATION_ID :cancel"
PowerShell (Windows)
Nota:
il comando seguente presuppone che tu abbia eseguito l'accesso alla CLI gcloud
con il tuo account utente eseguendo
gcloud init
o
gcloud auth login
.
Puoi controllare l'account attualmente attivo eseguendo
gcloud auth list
.
Esegui questo comando:
$cred = gcloud auth print-access-token $headers = @{ "Authorization" = "Bearer $cred"; "x-goog-user-project" = "PROJECT_NUMBER_OR_ID " } Invoke-WebRequest ` -Method POST ` -Headers $headers ` -Uri "https://translation.googleapis.com/v3/projects/PROJECT_NUMBER_OR_ID /locations/LOCATION_ID /operations/OPERATION_ID :cancel" | Select-Object -Expand Content
Dovresti ricevere un codice di stato di operazione riuscita (2xx) e una risposta vuota.
Risorse aggiuntive