Menyiapkan Rust di Cloud Shell

Cloud Shell menyediakan lingkungan command line berbasis browser untuk menjalankan contoh dan menguji API Google Cloud . Dokumen ini menunjukkan cara mengonfigurasi toolchain Rust dan menjalankan contoh Secret Manager menggunakan Library Klien Cloud untuk Rust di Cloud Shell.

Sebelum memulai

Sebelum menjalankan perintah dalam dokumen ini, pilih atau buat projectGoogle Cloud dengan penagihan diaktifkan.

Mulai Cloud Shell

Selesaikan langkah-langkah berikut untuk memilih project dan membuka sesi Cloud Shell:

  1. Di konsol Google Cloud , pilih atau buat project Google Cloud .

    Buka pemilih project

  2. Klik Activate Cloud Shell di bagian atas konsol Google Cloud untuk memulai sesi shell. Jika diminta, beri otorisasi ke Cloud Shell untuk menggunakan kredensial Anda untuk panggilan API. Google Cloud

Mengonfigurasi Rust

Cloud Shell menyertakan rustup yang telah diinstal sebelumnya. Selesaikan langkah-langkah berikut untuk mengonfigurasi dan memverifikasi toolchain Rust:

  1. Konfigurasikan toolchain Rust stabil sebagai default:

    rustup default stable
    
  2. Verifikasi penginstalan Cargo dan Rust Anda:

    cargo --version
    

Menginstal library klien di Cloud Shell

Untuk mengaktifkan API, menambahkan dependensi, dan menjalankan program contoh, selesaikan langkah-langkah berikut:

  1. Aktifkan Secret Manager API di project Anda:

    gcloud services enable secretmanager.googleapis.com
    
  2. Buat crate biner dan ubah ke direktorinya:

    cargo new my-project
    cd my-project
    
  3. Tambahkan library klien Secret Manager, google-cloud-gax, dan tokio ke project Anda:

    cargo add google-cloud-secretmanager-v1 google-cloud-gax
    cargo add tokio --features macros,rt-multi-thread
    
  4. Ganti konten src/main.rs dengan kode berikut:

    #[tokio::main]
    async fn main() -> Result<(), Box<dyn std::error::Error>> {
        use google_cloud_gax::paginator::ItemPaginator as _;
        use google_cloud_secretmanager_v1::client::SecretManagerService;
        let project_id = std::env::args().nth(1).unwrap();
        let client = SecretManagerService::builder().build().await?;
    
        let mut items = client
            .list_secrets()
            .set_parent(format!("projects/{project_id}"))
            .by_item();
        while let Some(item) = items.next().await {
            println!("{}", item?.name);
        }
        Ok(())
    }

  5. Jalankan program, dengan meneruskan project ID Google Cloud Anda sebagai argumen:

    PROJECT_ID=$(gcloud config get project)
    cargo run -- "${PROJECT_ID}"
    

    Program akan mencetak nama secret dalam project Anda. Jika project Anda belum memiliki secret, buat secret dan jalankan kembali perintah untuk melihatnya di output.

Pembersihan

Agar akun Google Cloud Anda tidak dikenai biaya untuk resource yang digunakan dalam dokumen ini, hapus semua secret pengujian yang Anda buat dan hapus direktori my-project dari direktori beranda Cloud Shell setelah selesai.