Questa pagina descrive come utilizzare le operazioni a lunga esecuzione avviate utilizzando le chiamate ai metodi in Cloud Storage. Per informazioni dettagliate sulla semantica di un'operazione a lunga esecuzione restituita da una chiamata al metodo specifica, consulta la documentazione relativa alla funzionalità.
Ottieni i ruoli richiesti
Per ottenere le autorizzazioni necessarie per gestire le operazioni a lunga esecuzione in Cloud Storage, chiedi all'amministratore di concederti il ruolo Storage Admin (roles/storage.admin) o Storage Legacy Bucket Owner (roles/storage.legacyBucketOwner) sul bucket o sul progetto utilizzato per eseguire l'operazione sottostante.
Questi ruoli predefiniti contengono le seguenti autorizzazioni, necessarie per gestire le operazioni a lunga esecuzione in Cloud Storage:
storage.bucketOperations.cancelstorage.bucketOperations.getstorage.bucketOperations.liststorage.buckets.list(questa autorizzazione è obbligatoria solo se utilizzi la console Cloud de Confiance )
Per informazioni sulla concessione di ruoli sui bucket, consulta Imposta e gestisci le policy IAM sui bucket. Per informazioni sulla concessione di ruoli ai progetti, consulta Gestisci l'accesso.
Recupera i dettagli di un'operazione a lunga esecuzione
Console
- Nella console Cloud de Confiance , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione a lunga esecuzione.
Fai clic sulla scheda Operazioni.
Riga di comando
Per ottenere i dettagli o controllare lo stato di un'operazione a lunga esecuzione, utilizza il
comando gcloud storage operations describe:
gcloud storage operations describe projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Sostituisci:
BUCKET_NAMEcon il nome del bucket che contiene l'operazione a lunga esecuzione. Ad esempio,my-bucket.OPERATION_IDcon l'ID dell'operazione a lunga esecuzione, che viene restituito nella risposta dei metodi che chiami. Ad esempio, la seguente risposta viene restituita dalla chiamata digcloud storage restoree l'ID dell'operazione a lunga esecuzione èBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaoperations.get:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID"
Sostituisci:
BUCKET_NAMEcon il nome del bucket associato all'operazione a lunga esecuzione.OPERATION_IDcon l'ID dell'operazione a lunga esecuzione, che viene restituito nella risposta dei metodi che chiami. Ad esempio, la seguente risposta viene restituita dalla chiamata digcloud storage restoree l'ID dell'operazione a lunga esecuzione èBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Se la richiesta va a buon fine, viene restituita una risorsa operations:
{
"kind": "storage#operation",
"name": "projects/_/buckets/bucket/operations/operation_id",
"metadata": {
"@type": OperationMetadataType*,
metadata OperationMetadata*
},
"done": boolean,
"response": {
"@type": ResponseResourceType*,
response ResponseResource*
}
}Elenca le operazioni a lunga esecuzione in un bucket
Console
- Nella console Cloud de Confiance , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket.
Fai clic sulla scheda Operazioni.
Riga di comando
Per elencare le operazioni a lunga esecuzione in un bucket, utilizza il comando gcloud storage operations list:
gcloud storage operations list gs://BUCKET_NAME
Sostituisci:
BUCKET_NAMEcon il nome del bucket che contiene le operazioni a lunga esecuzione. Ad esempio,my-bucket.
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaoperations.get:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/operations"
Sostituisci:
BUCKET_NAMEcon il nome del bucket associato alle operazioni a lunga esecuzione che vuoi elencare.
Se la richiesta ha esito positivo, ricevi una risposta simile alla seguente:
{
"kind": "storage#operations",
"nextPageToken": string,
"operations": [
operations Resource
]
}Annulla un'operazione a lunga esecuzione
Console
- Nella console Cloud de Confiance , vai alla pagina Bucket in Cloud Storage.
Nell'elenco dei bucket, fai clic sul nome del bucket associato all'operazione a lunga esecuzione che vuoi annullare.
Fai clic sulla scheda Operazioni.
Nella riga dell'operazione a lunga esecuzione, fai clic su Altre opzioni, quindi su Annulla.
Riga di comando
Per annullare un'operazione a lunga esecuzione, utilizza il comando gcloud storage operations cancel:
gcloud storage operations cancel projects/_/buckets/BUCKET_NAME/operations/OPERATION_ID
Sostituisci:
BUCKET_NAMEcon il nome del bucket che contiene l'operazione a lunga esecuzione. Ad esempio,my-bucket.OPERATION_IDcon l'ID dell'operazione a lunga esecuzione, che viene restituito nella risposta dei metodi che chiami. Ad esempio, la seguente risposta viene restituita dalla chiamata digcloud storage restoree l'ID dell'operazione a lunga esecuzione èBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
API REST
API JSON
Avere gcloud CLI installato e inizializzato, che ti consente di generare un token di accesso per l'intestazione
Authorization.Utilizza
cURLper chiamare l'API JSON con una richiestaoperations.post:curl -X POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.s3nsapis.fr/storage/v1/b/BUCKET_NAME/operations/OPERATION_ID/cancel"
Sostituisci:
BUCKET_NAMEcon il nome del bucket associato all'operazione a lunga esecuzione che vuoi annullare.OPERATION_IDcon l'ID dell'operazione a lunga esecuzione, che viene restituito nella risposta dei metodi che chiami. Ad esempio, la seguente risposta viene restituita dalla chiamata digcloud storage restoree l'ID dell'operazione a lunga esecuzione èBcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP:Created: projects/_/buckets/my-bucket/operations/BcazhBlHv2uZwnlh1UdamOfKbpVpb67drEwVoI2hlkE1e0eaXqw7fPBWP0802TJry4pInGC4h3wxtOi31RmpCC_lvnSocj_-jP
Metadati
Alle operazioni a lunga esecuzione sono associati metadati. I seguenti metadati identificano le proprietà di un'operazione a lunga esecuzione:
Ora di creazione: l'ora in cui è stata creata l'operazione a lunga esecuzione.
Ora di fine: l'ora in cui è terminata l'esecuzione dell'operazione a lunga esecuzione.
Ora di aggiornamento: l'ora dell'ultima modifica dell'operazione a lunga esecuzione.
Tipo: la chiamata API che ha avviato l'operazione a lunga esecuzione.
Annullamento richiesto: indica se l'utente ha richiesto l'annullamento dell'operazione a lunga esecuzione.
Percentuale di avanzamento: l'avanzamento stimato dell'operazione a lunga esecuzione, in percentuale. Un valore pari a
-1indica che lo stato di avanzamento è sconosciuto.
Nella console Cloud de Confiance , la percentuale di avanzamento e i metadati di annullamento richiesti vengono visualizzati in un campo Stato combinato.
Gestione degli errori
Le operazioni a lunga esecuzione vengono avviate da API asincrone e richiedono pratiche di gestione degli errori diverse rispetto alle API sincrone. A differenza delle API sincrone, la risposta alle chiamate API asincrone può indicare l'esito positivo anche se l'operazione a lunga esecuzione alla fine non va a buon fine. Anziché fare affidamento sul codice di stato restituito nelle intestazioni della risposta, devi analizzare i metadati dell'operazione a lunga esecuzione nel corpo della risposta per determinare se una chiamata API è andata a buon fine.
Ad esempio, se effettui una richiesta di ripristino collettivo con eliminazione temporanea, viene restituito un codice di stato HTTP riuscito (200 OK) anche se si verifica un errore nel corso dell'operazione. Per verificare se l'operazione di ripristino collettivo è andata a buon fine,
recupera lo stato dell'operazione a lunga esecuzione.
Tieni presente che le API per le operazione a lunga esecuzione (Get, List, Cancel) sono sincrone e restituiscono errori normali.