מדריך למתחילים: הגדרת Rust ב-Cloud Shell

‫Cloud Shell היא סביבה מצוינת להרצת דוגמאות ובדיקות קטנות. במדריך הזה מוסבר איך להגדיר את Rust ולהתקין אחת מספריות הלקוח של Cloud ב-Cloud Shell.

הפעלת Cloud Shell

  1. בבורר הפרויקטים במסוף Google Cloud , בוחרים פרויקט.
  2. פותחים את https://shell.cloud.google.com כדי להתחיל מעטפת חדשה. יכול להיות שתתבקשו לאשר ל-Cloud Shell להשתמש בפרטי הכניסה שלכם עבור קריאות ל-Google Cloud API.

הגדרת Rust

  1. סביבת Cloud Shell כוללת מראש התקנה מאומתת של rustup. אפשר להשתמש בו כדי להתקין ולהגדיר את גרסת ברירת המחדל של Rust:

    rustup default stable
    
  2. בודקים אם מותקנת הגרסה האחרונה של Rust:

    cargo --version
    

התקנת ספריות לקוח של Rust ב-Cloud Shell

  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. עורכים את 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(())
    }
    
  7. מריצים את התוכנית ומזינים את מזהה הפרויקט Google Cloud :

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

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