このドキュメントでは、ローカルの Rust 開発環境を設定し、Rust 用の Cloud クライアント ライブラリのいずれかをインストールして、最初の Google CloudAPI リクエストを実行する方法について説明します。
始める前に
このドキュメントのコマンドを実行する前に、次の前提条件を満たしてください。
公式の Rust スタートガイドに沿って Rust をインストールします。インストールされたことを確認します。
cargo --versionエディタまたは IDE をインストールします。
課金が有効になっている Google Cloud プロジェクトを選択または作成します。
Google Cloud CLI をインストールして初期化し、アクティブなアカウントとデフォルト プロジェクトが構成されるようにします。
Rust プロジェクトを作成する
プログラムのバイナリ クレートを作成する手順は次のとおりです。
バイナリ クレートを作成します。
cargo new my-project新しいプロジェクト ディレクトリに移動します。
cd my-project
Google Cloud クライアント ライブラリをインストールする
Rust 用 Cloud クライアント ライブラリは、Secret Manager などのGoogle Cloud サービスに慣用的な Rust クライアントを提供します。Secret Manager クライアント ライブラリを追加してビルドする手順は次のとおりです。
プロジェクトで Secret Manager API を有効にします。
gcloud services enable secretmanager.googleapis.comSecret Manager クライアント ライブラリをプロジェクトに追加します。
cargo add google-cloud-secretmanager-v1ページネーション ヘルパーの
google-cloud-gaxクレートを追加します。cargo add google-cloud-gax非同期ランタイム用の
tokioクレートを追加します。cargo add tokio --features macros,rt-multi-threadsrc/main.rsの内容を次のコードに置き換えて、プロジェクト内のシークレットを一覧表示します。プログラムをビルドして、エラーなくコンパイルされることを確認します。
cargo build
Rust プログラムを実行する
ローカル環境を認証して、サンプル プログラムを実行します。
ローカル環境のアプリケーションのデフォルト認証情報を構成します。
gcloud auth application-default loginGoogle Cloud プロジェクト ID を引数として渡して、プログラムを実行します。
PROJECT_ID=$(gcloud config get project) cargo run -- "${PROJECT_ID}"プログラムは、プロジェクト内のシークレットの名前を出力します。プロジェクトにまだシークレットがない場合は、シークレットを作成し、コマンドを再度実行して出力に表示します。
クリーンアップ
このドキュメントで使用したリソースについて Google Cloud アカウントに課金されないようにするには、作成したテスト シークレットを削除し、完了したらローカルの my-project ディレクトリを削除します。