שימוש במשתני סביבה

אפשר להגדיר משתני סביבה ל-Workflows בזמן הפריסה. לדוגמה, אתם יכולים ליצור תהליך עבודה שמוגדר באופן דינמי בהתאם לסביבה שבה הוא נפרס. אפשר גם ליצור תהליך עבודה שאפשר להשתמש בו שוב כתבנית ולהגדיר אותו בהתאם למשתני סביבה שמתעדכנים בנפרד.

משתני סביבה מוגדרים כצמדים שרירותיים של מפתח ומחרוזת ערך, שהתהליך העסקי יכול לגשת אליהם בזמן הריצה. הם מאוחסנים בעורף של Workflows, מוגבלים לביצוע של תהליך העבודה ולא ניתן לשנות אותם במהלך הביצוע של תהליך העבודה.

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

אפשר להוסיף, לעדכן או להסיר משתני סביבה שהוגדרו על ידי המשתמש באמצעות Google Cloud CLI.

שמות שמורים

משתני הסביבה המובנים שמוגדרים לזרימות עבודה הם שמורים ואי אפשר להגדיר אותם.

שימו לב: אי אפשר להשתמש בתווים הבאים כשמגדירים משתני סביבה ל-Workflows:

מפתח תיאור
ריק ('') המפתחות לא יכולים להיות מחרוזת ריקה.
GOOGLE_ המפתחות לא יכולים להכיל את הקידומת GOOGLE_.
WORKFLOWS_ המפתחות לא יכולים להכיל את הקידומת WORKFLOWS_.

הגדרה של משתני סביבה

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

המסוף

  1. נכנסים לדף Workflows במסוף Google Cloud :

    כניסה לדף Workflows

  2. בדף Workflows (תהליכי עבודה), לוחצים על Create (יצירה).

  3. בדף יצירת תהליך עבודה, ממלאים את השדות המתאימים כדי להגדיר את הגדרת תהליך העבודה.

  4. בקטע Environment variables (optional) (משתני סביבה (אופציונלי)), לוחצים על Add variable (הוספת משתנה).

  5. בשדה שם 1, מציינים את שם המשתנה.

  6. בשדה ערך 1, מציינים את ערך המשתנה.

  7. כדי להוסיף עוד משתנה, לוחצים על הוספת משתנה.

  8. לוחצים על הבא.

  9. אחרי שמגדירים את תהליך העבודה, לוחצים על פריסה כדי לפרוס אותו.

gcloud

כדי להגדיר משתנה סביבה, משתמשים בדגל --set-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --set-env-vars KEY1=VALUE1

מחליפים את מה שכתוב בשדות הבאים:

  • WORKFLOW_NAME: המזהה של תהליך העבודה.
  • KEY1=VALUE1: שם משתנה הסביבה והערך שלו. לדוגמה, MONTH=January.

Terraform

כדי ליצור תהליך עבודה, משתמשים במשאב google_workflows_workflow ומשנים את קובץ main.tf כמו בדוגמה. מידע נוסף זמין במאמר יצירת תהליך עבודה באמצעות Terraform.

משתמשים בארגומנט user_env_vars כדי לשייך משתנה סביבה לגרסה של תהליך העבודה.

כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.

הגדרה של כמה משתני סביבה

כדי להגדיר כמה משתני סביבה, משתמשים ברשימה מופרדת בפסיקים:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars KEY1=VALUE1,KEY2=VALUE2

תו בריחה (escape) לתווים של פסיקים

מכיוון שהתו פסיק (,) משמש להפרדה בין משתני סביבה, אם ערכי המשתנים כוללים פסיקים, צריך לציין תו מפריד אחר, למשל @:

gcloud workflows deploy WORKFLOW_NAME \
      --set-env-vars ^@^KEY1=VALUE1,VALUE2,VALUE3@KEY2=VALUE2

שמירת המשתנים בקובץ

כדי לשמור את המשתנים בקובץ (לדוגמה, בניהול גרסאות), משתמשים בקובץ YAML ובדגל --env-vars-file:

gcloud workflows deploy WORKFLOW_NAME \
      --env-vars-file FILE_PATH

מחליפים את FILE_PATH בנתיב לקובץ YAML מקומי שמפרט את ההגדרות של משתני הסביבה. שימו לב ששמות המשתנים והערכים שלהם חייבים להיות מחרוזות. כל משתני הסביבה הקיימים מוסרים על ידי Workflows לפני שמשתני הסביבה החדשים מתווספים.

לדוגמה, התוכן של קובץ ה-YAML יכול להיות:

KEY1: "value1"
KEY2: "value2"

מידע נוסף על הפקודה deploy זמין במאמר בנושא gcloud workflows deploy.

גישה למשתני סביבה

כדי לגשת למשתנה סביבה, קוראים לפונקציה sys.get_env() בביטוי, ומעבירים את השם של משתנה הסביבה כפרמטר. השם של משתנה הסביבה חייב להיות מועבר כמחרוזת.

לדוגמה, תהליך העבודה הבא מקצה את הערך של משתנה הסביבה KEY1 למשתנה של תהליך העבודה שנקרא keyValue, ואז מוציא את הערך הזה:

main:
  steps:
    - init:
        assign:
          - keyValue: ${sys.get_env("KEY1")}
    - returnResult:
        return: ${keyValue}

עדכון משתני סביבה

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

המסוף

  1. נכנסים לדף Workflows במסוף Google Cloud .

    כניסה לדף Workflows

  2. לוחצים על השם של תהליך העבודה שרוצים לעדכן.

    יופיע הדף פרטי תהליך העבודה.

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

    • לוחצים על הכרטיסייה פרטים.

      1. לצד Environment variables, לוחצים על הסמל .
      2. מבצעים את השינויים הרצויים.
      3. כדי לפרוס את תהליך העבודה המעודכן, לוחצים על שמירה.
    • לוחצים על עריכה.

      1. בקטע משתני סביבה (אופציונלי), מבצעים את השינויים.
      2. כדי לפרוס את תהליך העבודה המעודכן, לוחצים על הבא ואז על פריסה.

gcloud

כדי לעדכן משתנה, משתמשים בדגל --update-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1

כדי לעדכן כמה משתני סביבה, משתמשים ברשימה מופרדת בפסיקים:

gcloud workflows deploy WORKFLOW_NAME \
    --update-env-vars KEY1=VALUE1,KEY2=VALUE2

מחיקת משתני סביבה

אתם יכולים למחוק משתני סביבה שהוגדרו על ידי המשתמשים עבור תהליכי עבודה קיימים.

המסוף

  1. נכנסים לדף Workflows במסוף Google Cloud .

    כניסה לדף Workflows

  2. לוחצים על השם של תהליך העבודה שרוצים לעדכן.

    יופיע הדף פרטי תהליך העבודה.

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

    • לוחצים על הכרטיסייה פרטים.

      1. לוחצים על הסמל המתאים .
      2. לצד משתנה הסביבה שרוצים למחוק, לוחצים על הסמל .
      3. כדי לפרוס את תהליך העבודה המעודכן, לוחצים על שמירה.
    • לוחצים על עריכה.

      1. לצד משתנה הסביבה שרוצים למחוק, לוחצים על הסמל .
      2. כדי לפרוס את תהליך העבודה המעודכן, לוחצים על הבא ואז על פריסה.

gcloud

כדי להסיר משתני סביבה באופן סלקטיבי, משתמשים בדגל --remove-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --remove-env-vars KEY1,KEY2

לחלופין, אפשר למחוק את כל משתני הסביבה שהוגדרו קודם באמצעות הדגל --clear-env-vars:

gcloud workflows deploy WORKFLOW_NAME \
    --clear-env-vars

שיטות מומלצות

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

ניהול סודות

אפשר להשתמש במשתני סביבה כדי להגדיר תהליכי עבודה, אבל לא מומלץ להשתמש בהם כדי לאחסן ולצרוך סודות כמו פרטי כניסה למסד נתונים או מפתחות API. צריך לאחסן את הערכים הרגישים האלה בנפרד מקוד המקור ומשתני הסביבה, ולוודא שהם לא נשלחים בטעות ליומנים.

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

מוסכמות למתן שמות

ככלל, מומלץ שמפתחות של משתני סביבה יכללו רק אותיות רישיות, ספרות וקווים תחתונים (_), ושלא יתחילו בספרה. כדאי להוסיף קידומת למשתני הסביבה שמוגדרים על ידי המשתמש עם מפתח ייחודי, כדי למנוע התנגשויות עם משתנים אחרים.

מגבלות גודל

אפשר להגדיר עד 20 משתני סביבה שמוגדרים על ידי המשתמש. כל מחרוזת הגדרה (KEY=value) מוגבלת ל-4 KiB.

המאמרים הבאים