Le librerie client Google Cloud per Rust utilizzano i client come astrazione principale per interfacciarsi con servizi specifici. I client vengono implementati come struct Rust, con metodi corrispondenti a ogni RPC offerta dal servizio. Per utilizzare un servizioGoogle Cloud utilizzando le librerie client Rust, devi prima inizializzare un client.
In questa guida inizializzerai un client e lo utilizzerai per effettuare una chiamata RPC utilizzando l'API Secret Manager. La stessa struttura si applica a qualsiasi altro servizio in Google Cloud.
Prima di seguire questa guida, devi:
- Segui una delle guide introduttive a Secret Manager, ad esempio la guida su come creare un secret. Queste guide trattano i concetti specifici del servizio in modo più dettagliato e forniscono indicazioni dettagliate sui prerequisiti del progetto.
- Segui le istruzioni riportate nella guida Autenticarsi per utilizzare le librerie client. Questa guida ti mostrerà come accedere per configurare le credenziali predefinite dell'applicazione utilizzate in questa guida.
Dipendenze
Con Rust, devi dichiarare la dipendenza nel file Cargo.toml:
$ cargo add google-cloud-secretmanager-v1
Per inizializzare un client, devi prima chiamare Client::builder() per ottenere un
ClientBuilder
appropriato e poi chiamare build() su quel builder per creare un client.
Il seguente comando crea un client con la configurazione predefinita, progettata per soddisfare i requisiti della maggior parte dei casi d'uso.
let client = SecretManagerService::builder().build().await?;
Una volta inizializzato correttamente il client, puoi utilizzarlo per effettuare chiamate RPC:
use google_cloud_gax::paginator::Paginator as _;
let mut items = client
.list_locations()
.set_name(format!("projects/{project_id}"))
.by_page();
while let Some(page) = items.next().await {
let page = page?;
for location in page.locations {
println!("{}", location.name);
}
}
Questo esempio mostra una chiamata a list_locations, che restituisce informazioni sulle località supportate per il servizio (in questo caso, Secret Manager).
L'output dell'esempio dovrebbe essere simile al seguente:
projects/123456789012/locations/europe-west8
projects/123456789012/locations/europe-west9
projects/123456789012/locations/us-east5