クイックスタート: Cloud Shell で Rust を設定する

Cloud Shell は、小さな例やテストを実行するのに最適な環境です。このガイドでは、Rust を構成し、Cloud Shell に Cloud クライアント ライブラリのいずれかをインストールする方法について説明します。

Cloud Shell を起動する

  1. Google Cloud コンソールのプロジェクト セレクタで、プロジェクトを選択します。
  2. https://shell.cloud.google.com を開いて、新しいシェルを開始します。Google Cloud API 呼び出しに認証情報を使用するために Cloud Shell を承認するよう求められることがあります。

Rust を構成する

  1. Cloud Shell には rustup がプリインストールされています。これを使用して、Rust のデフォルト バージョンをインストールして構成できます。

    rustup default stable
    
  2. 最新バージョンの Rust がインストールされていることを確認します。

    cargo --version
    

Cloud Shell に Rust クライアント ライブラリをインストールする

  1. 新しい Rust プロジェクトを作成します。

    cargo new my-project
    
  2. ディレクトリを新しいプロジェクトに変更します。

    cd my-project
    
  3. 新しいプロジェクトに Secret Manager クライアント ライブラリを追加します。

    cargo add google-cloud-secretmanager-v1
    
  4. 新しいプロジェクトに google-cloud-gax クレートを追加します。

    cargo add google-cloud-gax
    
  5. 新しいプロジェクトに tokio クレートを追加します。

    cargo add tokio --features macros
    
  6. Secret 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(())
    }
    
  7. プログラムを実行し、 Google Cloud プロジェクト ID を指定します。

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

    プログラムは、プロジェクト ID に関連付けられたシークレットを出力します。シークレットが表示されない場合は、Secret Manager にシークレットがない可能性があります。シークレットを作成してプログラムを再実行すると、出力にシークレットが表示されます。