始める前に、次の前提条件を満たしている必要があります。
Rust をインストールします。Rust をまだインストールしていない場合は、スタートガイドの Rust ドキュメントをご覧ください。
次のコマンドで、Rust がインストールされていること(と Rust のバージョン)を確認できます。
cargo --versionエディタまたは IDE をインストールします。
Google Cloud CLI をインストールする
新しい Rust プロジェクトを作成する
新しい Rust プロジェクトを作成するには、次のコマンドを実行します。
cargo new my-project
次のコマンドを実行して、ディレクトリを新しいプロジェクトに変更します。
cd my-project
Google Cloud クライアント ライブラリをインストールする
Rust 用 Cloud クライアント ライブラリは、Rust デベロッパーが Secret Manager や Workflows などの Google Cloud サービスと統合するための慣用的な方法です。
新しいプロジェクトに Secret Manager クライアント ライブラリを追加します。
cargo add google-cloud-secretmanager-v1Secret Manager API をまだ有効にしていない場合は、[API とサービス] で有効にするか、次のコマンドを実行して有効にします。
gcloud services enable secretmanager.googleapis.com新しいプロジェクトに
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(()) }最後に、プログラムをビルドします。
cargo build
プログラムはエラーなくビルドされるはずです。
Rust アプリケーションの実行
ローカル開発環境で Cloud クライアント ライブラリを使用するには、アプリケーションのデフォルト認証情報を設定します。
アプリケーションのデフォルト認証情報を設定するには、次のコマンドを実行します。
gcloud auth application-default login
プログラムを実行し、 Google Cloud プロジェクト ID を指定します。
PROJECT_ID=$(gcloud config get project)
cargo run ${PROJECT_ID}
プログラムは、プロジェクト ID に関連付けられたシークレットを出力します。シークレットが表示されない場合は、Secret Manager にシークレットがない可能性があります。シークレットを作成してプログラムを再実行すると、出力にシークレットが表示されます。