Mengganti endpoint default

Library klien Rust otomatis mengonfigurasi endpoint untuk setiap layanan. Beberapa aplikasi mungkin perlu mengganti endpoint default baik karena jaringan mereka memiliki persyaratan tertentu, atau karena mereka perlu menggunakan versi layanan regional. Panduan ini menunjukkan cara mengganti default.

Prasyarat

Panduan ini menggunakan Secret Manager API. Untuk mengaktifkan API ini, ikuti panduan memulai layanan.

Untuk mengetahui petunjuk penyiapan lengkap untuk library klien Rust, lihat Mulai menggunakan Rust.

Dependensi

Anda harus mendeklarasikan dependensi dalam file Cargo.toml:

cargo add google-cloud-secretmanager-v1 google-cloud-gax

Endpoint default

Pertama, tinjau cara menggunakan library klien dengan endpoint default. Mulailah dengan menulis beberapa deklarasi penggunaan untuk menyederhanakan contoh lainnya:

  1. Tulis contoh dalam fungsi yang menerima project ID sebagai parameter:

    /// # Parameters
    /// - `project_id`: the id of a Google Cloud project, or its numeric ID.
    ///   For example: `my-project`.
    pub async fn sample(project_id: &str) -> anyhow::Result<()> {

  2. Tambahkan beberapa deklarasi penggunaan untuk menyederhanakan contoh kode:

    pub use google_cloud_gax::paginator::ItemPaginator;
    pub use google_cloud_secretmanager_v1::client::SecretManagerService;

  3. Lakukan inisialisasi klien menggunakan default:

    let client = SecretManagerService::builder().build().await?;

  4. Dan gunakan klien ini seperti biasa:

    let mut items = client
        .list_secrets()
        .set_parent(format!("projects/{project_id}"))
        .by_item();
    println!("listing all secrets in project {project_id}");
    while let Some(secret) = items.next().await.transpose()? {
        println!("  {secret:?}");
    }
    println!("DONE");

Mengganti endpoint default

Dalam contoh ini, kita mengonfigurasi library klien untuk menggunakan endpoint regional Secret Manager. Penggantian yang sama dapat digunakan untuk mengonfigurasi endpoint dengan salah satu opsi akses pribadi, atau untuk endpoint lokasi di layanan yang mendukungnya.

  1. Seperti sebelumnya, tulis contoh yang menerima project ID dan region sebagai parameter:

    /// # Parameters
    /// - `project_id`: the id of a Google Cloud project, or its numeric ID.
    ///   For example: `my-project`.
    /// - `region`: the id of a Gooogle Cloud region. For example `us-central1`.
    pub async fn sample(project_id: &str, region: &str) -> anyhow::Result<()> {

  2. Tambahkan beberapa deklarasi penggunaan untuk menyederhanakan kode:

    pub use google_cloud_gax::paginator::ItemPaginator;
    pub use google_cloud_secretmanager_v1::client::SecretManagerService;

  3. Lakukan inisialisasi klien menggunakan endpoint target:

    let client = SecretManagerService::builder()
        .with_endpoint(format!("https://secretmanager.{region}.rep.googleapis.com"))
        .build()
        .await?;

  4. Dan gunakan klien ini seperti biasa:

    let mut items = client
        .list_secrets()
        .set_parent(format!("projects/{project_id}/locations/{region}"))
        .by_item();
    println!("listing all secrets in project {project_id} and region {region}");
    while let Some(secret) = items.next().await.transpose()? {
        println!("  {secret:?}");
    }
    println!("DONE");