Rust 使用入门

在开始之前,您应满足以下前提条件:

  • 安装 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 开发者与 Google Cloud 服务(例如 Secret Manager 和 Workflows)集成的惯用方式。

  1. Secret Manager 客户端库添加到新项目中:

    cargo add google-cloud-secretmanager-v1
    
  2. 如果您尚未启用 Secret Manager API,请在 API 和服务中启用它,或运行以下命令:

    gcloud services enable secretmanager.googleapis.com
    
  3. google-cloud-gax添加到新项目中:

    cargo add google-cloud-gax
    
  4. tokio 箱添加到新项目中:

    cargo add tokio --features macros
    
  5. 修改项目中的 src/main.rs 以使用 Secret Manager 客户端库:

    #[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(())
    }
    
  6. 最后,构建您的程序:

    cargo build
    

程序应能顺利构建,不会出现任何错误。

运行 Rust 应用

如需在本地开发环境中使用 Cloud 客户端库,请设置应用默认凭据。

如需设置应用默认凭据,请运行以下命令:

gcloud auth application-default login

运行程序,并提供您的 Google Cloud 项目 ID:

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

该程序将输出与您的项目 ID 关联的 Secret。如果您没有看到任何 Secret,可能是因为 Secret Manager 中没有任何 Secret。 创建密文并重新运行程序,您应该会在输出中看到打印的密文。