A volte, un'API potrebbe esporre un metodo il cui completamento richiede una quantità di tempo significativa. Anziché bloccare l'esecuzione dell'attività, puoi restituire una promessa e consentire all'utente di controllare lo stato.
Le Google Cloud librerie client per Rust forniscono helper per lavorare con queste operazioni a lunga esecuzione (LRO). Questa guida mostra come avviare le LRO e attendere il loro completamento.
Prerequisiti
Questa guida utilizza il servizio Cloud Storage per mantenere concreti gli snippet di codice. Questi concetti si applicano a qualsiasi altro servizio che utilizza le LRO.
Prima di seguire questa guida, devi:
- Creare un Google Cloud progetto.
- Abilitare la fatturazione.
Per istruzioni complete sulla configurazione delle librerie Rust, consulta la sezione Configurare l'ambiente di sviluppo.
Dipendenze
Dichiara Google Cloud le dipendenze nel tuo Cargo.toml file:
cargo add google-cloud-storage google-cloud-lro google-cloud-longrunning
Hai anche bisogno di diverse funzionalità tokio:
cargo add tokio --features full,macros
Avviare un'operazione a lunga esecuzione
Questo esempio utilizza la ridenominazione della cartella. Questa operazione può richiedere molto tempo per le cartelle di grandi dimensioni, ma è relativamente veloce per le cartelle più piccole.
Per avviare un'operazione a lunga esecuzione, devi inizializzare un client ed eseguire la RPC.
Innanzitutto, aggiungi le dichiarazioni use per evitare nomi di pacchetti lunghi:
Poi, crea il client:
Nelle librerie client Rust, ogni richiesta è rappresentata da un metodo che restituisce un generatore di richieste. Chiama il metodo sul client per creare il generatore di richieste: