אפשר ליצור ולנהל תהליכי עבודה במסוף Google Cloud או באמצעות Google Cloud CLI בטרמינל או ב-Cloud Shell. אפשר גם לנהל תהליכי עבודה באמצעות Workflows API.
לפני שמתחילים
יכול להיות שהגבלות אבטחה שהוגדרו בארגון שלכם ימנעו מכם להשלים את השלבים הבאים. מידע לפתרון בעיות זמין במאמר פיתוח אפליקציות בסביבה מוגבלת. Google Cloud
המסוף
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Workflows API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Workflows API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
gcloud
- נכנסים לחשבון Google Cloud . אם אתם משתמשים חדשים ב- Google Cloud, צרו חשבון כדי שתוכלו להעריך את הביצועים של המוצרים שלנו בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Workflows API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable workflows.googleapis.com
-
התקינו את ה-CLI של Google Cloud.
-
אם אתם משתמשים בספק זהויות חיצוני (IdP), קודם אתם צריכים להיכנס ל-CLI של gcloud באמצעות המאגר המאוחד לניהול זהויות.
-
כדי לאתחל את ה-CLI של gcloud, הריצו את הפקודה הבאה:
gcloud init -
יוצרים או בוחרים Google Cloud פרויקט.
תפקידים שנדרשים כדי לבחור או ליצור פרויקט
- Select a project: כדי לבחור פרויקט לא צריך תפקיד IAM ספציפי – אפשר לבחור כל פרויקט שקיבלתם בו תפקיד.
-
יצירת פרויקט: כדי ליצור פרויקט, צריך את התפקיד Project Creator (יצירת פרויקטים) (
roles/resourcemanager.projectCreator), שכולל את ההרשאהresourcemanager.projects.create. איך מקצים תפקידים
-
יוצרים Google Cloud פרויקט:
gcloud projects create PROJECT_ID
מחליפים את
PROJECT_IDבשם של פרויקט Google Cloud שיוצרים. -
בוחרים את הפרויקט שיצרתם: Google Cloud
gcloud config set project PROJECT_ID
מחליפים את
PROJECT_IDבשם הפרויקט ב- Google Cloud .
מפעילים את Workflows API:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable workflows.googleapis.com
REST
כדי לנהל תהליכי עבודה באמצעות Workflows API, מומלץ להשתמש בספריות הלקוח ש-Google מספקת כדי לקרוא לשירות workflows.googleapis.com. מידע נוסף זמין במאמר בנושא Workflows API.
יצירה של חשבון שירות
חשבון שירות מייצג את הזהות של תהליך עבודה, וקובע אילו הרשאות יש לתהליך העבודה ולאילו Google Cloud משאבים הוא יכול לגשת. אם עדיין אין לכם חשבון שירות, אתם צריכים ליצור אחד ולהקצות לו את התפקידים שנדרשים לניהול תהליכי עבודה וליצירת יומנים.
אם לא מציינים חשבון שירות במהלך יצירת תהליך העבודה, תהליך העבודה משתמש בחשבון השירות שמוגדר כברירת מחדל של Compute Engine לזהות שלו. מידע נוסף זמין במאמר בנושא הענקת הרשאה לזרימת עבודה לגשת למשאבים ב- Google Cloud .
מומלץ מאוד להשתמש בחשבון שירות עם ההרשאות המינימליות שנדרשות לגישה למשאבים הרלוונטיים.
שימו לב: כדי ליצור משאב ולצרף חשבון שירות, נדרשות הרשאות ליצירת המשאב וההרשאה להתחזות לחשבון השירות שתצרפו למשאב. מידע נוסף זמין במאמר הרשאות לחשבון שירות.
המסוף
נכנסים לדף Service Accounts במסוף Google Cloud .
בוחרים פרויקט ולוחצים על Create service account.
כותבים שם בשדה Service account name.
השם צריך להיות באורך שבין 6 ל-30 תווים, והוא יכול לכלול תווים אלפאנומריים ומקפים. אחרי שיוצרים חשבון שירות, אי אפשר לשנות את השם שלו.
לוחצים על Create and continue.
לוחצים על בחירת תפקיד.
בוחרים את התפקידים הבאים ולוחצים על Add another role לפי הצורך:
- כדי ליצור, לעדכן ולהפעיל תהליכי עבודה, בוחרים באפשרות תהליכי עבודה > עורך תהליכי עבודה.
- כדי לשלוח יומנים אל Cloud Logging, בוחרים באפשרות Logging > Logs Writer.
לוחצים על Done כדי לסיים ליצור את חשבון השירות.
gcloud
יוצרים את חשבון השירות.
gcloud iam service-accounts create SERVICE_ACCOUNT
מקצים תפקידים כדי לתת הרשאות לחשבון השירות.
כדי ליצור, לעדכן ולהפעיל תהליכי עבודה, צריך להקצות את התפקיד
roles/workflows.editor:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/workflows.editor"
כדי לשלוח יומנים ל-Cloud Logging, מקצים את התפקיד
roles/logging.logWriter:gcloud projects add-iam-policy-binding PROJECT_ID \ --member "serviceAccount:SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com" \ --role "roles/logging.logWriter"
מחליפים את מה שכתוב בשדות הבאים:
SERVICE_ACCOUNT: השם של חשבון השירות. הוא צריך להיות באורך שבין 6 ל-30 תווים, והוא יכול לכלול תווים אלפאנומריים ומקפים. אחרי שיוצרים חשבון שירות, אי אפשר לשנות את השם שלו.
PROJECT_ID: מזהה הפרויקט.
REST
אפשר להשתמש בשיטה
serviceAccounts.create
כדי ליצור חשבון שירות. מידע נוסף זמין במאמר יצירת חשבונות שירות.
אפשר לתת כמה תפקידים באופן פרוגרמטי על ידי שינוי מדיניות ההרשאות של משאב והגדרתה באמצעות השיטה setIamPolicy. מידע נוסף זמין במאמר בנושא איך נותנים או מבטלים מספר תפקידים באופן פרוגרמטי.
יצירת תהליך עבודה
הגדרת תהליך עבודה מורכבת מסדרה של שלבים שמתוארים באמצעות התחביר של Workflows, שאפשר לכתוב בפורמט YAML או JSON. אחרי שמגדירים את תהליך העבודה, פורסים אותו כדי שיהיה זמין להרצה. בשלב הפריסה מתבצעת גם בדיקה של קובץ המקור כדי לוודא שאפשר להפעיל אותו. הפעולה תיכשל אם קובץ המקור לא מכיל הגדרה תקינה של תהליך עבודה.
עריכת קובצי YAML עלולה להוביל לשגיאות. כדי ליצור את תהליך העבודה, אפשר להשתמש בסביבת פיתוח משולבת (IDE) או בעורך קוד מקור מועדף, ולהגדיר השלמה אוטומטית ואימות תחביר כדי לצמצם את מספר השגיאות.
המסוף
נכנסים לדף Workflows במסוף Google Cloud .
לוחצים על Create.
מזינים שם לתהליך העבודה, למשל
myFirstWorkflow. השם יכול להכיל אותיות, מספרים, קווים תחתונים ומקפים. הוא צריך להתחיל באות ולהסתיים במספר או באות.אפשר גם להוסיף תיאור של תהליך העבודה.
ברשימה Region, בוחרים מיקום מתאים לפריסת תהליך העבודה, לדוגמה, us-central1.
ברשימה Service account, בוחרים חשבון שירות שהתהליך העסקי ישתמש בו כדי לגשת לשירותים אחרים של Google Cloud Google. למידע נוסף, קראו את החלק יצירת חשבון שירות במאמר הזה.
אפשר גם לבצע את הפעולות הבאות:
מציינים את הרמה של רישום שיחות שרוצים להחיל על הגדרת תהליך העבודה. ברשימה Call log level, בוחרים באחת מהאפשרויות הבאות:
- לא צוין: לא צוינה רמת רישום. (זוהי ברירת המחדל) רמת היומן של ההפעלה מקבלת עדיפות על פני כל רמת יומן של תהליך העבודה, אלא אם לא צוינה רמת היומן של ההפעלה (ברירת המחדל). במקרה כזה, חלה רמת היומן של תהליך העבודה.
- שגיאות בלבד: רישום ביומן של כל החריגות שתועדו, או כששיחה נעצרת בגלל חריגה.
- כל השיחות: רישום ביומן של כל השיחות עם פונקציות של תהליכי משנה או של ספרייה, והתוצאות שלהן.
- ללא יומנים: לא מתבצעת רישום של שיחות ביומן.
מציינים את רמת היסטוריית הביצוע שרוצים להחיל על הגדרת תהליך העבודה. ברשימה Execution history בוחרים באחת מהאפשרויות הבאות:
- בסיסי: הפעלה של היסטוריית ביצוע בסיסית. (זוהי ברירת המחדל)
- מפורט: הפעלת היסטוריית ביצוע מפורטת, כולל ערכי משתנים בהיקף וצפי למספר האיטרציות.
מציינים מפתח של Cloud Key Management Service שבו יש להשתמש בתהליך העבודה להצפנת נתונים: בוחרים באפשרות מפתח הצפנה בניהול הלקוח (CMEK). מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח.
מציינים משתנה סביבה שתהליך העבודה יכול לגשת אליו בזמן הריצה. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה.
הוספת תווית: תוויות הן צמדי מפתח/ערך שעוזרים לכם לארגן אתGoogle Cloud המופעים. מידע נוסף זמין במאמר מהן תוויות? התוויות של תהליך העבודה עוברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההפעלה, משתמשים בשיטה
workflows.executions.listכדי להציג רשימה של הפעלות של זרימות עבודה ולסנן אותן.מתזמנים את תהליך העבודה: בוחרים באפשרות הוספת טריגר חדש > Cloud Scheduler. מידע נוסף זמין במאמר בנושא תזמון של תהליך עבודה באמצעות Cloud Scheduler.
מפעילים את תהליך העבודה באמצעות אירוע או הודעת Pub/Sub: בוחרים באפשרות הוספת טריגר חדש > Eventarc. מידע נוסף זמין במאמר הפעלת תהליך עבודה באמצעות אירועים או הודעות Pub/Sub.
לוחצים על הבא.
בכלי לעריכת תהליכי עבודה, מזינים את ההגדרה של תהליך העבודה. דוגמה לזרימת עבודה
לוחצים על פריסה.
gcloud
מוודאים שקוד המקור של תהליך העבודה נשמר בקובץ YAML או JSON, כמו
MY_WORKFLOW.YAMLאוMY_WORKFLOW.JSON. דוגמה לזרימת עבודהפותחים טרמינל.
אפשר ליצור ולפרוס תהליך עבודה באמצעות הפקודה
gcloud workflows deploy:gcloud workflows deploy WORKFLOW_NAME \ --location=LOCATION \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \ --source=YAML_OR_JSON_SOURCE_FILE
מחליפים את מה שכתוב בשדות הבאים:
WORKFLOW_NAME: שם תהליך העבודה, לדוגמהmyFirstWorkflow. השם יכול להכיל אותיות, מספרים, קווים תחתונים ומקפים. הוא צריך להתחיל באות ולהסתיים במספר או באות.
LOCATION: האזור שבו רוצים לפרוס את תהליך העבודה. לדוגמה,us-central1.
CALL_LOGGING_LEVEL: אופציונלי. רמת רישום השיחות שתחול במהלך ההפעלה. יכול להיות אחד מהערכים הבאים:-
none: לא צוינה רמת רישום ביומן. (זוהי ברירת המחדל) רמת יומן הביצוע מקבלת עדיפות על פני כל רמת יומן של תהליך עבודה, אלא אם רמת יומן הביצוע לא צוינה (ברירת המחדל). במקרה כזה, חלה רמת היומן של תהליך העבודה. -
log-errors-only: רישום ביומן של כל החריגים שזוהו, או כששיחה נעצרת בגלל חריגה. -
log-all-calls: רישום ביומן של כל הקריאות לפונקציות של תהליכי משנה או של ספרייה והתוצאות שלהן. log-none: אין רישום של שיחות.
-
DESCRIPTION: אופציונלי. תיאור של תהליך העבודה.
EXECUTION_HISTORY_LEVEL: אופציונלי. רמת היסטוריית הביצוע להחלה במהלך הביצוע. יכול להיות אחד מהערכים הבאים:-
none: לא צוינה רמה של היסטוריית ביצוע. זוהי אפשרות ברירת המחדל. אם לא מצוינת רמה של היסטוריית ביצועים לביצוע, הרמה נקבעת לפי הרמה שחלה על תהליך העבודה. אם הרמות שונות, ההגדרה שחלה ברמת הביצוע מבטלת את ההגדרה שחלה ברמת תהליך העבודה עבור הביצוע הזה. -
execution-history-basic: הפעלת היסטוריית ביצוע בסיסית. -
execution-history-detailed: הפעלת היסטוריית ביצוע מפורטת כולל ערכים של משתנים בהיקף והמספר הצפוי של איטרציות.
-
LABEL_KEY=LABEL_VALUE: אופציונלי. רשימה של צמדי מפתח/ערך של תוויות שעוזרת לכם לארגן את המופעים שלGoogle Cloud . לדוגמה,name=wrench. מידע נוסף זמין במאמר מהן תוויות? התוויות של תהליך העבודה עוברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההפעלה, משתמשים בשיטהworkflows.executions.listכדי להציג רשימה של הפעלות של זרימות עבודה ולסנן אותן.
ENV_KEY=ENV_VALUE: אופציונלי. רשימה של צמדי מפתח/ערך של משתני סביבה, לדוגמה:MONTH=January. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה.
ENCRYPT_KEY: אופציונלי. מפתח Cloud KMS שהתהליך צריך להשתמש בו להצפנת נתונים בפורמטprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: אופציונלי. חשבון השירות שבו ישתמש תהליך העבודה כדי לגשת לשירותים אחרים שלGoogle Cloud . מידע נוסף מופיע במאמר יצירת חשבון שירות.
YAML_OR_JSON_SOURCE_FILE: קובץ המקור של הגדרת תהליך העבודה. לדוגמה:myFirstWorkflow.yaml.
REST
כדי ליצור תהליך עבודה חדש עם שם ספציפי, משתמשים ב-method projects.locations.workflows.create ומציינים מזהה לתהליך העבודה באמצעות פרמטר השאילתה workflowId.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
WORKFLOW_NAME: שם זרימת העבודה, לדוגמה:myFirstWorkflow. השם יכול להכיל אותיות, מספרים, קווים תחתונים ומקפים. הוא צריך להתחיל באות ולהסתיים במספר או באות. -
DESCRIPTION: אופציונלי. תיאור של תהליך העבודה. האורך המקסימלי הוא 1,000 תווים ביוניקוד. -
LABEL_KEYו-LABEL_VALUE: אופציונליים. מיפוי של צמדי מפתח/ערך של תוויות שעוזרים לכם לארגן את המופעים של Google Cloud . לדוגמה:{"name": "wrench", "mass": "1kg", "count": "3"}מידע נוסף זמין במאמר בנושא מהן תוויות? תוויות של תהליך עבודה מועברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההפעלה, משתמשים בשיטהworkflows.executions.listכדי לסנן את ההפעלות של זרימת העבודה ולהציג אותן. -
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: אופציונלי. חשבון השירות שבו ישתמש תהליך העבודה כדי לגשת לשירותים אחרים של Google Cloud . מזהה הפרויקט הוא מזהה הפרויקט שלכם, Google Cloud . מידע נוסף מופיע במאמר הזה בקטע יצירת חשבון שירות. -
ENCRYPT_KEY: אופציונלי. מפתח Cloud KMS שהתהליך צריך להשתמש בו להצפנת נתונים, בפורמטprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח. -
CALL_LOGGING_LEVEL: אופציונלי. רמת רישום השיחות שרוצים להחיל במהלך הביצוע. ברירת המחדל היא שלא מצוינת רמת רישום, ובמקום זאת חלה רמת הרישום של תהליך העבודה. מידע נוסף מופיע במאמר בנושא שליחת יומנים אל Logging. אחד מהערכים הבאים:-
CALL_LOG_LEVEL_UNSPECIFIED: לא צוינה רמת רישום ביומן, ובמקום זאת חלה רמת הרישום ביומן של תהליך העבודה. (זוהי ברירת המחדל) אחרת, חלה רמת היומן של הביצוע, והיא מקבלת עדיפות על פני רמת היומן של תהליך העבודה. -
LOG_ERRORS_ONLY: רישום ביומן של כל החריגים שזוהו, או כששיחה נעצרת בגלל חריגה. -
LOG_ALL_CALLS: רישום ביומן של כל הקריאות לפונקציות של תהליכי משנה או של ספריות והתוצאות שלהן. LOG_NONE: אין רישום של שיחות.
-
EXECUTION_HISTORY_LEVEL: אופציונלי. רמת היסטוריית הביצוע שרוצים להחיל במהלך הביצוע. מידע נוסף זמין במאמר בנושא הצגת ההיסטוריה של שלבי ההפעלה. אחד מהערכים הבאים:-
EXECUTION_HISTORY_LEVEL_UNSPECIFIED: לא צוינה רמה של היסטוריית ביצועים. (זוהי ברירת המחדל) אם לא מציינים רמה של היסטוריית ביצועים לביצוע, הרמה נקבעת לפי הרמה שחלה על תהליך העבודה. אם הרמות שונות, ההגדרה שחלה ברמת הביצוע מבטלת את ההגדרה שחלה ברמת תהליך העבודה עבור הביצוע הזה. -
EXECUTION_HISTORY_BASIC: הפעלת היסטוריית ביצוע בסיסית. -
EXECUTION_HISTORY_ADVANCED: הפעלת היסטוריית ביצוע מפורטת כולל ערכי משתנים בהיקף והמספר הצפוי של איטרציות.
-
-
ENV_KEYו-ENV_VALUE: אופציונליים. מפה של צמדי מפתח/ערך של משתני סביבה. לדוגמה,{ "month": "January", "day": "Monday"}. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה. -
SOURCE_CODE: הגדרת תהליך העבודה. צריך להשתמש בתו בריחה (escape) בשורות חדשות ב-YAML. לדוגמה:main:\n params:\n - input\n steps:\n - returnOutput:\n return: Helloצריך להשתמש בתו בריחה (escape) עם מרכאות ב-JSON. לדוגמה:
{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}} -
LOCATION: האזור שבו רוצים לפרוס את תהליך העבודה. לדוגמה,us-central1.
תוכן בקשת JSON:
{
"name": "WORKFLOW_NAME",
"description": "DESCRIPTION",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
"cryptoKeyName": "ENCRYPT_KEY",
"callLogLevel": "CALL_LOGGING_LEVEL",
"executionHistoryLevel": "EXECUTION_HISTORY_LEVEL"
"userEnvVars": {"ENV_KEY":"ENV_VALUE"},
"sourceContents": "SOURCE_CODE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "create",
"apiVersion": "v1"
},
"done": false
}
אם הערך של "done" הוא false, הפעולה עדיין מתבצעת.
הצגת רשימה של תהליכי עבודה
אפשר לקבל פירוט של זרימות העבודה או להשתמש במסננים כדי לאחזר זרימת עבודה ספציפית.
המסוף
נכנסים לדף Workflows במסוף Google Cloud .
בדף הזה מפורטים כל תהליכי העבודה בכל המיקומים, כולל פרטים כמו שמות, אזורים, הגרסאות האחרונות ועוד.
כדי לסנן את תהליכי העבודה:
- לוחצים על סינון או על השדה סינון תהליכי עבודה.
- ברשימה Properties, בוחרים אפשרות לסינון תהליכי העבודה.
אפשר לבחור נכס אחד או להשתמש באופרטור הלוגי
ORכדי להוסיף עוד נכסים.כדי למיין את תהליכי העבודה, לוחצים על מיון לצד כותרת של עמודה נתמכת.
gcloud
מציגים רשימה של תהליכי עבודה באמצעות הפקודה gcloud workflows list:
gcloud workflows list --location=LOCATION
מחליפים את LOCATION במזהה או במזהה המוגדר במלואו של מיקום תהליך העבודה.
הפקודה הזו מציגה רשימה של תהליכי העבודה במיקום שצוין, וכוללת פרטים כמו NAME, STATE, REVISION_ID ו-UPDATE_TIME של תהליך העבודה.
REST
כדי להציג רשימה של תהליכי עבודה בפרויקט ובמיקום מסוימים, משתמשים בשיטה projects.locations.workflows.list.
לחלופין, כדי לאחזר את הפרטים של תהליך עבודה יחיד, משתמשים בשיטה projects.locations.workflows.get.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו נפרסים תהליכי העבודה. לדוגמה,us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופעים של Workflow, והתגובה תהיה דומה לדוגמה הבאה:
{
"workflows": [
{
"name": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"state": "ACTIVE",
"revisionId": "000001-0ce",
"createTime": "2023-12-08T13:56:59.306770745Z",
"updateTime": "2023-12-08T13:56:59.547021939Z",
"revisionCreateTime": "2023-12-08T13:56:59.340161044Z",
"serviceAccount": "projects/PROJECT_ID/serviceAccounts/PROJECT_NUMBER-compute@developer.gserviceaccount.com",
"sourceContents": "main:\n params: [input]\n [...] return: '${wikiResult.body[1]}'\n"
},
{
object (Workflow)
}
],
"nextPageToken": string,
"unreachable": [
string
]
}
עדכון תהליך עבודה
אפשר לעדכן תהליך עבודה קיים. צריך לציין את השם של תהליך העבודה שרוצים לעדכן ואת המקור שלו. שימו לב: אי אפשר לשנות את השם או המיקום של תהליך עבודה.
עדכון של תהליך עבודה לא משפיע על הרצות שנמצאות בעיצומן. רק הפעלות עתידיות של תהליך העבודה ישתמשו בהגדרה המעודכנת.
בכל פעם שמעדכנים את זרימת העבודה, השדה versionID שלה מתעדכן. המחיר versionID
מורכב משני חלקים, שמופרדים במקף:
מספר שמתחיל באחד ועולה בכל פעם שמעדכנים את תהליך העבודה.
מחרוזת אלפאנומרית אקראית באורך שלושה תווים.
לדוגמה, 000001-27f מציין את הגרסה הראשונית של תהליך עבודה, ו-000002-d52 מציין תהליך עבודה שעודכן פעם אחת.
המסוף
נכנסים לדף Workflows במסוף Google Cloud .
לוחצים על השם של תהליך העבודה שרוצים לעדכן. שימו לב שאי אפשר לשנות את השם של תהליך העבודה.
יופיע הדף פרטי תהליך העבודה.
אפשר לערוך את תהליך העבודה בדרכים הבאות:
כדי לערוך את המקור:
- לוחצים על הכרטיסייה מקור.
- לוחצים על Edit.
- כדי לשמור את השינויים, לוחצים על שמירה. תהליך העבודה המעודכן נפרס.
כדי לעדכן את התיאור, את חשבון השירות שמשמש את תהליך העבודה לאימות, את רמת יומן השיחות, את משתני הסביבה, את התוויות או את מפתח ההצפנה:
- לוחצים על הכרטיסייה פרטים.
- לוחצים על הסמל המתאים .
- אם אתם מעדכנים את הרמה של יומן השיחות, בוחרים אחת מהאפשרויות הבאות:
- לא צוין: לא צוינה רמת רישום. (זוהי ברירת המחדל) רמת היומן של ההפעלה מקבלת עדיפות על פני כל רמת יומן של תהליך העבודה, אלא אם לא צוינה רמת היומן של ההפעלה (ברירת המחדל). במקרה כזה, חלה רמת היומן של תהליך העבודה.
- שגיאות בלבד: רישום ביומן של כל החריגות שתועדו, או כששיחה נעצרת בגלל חריגה.
- כל השיחות: רישום ביומן של כל השיחות עם פונקציות של תהליכי משנה או של ספרייה, והתוצאות שלהן.
- ללא יומנים: לא מתבצעת רישום של שיחות ביומן.
- אם מעדכנים את הרמה של היסטוריית ההרצה, בוחרים באחת מהאפשרויות הבאות:
- בסיסי: הפעלה של היסטוריית ביצוע בסיסית. (זוהי ברירת המחדל)
- מפורט: הפעלת היסטוריית ביצוע מפורטת, כולל ערכי משתנים בהיקף וצפי למספר האיטרציות.
- אם מעדכנים תווית קיימת או מוסיפים תווית חדשה, יכול להיות שיחלפו עד 10 דקות עד שהתווית החדשה תיכנס לתוקף. התוויות של תהליך העבודה עוברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההרצה, משתמשים בשיטה
workflows.executions.listכדי לסנן את ההרצות של זרימת העבודה ולהציג אותן. - כדי לשמור את השינויים, לוחצים על שמירה. תהליך העבודה המעודכן נפרס.
כדי לערוך את השדות הקודמים בו-זמנית, או להוסיף או לעדכן טריגר:
- לוחצים על עריכה.
- כדי לערוך את המקור, לוחצים על הבא.
- כדי לשמור את השינויים ולפרוס את תהליך העבודה המעודכן, לוחצים על פריסה.
כדי לעדכן את התפקידים בחשבון השירות, לוחצים על הכרטיסייה הרשאות.
חשבונות ראשיים הם משתמשים, קבוצות, דומיינים או חשבונות שירות. כדי לעדכן את פרטי המשתמש הקיים:
- מחפשים שורה שמכילה את חשבון המשתמש.
- בשורה הזו לוחצים על Edit principal.
- לוחצים על הוספת תפקיד או על מחיקת תפקיד.
אם מוסיפים תפקיד, בוחרים תפקיד מתאים מהרשימה Select a role.
כדי להוסיף עוד תפקיד, לוחצים על הוספת תפקיד נוסף.
לוחצים על Save.
gcloud
פותחים טרמינל.
מוצאים את השם של תהליך העבודה שרוצים לעדכן. אם אתם לא יודעים את השם של תהליך העבודה, אתם יכולים להזין את הפקודה הבאה כדי לראות רשימה של כל תהליכי העבודה שלכם:
gcloud workflows list
מאתרים את קובץ ה-YAML או ה-JSON שבו נשמר המקור של תהליך העבודה, כמו
WORKFLOW_NAME.YAMLאוWORKFLOW_NAME.JSON.אפשר לעדכן תהליך עבודה קיים כדי לשנות את המקור, התיאור, התוויות, משתני הסביבה, רמת יומן השיחות, מפתח ההצפנה או חשבון השירות המשויך שלו באמצעות הפקודה
gcloud workflows deploy.צריך לציין את השם של תהליך העבודה שרוצים לעדכן ואת המקור שלו, אבל שאר האפשרויות הן אופציונליות. כדי להסיר מפתח הצפנה בניהול הלקוח, משתמשים בדגל
--clear-kms-key.gcloud workflows deploy WORKFLOW_NAME \ --call-log-level=CALL_LOGGING_LEVEL \ --description="DESCRIPTION" \ --execution-history-level="EXECUTION_HISTORY_LEVEL" \ --labels="LABEL_KEY=LABEL_VALUE" \ --set-env-vars="ENV_KEY=ENV_VALUE" \ --kms-key=ENCRYPT_KEY \ --service-account=SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com \ --source=YAML_OR_JSON_SOURCE_FILE
מחליפים את מה שכתוב בשדות הבאים:
WORKFLOW_NAME: חובה. השם של תהליך העבודה.
CALL_LOGGING_LEVEL: אופציונלי. רמת רישום השיחות שתחול במהלך ההפעלה. יכול להיות אחד מהערכים הבאים:-
none: לא צוינה רמת רישום ביומן. (זוהי ברירת המחדל) רמת יומן הביצוע מקבלת עדיפות על פני כל רמת יומן של תהליך עבודה, אלא אם רמת יומן הביצוע לא צוינה (ברירת המחדל). במקרה כזה, חלה רמת היומן של תהליך העבודה. -
log-errors-only: רישום ביומן של כל החריגים שזוהו, או כששיחה נעצרת בגלל חריגה. -
log-all-calls: רישום ביומן של כל הקריאות לפונקציות של תהליכי משנה או של ספרייה והתוצאות שלהן. log-none: אין רישום של שיחות.
-
DESCRIPTION: אופציונלי. תיאור של תהליך העבודה.
EXECUTION_HISTORY_LEVEL: אופציונלי. רמת היסטוריית הביצוע להחלה במהלך הביצוע. יכול להיות אחד מהערכים הבאים:-
none: לא צוינה רמה של היסטוריית ביצוע. זוהי אפשרות ברירת המחדל. אם לא מצוינת רמה של היסטוריית ביצועים לביצוע, הרמה נקבעת לפי הרמה שחלה על תהליך העבודה. אם הרמות שונות, ההגדרה שחלה ברמת הביצוע מבטלת את ההגדרה שחלה ברמת תהליך העבודה עבור הביצוע הזה. -
execution-history-basic: הפעלת היסטוריית ביצוע בסיסית. -
execution-history-detailed: הפעלת היסטוריית ביצוע מפורטת כולל ערכים של משתנים בהיקף והמספר הצפוי של איטרציות.
-
LABEL_KEY=LABEL_VALUE: אופציונלי. רשימה של צמדי מפתח/ערך של תוויות שעוזרת לכם לארגן את המופעים שלGoogle Cloud . לדוגמה,name=wrench. מידע נוסף זמין במאמר מהן תוויות? התוויות של תהליך העבודה עוברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההפעלה, משתמשים בשיטהworkflows.executions.listכדי להציג רשימה של הפעלות של זרימות עבודה ולסנן אותן.
ENV_KEY=ENV_VALUE: אופציונלי. רשימה של צמדי מפתח/ערך של משתני סביבה, לדוגמה:MONTH=January. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה.
ENCRYPT_KEY: אופציונלי. מפתח Cloud KMS שהתהליך צריך להשתמש בו להצפנת נתונים בפורמטprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח.SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: אופציונלי. חשבון השירות שבו ישתמש תהליך העבודה כדי לגשת לשירותים אחרים שלGoogle Cloud . אם רוצים לעדכן את התפקידים של חשבון השירות, אפשר לעיין במאמרים איך נותנים הרשאה לזרימת עבודה לגשת למשאבי Google Cloud ואיך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
YAML_OR_JSON_SOURCE_FILE: חובה. קובץ המקור של תהליך העבודה בפורמט YAML או JSON. לדוגמה:myFirstWorkflow.yaml.
REST
כדי לעדכן תהליך עבודה קיים, משתמשים בשיטה projects.locations.workflows.patch, ואפשר גם להשתמש בפרמטר השאילתה updateMask כדי לציין רשימה של שדות לעדכון.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
WORKFLOW_NAME: שם זרימת העבודה, לדוגמה:myFirstWorkflow. -
DESCRIPTION: אופציונלי. תיאור של תהליך העבודה. האורך המקסימלי הוא 1,000 תווים ביוניקוד. -
LABEL_KEYו-LABEL_VALUE: אופציונליים. מיפוי של צמדי מפתח/ערך של תוויות שעוזרים לכם לארגן את המופעים של Google Cloud . לדוגמה:{"name": "wrench", "mass": "1kg", "count": "3"}מידע נוסף זמין במאמר בנושא מהן תוויות? תוויות של תהליך עבודה מועברות בירושה לביצועים של תהליך העבודה. כדי לראות את תוויות ההפעלה, משתמשים בשיטהworkflows.executions.listכדי לסנן את ההפעלות של זרימת העבודה ולהציג אותן. -
SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com: אופציונלי. חשבון השירות שבו ישתמש תהליך העבודה כדי לגשת לשירותים אחרים של Google Cloud . מזהה הפרויקט הוא מזהה הפרויקט שלכם, Google Cloud . מידע נוסף מופיע במאמר הזה בקטע יצירת חשבון שירות. -
ENCRYPT_KEY: אופציונלי. מפתח Cloud KMS שהתהליך צריך להשתמש בו להצפנת נתונים, בפורמטprojects/PROJECT_NAME/locations/LOCATION/keyRings/RING_NAME/cryptoKeys/KEY_NAME. מידע נוסף מופיע במאמר בנושא שימוש במפתחות הצפנה בניהול הלקוח. -
CALL_LOGGING_LEVEL: אופציונלי. רמת רישום השיחות שרוצים להחיל במהלך הביצוע. ברירת המחדל היא שלא מצוינת רמת רישום, ובמקום זאת חלה רמת הרישום של תהליך העבודה. מידע נוסף מופיע במאמר בנושא שליחת יומנים אל Logging. אחד מהערכים הבאים:-
CALL_LOG_LEVEL_UNSPECIFIED: לא צוינה רמת רישום ביומן, ובמקום זאת חלה רמת הרישום ביומן של תהליך העבודה. (זוהי ברירת המחדל) אחרת, חלה רמת היומן של הביצוע, והיא מקבלת עדיפות על פני רמת היומן של תהליך העבודה. -
LOG_ERRORS_ONLY: רישום ביומן של כל החריגים שזוהו, או כששיחה נעצרת בגלל חריגה. -
LOG_ALL_CALLS: רישום ביומן של כל הקריאות לפונקציות של תהליכי משנה או של ספריות והתוצאות שלהן. LOG_NONE: אין רישום של שיחות.
-
EXECUTION_HISTORY_LEVEL: אופציונלי. רמת היסטוריית הביצוע שרוצים להחיל במהלך הביצוע. מידע נוסף זמין במאמר בנושא הצגת היסטוריית השלבים של ההפעלה. אחד מהערכים הבאים:-
EXECUTION_HISTORY_LEVEL_UNSPECIFIED: לא צוינה רמה של היסטוריית ביצוע. (זוהי ברירת המחדל) אם לא מציינים רמה של היסטוריית ביצוע עבור ביצוע מסוים, הרמה נקבעת לפי הרמה שחלה על תהליך העבודה. אם הרמות שונות, ההגדרה שחלה ברמת הביצוע מבטלת את ההגדרה שחלה ברמת תהליך העבודה עבור הביצוע הזה. -
EXECUTION_HISTORY_BASIC: הפעלת היסטוריית ביצוע בסיסית. -
EXECUTION_HISTORY_ADVANCED: הפעלת היסטוריית ביצוע מפורטת כולל ערכים של משתנים בהיקף והמספר הצפוי של איטרציות.
-
-
ENV_KEYו-ENV_VALUE: אופציונליים. מפה של צמדי מפתח/ערך של משתני סביבה. לדוגמה,{ "month": "January", "day": "Monday"}. מידע נוסף זמין במאמר בנושא שימוש במשתני סביבה. -
SOURCE_CODE: ההגדרה הממוזערת של תהליך העבודה. לדוגמה:{\"main\":{\"params\":[\"input\"],\"steps\":[{\"returnOutput\":{\"return\":\"Hello\"}}]}} -
LOCATION: האזור שבו תהליך העבודה נפרס. לדוגמה,us-central1. -
UPDATE_FIELDS: אופציונלי. רשימה מופרדת בפסיקים של השדות שרוצים לעדכן. אם לא מציינים, כל תהליך העבודה מתעדכן. לדוגמהdescription,callLogLevel.
תוכן בקשת JSON:
{
"name": "WORKFLOW_NAME",
"description": "DESCRIPTION",
"labels": {"LABEL_KEY":"LABEL_VALUE"},
"serviceAccount": "SERVICE_ACCOUNT@PROJECT_ID.iam.gserviceaccount.com",
"cryptoKeyName": "ENCRYPT_KEY",
"callLogLevel": "CALL_LOGGING_LEVEL",
"executionHistoryLevel": "EXECUTION_HISTORY_LEVEL"
"userEnvVars": {"ENV_KEY":"ENV_VALUE"},
"sourceContents": "SOURCE_CODE"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע חדש של
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "update",
"apiVersion": "v1"
},
"done": false
}
אם הערך של "done" הוא false, הפעולה עדיין מתבצעת.
מחיקת תהליך עבודה
אפשר למחוק תהליך עבודה קיים. כשמוחקים תהליך עבודה, גם ההרצות שלו נמחקות וכל ההרצות הפעילות של תהליך העבודה מבוטלות.
המסוף
נכנסים לדף Workflows במסוף Google Cloud .
לוחצים על שם תהליך העבודה שרוצים למחוק ואז על מחיקה.
בהודעה לאישור המחיקה, מזינים את שם תהליך העבודה.
לוחצים על אישור.
gcloud
פותחים טרמינל.
מוצאים את השם של תהליך העבודה שרוצים למחוק. אם אתם לא יודעים את השם של תהליך העבודה, אתם יכולים להזין את הפקודה הבאה כדי לראות רשימה של כל תהליכי העבודה שלכם:
gcloud workflows list
מחיקת תהליך עבודה באמצעות הפקודה
gcloud workflows delete:gcloud workflows delete WORKFLOW_NAME
מחליפים את
WORKFLOW_NAMEבשם של זרימת העבודה.
REST
כדי למחוק תהליך עבודה עם שם ספציפי, משתמשים בשיטה projects.locations.workflows.delete.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
-
WORKFLOW_NAME: השם של זרימת העבודה שרוצים למחוק. -
PROJECT_ID: מזהה הפרויקט ב- Google Cloud. -
LOCATION: האזור שבו תהליך העבודה נפרס. לדוגמה,us-central1.
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אם הפעולה בוצעה ללא שגיאות, גוף התגובה יכיל מופע של
Operation:
{
"name": "projects/PROJECT_ID/locations/LOCATION/operations/OPERATION_ID",
"metadata": {
"@type": "type.googleapis.com/google.cloud.workflows.v1.OperationMetadata",
"createTime": "2023-12-05T14:06:06.338390918Z",
"target": "projects/PROJECT_ID/locations/LOCATION/workflows/WORKFLOW_NAME",
"verb": "delete",
"apiVersion": "v1"
},
"done": false
}
אם הערך של "done" הוא false, הפעולה עדיין מתבצעת.