Cloud Shell は、小さな例やテストを実行するのに最適な環境です。このガイドでは、Rust を構成し、Cloud Shell に Cloud クライアント ライブラリのいずれかをインストールする方法について説明します。
Cloud Shell を起動する
- Google Cloud コンソールのプロジェクト セレクタで、プロジェクトを選択します。
https://shell.cloud.google.comを開いて、新しいシェルを開始します。Google Cloud API 呼び出しに認証情報を使用するために Cloud Shell を承認するよう求められることがあります。
Rust を構成する
Cloud Shell には
rustupがプリインストールされています。これを使用して、Rust のデフォルト バージョンをインストールして構成できます。rustup default stable最新バージョンの Rust がインストールされていることを確認します。
cargo --version
Cloud Shell に Rust クライアント ライブラリをインストールする
新しい Rust プロジェクトを作成します。
cargo new my-projectディレクトリを新しいプロジェクトに変更します。
cd my-project新しいプロジェクトに Secret Manager クライアント ライブラリを追加します。
cargo add google-cloud-secretmanager-v1新しいプロジェクトに google-cloud-gax クレートを追加します。
cargo add google-cloud-gax新しいプロジェクトに tokio クレートを追加します。
cargo add tokio --features macrosSecret Manager クライアント ライブラリを使用するように、プロジェクトの
src/main.rsを編集します。#[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(()) }プログラムを実行し、 Google Cloud プロジェクト ID を指定します。
PROJECT_ID=$(gcloud config get project) cargo run ${PROJECT_ID}プログラムは、プロジェクト ID に関連付けられたシークレットを出力します。シークレットが表示されない場合は、Secret Manager にシークレットがない可能性があります。シークレットを作成してプログラムを再実行すると、出力にシークレットが表示されます。