빠른 시작: 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 crate를 새 프로젝트에 추가합니다.

    cargo add google-cloud-gax
    
  5. 새 프로젝트에 tokio crate를 추가합니다.

    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에 보안 비밀이 없는 것일 수 있습니다. 보안 비밀을 만들고 프로그램을 다시 실행하면 출력에 보안 비밀이 출력됩니다.