בדף הזה מוסבר איך להריץ משימות של Cloud Run לפי לוח זמנים באמצעות Cloud Scheduler.
התפקידים הנדרשים
כדי לקבל את ההרשאות שנדרשות לפעולות שמתוארות בדף הזה, צריך לבקש מהאדמין להקצות לכם את תפקידי ה-IAM בעבודת Cloud Run:
- אדמין של Cloud Scheduler (
roles/cloudscheduler.admin) או תפקיד בהתאמה אישית עם ההרשאהcloudscheduler.jobs.create. - Cloud Run Invoker (
roles/run.invoker) כדי להריץ משימות באמצעות Google Cloud CLI, או Cloud Run Developer (roles/run.developer) כדי להריץ משימות באמצעות מסוף Google Cloud .
רשימת ההרשאות והתפקידים ב-IAM שמשויכים ל-Cloud Run מופיעה במאמרים תפקידי IAM ב-Cloud Run והרשאות IAM ב-Cloud Run. אם עבודת Cloud Run שלכם מתקשרת עםGoogle Cloud ממשקי API, כמו ספריות לקוח ב-Cloud, כדאי לעיין במדריך להגדרת זהות שירות. מידע נוסף על מתן תפקידים זמין במאמרים הרשאות פריסה וניהול גישה.
לפני שמתחילים
אם עדיין לא יצרתם עבודת Cloud Run, אתם צריכים ליצור אחת.
הגדרת משימת Cloud Run לביצוע לפי לוח זמנים
כדי להריץ משימת Cloud Run לפי לוח זמנים:
המסוף
לוחצים על העבודה שרוצים להריץ לפי לוח זמנים.
לוחצים על הכרטיסייה טריגרים.
לוחצים על הוספת טריגר של מתזמן.
אם עדיין לא הפעלתם את Cloud Scheduler API בפרויקט, תתבקשו לעשות זאת בחלונית השמאלית: לוחצים על Enable API.
מילוי הטופס של משימה ב-Cloud Scheduler
בקטע הגדרת לוח זמנים:
נותנים שם למשימה ב-Cloud Scheduler.
בוחרים אזור למשימה ב-Cloud Scheduler. האזור לא צריך להיות זהה לאזור שבו נעשה שימוש בעבודת Cloud Run.
מציינים את התדירות של הרצת העבודה בפורמט unix-cron. לדוגמה,
0 12 * * *בוחרים את אזור הזמן.
לוחצים על Continue.
בתפריט Service Account בוחרים חשבון שירות שיש לו הרשאה להפעיל את שירות Cloud Run הנוכחי.
לוחצים על Create כדי ליצור את המשימה ב-Cloud Scheduler שתבצע את המשימה ב-Cloud Run בתדירות שצוינה.
שורת הפקודה
מריצים את הפקודה:
gcloud scheduler jobs create http SCHEDULER_JOB_NAME \ --location SCHEDULER_REGION \ --schedule="SCHEDULE" \ --uri="https://run.googleapis.com/v2/projects/PROJECT-ID/locations/CLOUD_RUN_REGION/jobs/JOB-NAME:run" \ --http-method POST \ --oauth-service-account-email PROJECT-NUMBER-compute@developer.gserviceaccount.com
החלפה
- SCHEDULER_JOB_NAME בשם שרוצים לתת לעבודת התזמון.
- SCHEDULER_REGION עם אזור שנתמך על ידי Cloud Scheduler, לדוגמה,
europe-west2. - CLOUD_RUN_REGION מחליפים באזור של משימת Cloud Run. לדוגמה,
europe-west1. - SCHEDULE עם התדירות הנדרשת, למשל
0 12 * * *. - PROJECT-ID במזהה הפרויקט.
- מחליפים את PROJECT-NUMBER במספר הפרויקט.
- JOB-NAME עם העבודה שלכם ב-Cloud Run.
Terraform
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
מוסיפים את השורות הבאות למשאבgoogle_cloud_run_v2_job בקובץ התצורה של Terraform:משימת Cloud Run תופעל על ידי Cloud Scheduler בתדירות שצוינה.
תזמון של עבודות בתוך גבולות גזרה של VPC Service Controls
אם Google Cloud הפרויקט שלכם נמצא בתוך גבולות גזרה של VPC Service Controls ברשת של ענן וירטואלי פרטי, השילוב של Cloud Scheduler עם VPC Service Controls תומך בעבודות של Cloud Run כיעד באמצעות פורמט ה-URI הבא:
https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/jobs/JOB_NAME:run
מחליפים את מה שכתוב בשדות הבאים:
-
PROJECT_ID: מזהה הפרויקט ב- Google Cloud . -
REGION: Google Cloud האזור של המשימה. -
JOB_NAME: השם של משימת Cloud Run.
מידע נוסף על הגדרת VPC Service Controls ל-Cloud Run זמין במאמר שימוש ב-VPC Service Controls (VPC SC). מידע נוסף על שימוש ב-Cloud Scheduler עם VPC Service Controls זמין במאמר אבטחת משימות cron באמצעות VPC Service Controls.
המאמרים הבאים
אחרי שתשתמשו בתכונה הזו, תוכלו לבצע את הפעולות הבאות: