Las Google Cloud bibliotecas cliente para Rust usan clientes como la principal abstracción para interactuar con servicios específicos. Los clientes se implementan como structs de Rust, con métodos que corresponden a cada RPC que ofrece el servicio. Para usar un servicio deGoogle Cloud con las bibliotecas cliente de Rust, primero debes inicializar un cliente.
En esta guía, inicializarás un cliente y, luego, lo usarás para realizar una RPC con la API de Secret Manager. La misma estructura se aplica a cualquier otro servicio en Google Cloud.
Antes de seguir esta guía, debes hacer lo siguiente:
- Sigue una de las guías de introducción de Secret Manager, como la guía para crear un secreto. En estas guías, se abordan los conceptos específicos de cada servicio con más detalle y se brinda orientación detallada sobre los requisitos previos del proyecto.
- Sigue las instrucciones de la guía para autenticarte y usar las bibliotecas cliente. En esta guía, se muestra cómo acceder para configurar las credenciales predeterminadas de la aplicación que se usan en esta guía.
Dependencias
Con Rust, debes declarar la dependencia en tu archivo Cargo.toml:
$ cargo add google-cloud-secretmanager-v1
Para inicializar un cliente, primero llama a Client::builder() para obtener un ClientBuilder adecuado y, luego, llama a build() en ese compilador para crear un cliente.
El siguiente código crea un cliente con la configuración predeterminada, que está diseñada para cumplir con los requisitos de la mayoría de los casos de uso.
let client = SecretManagerService::builder().build().await?;
Una vez que el cliente se inicializa correctamente, puedes usarlo para realizar RPCs:
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);
}
}
En este ejemplo, se muestra una llamada a list_locations, que devuelve información sobre las ubicaciones compatibles con el servicio (en este caso, Secret Manager).
El resultado del ejemplo debería ser similar al siguiente:
projects/123456789012/locations/europe-west8
projects/123456789012/locations/europe-west9
projects/123456789012/locations/us-east5