יצירה והרצה של עבודת דוגמה
Google Cloudלומדים איך ליצור ולהפעיל משימת עיבוד באצווה לדוגמה, שמתמללת סרטונים באמצעות Batch.
לחצו על תראו לי איך כדי לקרוא הסבר מפורט על המשימה ישירות במסוף Google Cloud :
לפני שמתחילים
- נכנסים לחשבון 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 .
מפעילים את ממשקי ה-API של Batch, Compute Engine, Logging ו-Cloud Storage:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.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 .
מפעילים את ממשקי ה-API של Batch, Compute Engine, Logging ו-Cloud Storage:
תפקידים שנדרשים להפעלת ממשקי API
כדי להפעיל ממשקי API, צריך את תפקיד ה-IAM 'אדמין של Service Usage' (
roles/serviceusage.serviceUsageAdmin), שכולל את ההרשאהserviceusage.services.enable. איך מקצים תפקידיםgcloud services enable batch.googleapis.com
compute.googleapis.com logging.googleapis.com storage.googleapis.com -
חשוב לוודא שלכם ולחשבון השירות של המשימה יש את ההרשאות הנדרשות כדי להשלים את המדריך הזה. במדריך הזה נעשה שימוש בחשבון שירות שמוגדר כברירת מחדל למשימה, שהוא חשבון השירות שמוגדר כברירת מחדל ב-Compute Engine.
-
כדי לקבל את ההרשאות שדרושות להשלמת המדריך הזה, אתם צריכים לבקש מהאדמין להקצות לכם את תפקידי ה-IAM הבאים:
-
כדי ליצור, להציג ולמחוק משרות:
- הכלי לעריכת משימות באצווה (
roles/batch.jobsEditor) בפרויקט - משתמש בחשבון שירות (
roles/iam.serviceAccountUser) בחשבון השירות של Compute Engine שמוגדר כברירת מחדל
- הכלי לעריכת משימות באצווה (
-
כדי ליצור, לראות ולמחוק קטגוריות ב-Cloud Storage: Storage Admin (
roles/storage.admin) בפרויקט -
כדי לצפות ביומנים ממשימות: מציג היומנים (
roles/logging.viewer) בפרויקט
להסבר על מתן תפקידים, ראו איך מנהלים את הגישה ברמת הפרויקט, התיקייה והארגון.
יכול להיות שאפשר לקבל את ההרשאות הנדרשות גם באמצעות תפקידים בהתאמה אישית או תפקידים מוגדרים מראש.
-
כדי ליצור, להציג ולמחוק משרות:
-
כדי לוודא שלחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine יש את ההרשאות שנדרשות להשלמת המדריך הזה, צריך לבקש מהאדמין להקצות לחשבון השירות שמוגדר כברירת מחדל ב-Compute Engine את תפקידי ה-IAM הבאים:
- Batch Agent Reporter (
roles/batch.agentReporter) בפרויקט -
כדי לאפשר לעבודות גישה לקטגוריות של Cloud Storage:
אדמין לניהול אחסון (
roles/storage.admin) בפרויקט -
כדי לאפשר לעבודות ליצור יומנים ב-Logging:
Logs Writer (
roles/logging.logWriter) on the project
- Batch Agent Reporter (
-
-
משכפלים את
מאגר ה-Git של Batch לספרייה הנוכחית:
git clone https://github.com/GoogleCloudPlatform/batch-samples.git
-
עוברים לספרייה
transcoding:cd batch-samples/transcoding/
הכנת קלט של משרות
יוצרים קטגוריה של Cloud Storage:
gcloud storage buckets create gs://BUCKET_NAMEמחליפים את
BUCKET_NAMEבשם ייחודי בהיקף גלובלי לקטגוריה.הפלט אמור להיראות כך:
Creating gs://BUCKET_NAME/...מעתיקים את סקריפט
transcode.shואת התיקייה שמכילה את קובצי הווידאו לקטגוריה של Cloud Storage:gcloud storage cp -R transcode.sh input gs://BUCKET_NAMEהפלט אמור להיראות כך:
Copying file://transcode.sh to gs://BUCKET_NAME/transcode.sh Copying file://input/video-2.mp4 to gs://BUCKET_NAME/input/video-2.mp4 Copying file://input/video-1.mp4 to gs://BUCKET_NAME/input/video-1.mp4 Copying file://input/video-0.mp4 to gs://BUCKET_NAME/input/video-0.mp4 Completed files 4/4 | 37.5MiB/37.5MiB Average throughput: 48.4MiB/s
יצירת משרה
פותחים את קובץ ההגדרות
job.jsonבכלי לעריכת טקסט.מגדירים את הערך בשדה
remotePathלשם של קטגוריה של Cloud Storage:{ "taskGroups": [ { "taskSpec": { "runnables": [ { "script": { "text": "bash /mnt/share/transcode.sh" } } ], "computeResource": { "cpuMilli": 2000, "memoryMib": 2048 }, "volumes": [ { "gcs": { "remotePath": "BUCKET_NAME" }, "mountPath": "/mnt/share" } ], "maxRetryCount": 2, "maxRunDuration": "600s" }, "taskCount": 3, "parallelism": 3 } ], "allocationPolicy": { "instances": [ { "policy": { "machineType": "n2d-standard-4", "provisioningModel": "SPOT" } } ] }, "labels": { "department": "creative", "env": "testing" }, "logsPolicy": { "destination": "CLOUD_LOGGING" } }שומרים את השינויים וסוגרים את עורך הטקסט.
יוצרים את העבודה
transcode:gcloud batch jobs submit transcode \ --config=job.json \ --location=us-central1הפלט אמור להיראות כך:
Job transcode-7a1654ca-211c-40e8-b0fb-8a00 was successfully submitted. ...העבודה מריצה 3 משימות בו-זמנית. כל משימה מריצה את הסקריפט
transcode.sh, שמקודד קובץ וידאו אחד מתוך שלושה ומעלה אותו לקטגוריה של Cloud Storage.
מעקב אחרי המשרה
נכנסים לדף Job list במסוף Google Cloud .
בעמודה Job name (שם המשימה), לוחצים על transcode (קידוד מחדש).
ייפתח הדף פרטי המשרה.
לוחצים על הכרטיסייה אירועים.
בקטע רשימת האירועים אפשר לעקוב אחרי הסטטוס של העבודה
transcodejob. הזמן שנדרש לעיבוד המשימה, החל מהוספתה לתור ועד לסיום ההרצה שלה, משתנה בהתאם למספר גורמים. בדוגמה הזו, אפשר לצפות שהעבודה תסתיים תוך כ-5 דקות.אופציונלי: כדי לעדכן את הדף, לוחצים על רענון.
לפני שממשיכים לשלב הבא, מוודאים שהסטטוס של העבודה הוא Succeeded. אם העבודה נכשלת, אפשר לעיין במאמר פתרון בעיות.
צפייה בסרטונים המוצפנים
נכנסים לדף Buckets במסוף Google Cloud .
בעמודה Name (שם), לוחצים על BUCKET_NAME.
הדף Bucket details נפתח.
בעמודה שם, לוחצים על output/, ואז לוחצים על אחד מקובצי הסרטון המקודדים.
הדף Object details נפתח.
כדי לראות תצוגה מקדימה של הסרטון המקודד, לוחצים על תצוגה מקדימה ואז על הפעלה.
הסרת המשאבים
כדי לא לצבור חיובים בחשבון על המשאבים שבהם השתמשתם בדף הזה, אתם צריכים למחוק את הפרויקט יחד עם המשאבים. Google Cloud Google Cloud
מחיקת הפרויקט
הדרך הקלה ביותר לבטל את החיוב היא למחוק את הפרויקט שבו השתמשתם במדריך הזה.
כדי למחוק Google Cloud פרויקט:
gcloud projects delete PROJECT_ID
מחיקת משאבים בודדים
אם רוצים להמשיך להשתמש בפרויקט הנוכחי, צריך למחוק את המשאבים הספציפיים שבהם השתמשתם במדריך הזה.
מחיקת המשימה
אחרי שהרצתם את משימת האצווה, מוחקים את המשימה transcode:
gcloud batch jobs delete transcode \
--location=us-central1
הפלט אמור להיראות כך:
Job projects/example-project/locations/us-central1/jobs/transcode deletion is in progress
מחיקת משימה תגרום גם למחיקת הפרטים וההיסטוריה שלה. היומנים של העבודה נמחקים אוטומטית בסוף תקופת השמירה של היומנים ב-Cloud Logging.
מחיקת הקטגוריה
אם אתם לא צריכים יותר את קטגוריית Cloud Storage שבה השתמשתם במדריך הזה ואת התוכן שלה, אתם יכולים למחוק את הקטגוריה:
gcloud storage rm gs://BUCKET_NAME \
--recursive
הפלט אמור להיראות כך:
Removing objects:
Removing gs://BUCKET_NAME/input/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/input/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/input/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/output/video-0.mp4#1694788495332395...
Removing gs://BUCKET_NAME/output/video-2.mp4#1694788495296173...
Removing gs://BUCKET_NAME/output/video-1.mp4#1694788495228839...
Removing gs://BUCKET_NAME/transcode.sh#1694788495039427...
Completed 4/4
Removing Buckets:
Removing gs://BUCKET_NAME/...
Completed 1/1
מחיקת מאגר Git
אם אתם לא צריכים יותר את מאגר ה-git של Batch ששיכפלתם לצורך המדריך הזה, אתם יכולים למחוק אותו:
cd ../../ && rm -rf batch-samples