Package google.longrunning

Indice

Operazioni

Gestisce le operazioni a lunga esecuzione con un servizio API.

Quando un metodo dell'API richiede normalmente molto tempo per essere completato, può essere progettato per restituire Operation al client, che può utilizzare questa interfaccia per ricevere la risposta reale in modo asincrono eseguendo il polling della risorsa dell'operazione oppure passare la risorsa dell'operazione a un'altra API (ad esempio l'API Pub/Sub) per ricevere la risposta. Qualsiasi servizio API che restituisce operazioni di lunga durata deve implementare l'interfaccia Operations in modo che gli sviluppatori possano avere un'esperienza client coerente.

CancelOperation

rpc CancelOperation(CancelOperationRequest) returns (Empty)

Annullare un trasferimento. Utilizza il metodo transferOperations.get per verificare se l'annullamento è andato a buon fine o se l'operazione è stata completata nonostante la richiesta cancel.

Quando annulli un'operazione, il trasferimento in esecuzione viene interrotto. Per i job di trasferimento ricorrenti, verrà comunque eseguita l'istanza successiva del job di trasferimento. Ad esempio, se il job è configurato per essere eseguito ogni giorno alle 13:00 e annulli l'operazione del lunedì alle 13:05, il trasferimento del lunedì verrà interrotto. Tuttavia, martedì verrà comunque tentato un job di trasferimento.

Questo vale solo per le operazioni in esecuzione. Se al momento non è in esecuzione un'operazione, cancel non fa nulla.

Quando annulli un job, il job successivo calcola un delta di file e può riparare eventuali stati incoerenti. Ad esempio, se esegui un job ogni giorno e quello di oggi ha trovato 10 nuovi file e ne ha trasferiti cinque prima che tu lo annullassi, l'operazione di trasferimento di domani calcolerà un nuovo delta con i cinque file che non sono stati copiati oggi, oltre a eventuali nuovi file scoperti domani.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Per ulteriori informazioni, consulta la sezione Authentication Overview.

GetOperation

rpc GetOperation(GetOperationRequest) returns (Operation)

Recupera lo stato più recente di un'operazione a lunga esecuzione. I client possono utilizzare questo metodo per eseguire il polling del risultato dell'operazione a intervalli come consigliato dal servizio API.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Per ulteriori informazioni, consulta la sezione Authentication Overview.

ListOperations

rpc ListOperations(ListOperationsRequest) returns (ListOperationsResponse)

Elenca le operazioni di trasferimento. Le operazioni sono ordinate in base alla data di creazione in ordine cronologico inverso.

Ambiti di autorizzazione

Richiede il seguente ambito OAuth:

  • https://www.googleapis.com/auth/cloud-platform

Per ulteriori informazioni, consulta la sezione Authentication Overview.

CancelOperationRequest

Il messaggio di richiesta per Operations.CancelOperation.

Campi
name

string

Il nome della risorsa dell'operazione da annullare.

GetOperationRequest

Il messaggio di richiesta per Operations.GetOperation.

Campi
name

string

Il nome della risorsa dell'operazione.

ListOperationsRequest

Il messaggio di richiesta per Operations.ListOperations.

Campi
name

string

Obbligatorio. Il nome del tipo elencato; deve essere transferOperations.

filter

string

Obbligatorio. Un elenco di parametri di query specificati come testo JSON sotto forma di: {"projectId":"my_project_id", "jobNames":["jobid1","jobid2",...], "jobNamePattern": "job_name_pattern", "operationNames":["opid1","opid2",...], "operationNamePattern": "operation_name_pattern", "minCreationTime": "min_creation_time", "maxCreationTime": "max_creation_time", "transferStatuses":["status1","status2",...]}

Poiché jobNames, operationNames e transferStatuses supportano più valori, devono essere specificati con la notazione array. projectId è l'unico argomento obbligatorio. Se specificati, jobNamePattern e operationNamePattern devono corrispondere rispettivamente al nome completo del job o dell'operazione. "*" è un carattere jolly che corrisponde a zero o più caratteri. minCreationTime e maxCreationTime devono essere timestamp codificati come stringa nel formato RFC 3339. I valori validi per transferStatuses sono insensibili alle maiuscole: IN_PROGRESS, PAUSED, SUCCESS, FAILED e ABORTED.

page_size

int32

Le dimensioni della pagina dell'elenco. Il valore massimo consentito è 256.

page_token

string

Il token della pagina dell'elenco.

ListOperationsResponse

Il messaggio di risposta per Operations.ListOperations.

Campi
operations[]

Operation

Un elenco di operazioni che corrisponde al filtro specificato nella richiesta.

next_page_token

string

Il token di pagina successiva dell'elenco standard.

Operazione

Questa risorsa rappresenta un'operazione a lunga esecuzione che è il risultato di una chiamata all'API di rete.

Campi
name

string

Il nome univoco assegnato dal server. Il formato di name è transferOperations/some/unique/name.

metadata

Any

Rappresenta l'oggetto dell'operazione di trasferimento. Per richiedere un oggetto TransferOperation, utilizza transferOperations.get.

done

bool

Se il valore è false, significa che l'operazione è ancora in corso. Se true, l'operazione è completata e error o response è disponibile.

Campo unione result. Il risultato dell'operazione, che può essere un error o un response valido. Se done == false, non è impostato né errorresponse. Se done == true, è possibile impostare esattamente uno tra error o response. Alcuni servizi potrebbero non fornire il risultato. result può essere solo uno dei seguenti:
error

Status

Il risultato dell'errore dell'operazione in caso di fallimento o annullamento.

response

Any

La risposta normale e positiva dell'operazione. Se il metodo originale non restituisce dati in caso di esito positivo, ad esempio Delete, la risposta è google.protobuf.Empty. Se il metodo originale è standard Get/Create/Update, la risposta deve essere la risorsa. Per altri metodi, la risposta deve avere il tipo XxxResponse, dove Xxx è il nome del metodo originale. Ad esempio, se il nome del metodo originale è TakeSnapshot(), il tipo di risposta dedotto è TakeSnapshotResponse.