תחילת העבודה עם Rust

לפני שמתחילים, חשוב לוודא שהתנאים הבאים מתקיימים:

  • מתקינים את Rust. אם עדיין לא התקנתם את Rust, תוכלו לעיין במסמכי התיעוד של Rust בנושא תחילת העבודה.

    כדי לוודא ש-Rust מותקן (ולבדוק את הגרסה של Rust), מריצים את הפקודה הבאה:

    cargo --version
    
  • מתקינים עורך או IDE.

  • מתקינים את Google Cloud CLI.

יצירת פרויקט Rust חדש

כדי ליצור פרויקט Rust חדש, מריצים את הפקודה הבאה:

cargo new my-project

כדי לשנות את הספרייה לפרויקט החדש, מריצים את הפקודה הבאה:

cd my-project

התקנה של Google Cloud ספריית לקוח

ספריות הלקוח של Cloud ל-Rust הן הדרך המקובלת למפתחי Rust לשלב שירותים כמו Secret Manager ו-Workflows. Google Cloud

  1. מוסיפים את ספריית הלקוח של Secret Manager לפרויקט החדש:

    cargo add google-cloud-secretmanager-v1
    
  2. אם עדיין לא הפעלתם את Secret Manager API, מפעילים אותו בAPIs and services או מריצים את הפקודה הבאה:

    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. עורכים את 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 בסביבת פיתוח מקומית, צריך להגדיר Application Default Credentials.

כדי להגדיר Application Default Credentials, מריצים את הפקודה הבאה:

gcloud auth application-default login

מריצים את התוכנית ומזינים את מזהה הפרויקט Google Cloud :

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

התוכנית תדפיס את הסודות שמשויכים למזהה הפרויקט. אם לא מוצגים סודות, יכול להיות שאין סודות ב-Secret Manager. יוצרים סוד, מריצים מחדש את התוכנית והסוד אמור להופיע בפלט.