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 서비스와 통합하기 위해 사용하는 일반적인 방법입니다.

  1. 새 프로젝트에 Secret Manager 클라이언트 라이브러리를 추가합니다.

    cargo add google-cloud-secretmanager-v1
    
  2. Secret Manager API를 아직 사용 설정하지 않은 경우 API 및 서비스에서 사용 설정하거나 다음 명령어를 실행하여 사용 설정합니다.

    gcloud services enable secretmanager.googleapis.com
    
  3. 새 프로젝트에 google-cloud-gax crate를 추가합니다.

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

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