Storage Transfer Service יכול להאזין להתראות על אירועים ב-Google Cloud כדי להעביר באופן אוטומטי נתונים שנוספו או עודכנו בקטגוריה של Cloud Storage. מידע נוסף על היתרונות של העברות מבוססות-אירועים
העברות מבוססות-אירועים מ-Cloud Storage משתמשות בהתראות Pub/Sub כדי לדעת מתי אובייקטים בקטגוריית המקור שונו או נוספו. מחיקות של אובייקטים לא מזוהות. מחיקה של אובייקט במקור לא מוחקת את האובייקט המשויך בקטגוריית היעד.
העברות מבוססות-אירועים תמיד משתמשות בקטגוריה של Cloud Storage כיעד.
הגדרת ההרשאות
בנוסף להרשאות שנדרשות לכל העברה, העברות מבוססות-אירועים דורשות את התפקיד Pub/Sub Subscriber.
כדי למצוא את השם של סוכן השירות של Storage Transfer Service בפרויקט:
עוברים אל דף העזר של
googleServiceAccounts.get.תיפתח חלונית אינטראקטיבית עם הכותרת Try this method (נסו את השיטה הזו).
בחלונית, בקטע Request parameters, מזינים את מזהה הפרויקט. הפרויקט שאתם מציינים כאן צריך להיות הפרויקט שבו אתם משתמשים כדי לנהל את Storage Transfer Service, ויכול להיות שהוא שונה מהפרויקט של דלי המקור.
לוחצים על Execute.
כתובת האימייל של סוכן השירות מוחזרת כערך של
accountEmail. מעתיקים את הערך הזה.כתובת האימייל של סוכן השירות היא בפורמט
project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.מקצים את התפקיד
Pub/Sub Subscriberלסוכן השירות של Storage Transfer Service.מסוף Cloud
פועלים לפי ההוראות במאמר שליטה בגישה דרך מסוף Google Cloud כדי להעניק את התפקיד
Pub/Sub Subscriberלשירות Storage Transfer Service. אפשר להעניק את התפקיד ברמת הנושא, המינוי או הפרויקט.gcloudCLIפועלים לפי ההוראות במאמר הגדרת מדיניות כדי להוסיף את הקישור הבא:
{ "role": "roles/pubsub.subscriber", "members": [ "serviceAccount:project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com" }
הגדרת Pub/Sub
חשוב לוודא שאתם עומדים בדרישות המוקדמות לשימוש ב-Pub/Sub עם Cloud Storage.
יוצרים התראת Pub/Sub לקטגוריית המקור של Cloud Storage.
אי אפשר לנהל את ההתראות של Pub/Sub באמצעות מסוף Google Cloud . במקום זאת, צריך להשתמש ב-CLI של gcloud או באחת מספריות הלקוח הזמינות.
gcloud storage buckets notifications create gs://SOURCE_BUCKET_NAME --topic=TOPIC_NAME
יוצרים מינוי שליפה לנושא. צריך ליצור מינוי נפרד לכל משימת העברה.
בדוגמה הבאה מוצגת הפקודה ב-Google Cloud CLI ליצירת מינוי מסוג pull. הוראות למסוף וקוד של ספריית לקוח מופיעים במאמר בנושא יצירת מינוי שליפה.
gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_NAME --ack-deadline=300
יצירת העברת נתונים
אפשר להשתמש ב-API בארכיטקטורת REST או במסוף Google Cloud כדי ליצור העברה מבוססת-אירועים.
אל תכללו בשם של עבודת ההעברה מידע רגיש כמו פרטים אישיים מזהים (PII) או נתוני אבטחה. יכול להיות ששמות המשאבים יועברו לשמות של משאבים אחרים ב-Google Cloud, ויוצגו למערכות פנימיות של Google מחוץ לפרויקט שלכם.
מסוף Cloud
נכנסים לדף Create transfer job במסוף Google Cloud .
בוחרים באפשרות Cloud Storage כמקור וכייעד.
בקטע מצב תזמון בוחרים באפשרות מבוסס-אירועים ולוחצים על השלב הבא.
בוחרים את דלי המקור להעברה.
בקטע Event stream, מזינים את שם המינוי:
projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_IDאפשר להגדיר מסננים ואז ללחוץ על השלב הבא.
בוחרים את דלי היעד להעברה הזו.
אפשר גם להזין שעת התחלה ושעת סיום להעברה. אם לא מציינים שעה, ההעברה תתחיל באופן מיידי ותפעל עד שתופסק באופן ידני.
מציינים את אפשרויות ההעברה הרצויות. מידע נוסף זמין בדף יצירת העברות.
לוחצים על יצירה.
אחרי שיוצרים את משימת ההעברה, היא מתחילה לפעול ומאזין האירועים מחכה להתראות במינוי Pub/Sub. בדף פרטי המשרה מוצגת פעולה אחת בכל שעה, והוא כולל פרטים על הנתונים שהועברו בכל משרה.
REST
כדי ליצור העברה מבוססת-אירועים באמצעות API בארכיטקטורת REST, שולחים את אובייקט ה-JSON הבא לנקודת הקצה transferJobs.create:
transfer_job { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec" { "gcsDataSource" { "bucketName": "GCS_SOURCE_NAME" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } "eventStream" { "name": "projects/PROJECT_NAME/subscriptions/SUBSCRIPTION_ID", "eventStreamStartTime": "2022-12-02T01:00:00+00:00", "eventStreamExpirationTime": "2023-01-31T01:00:00+00:00" } }
הערכים eventStreamStartTime ו-eventStreamExpirationTime הם אופציונליים.
אם לא מציינים את זמן ההתחלה, ההעברה מתחילה באופן מיידי. אם לא מציינים את זמן הסיום, ההעברה נמשכת עד שמפסיקים אותה ידנית.
ספריות לקוח
Go
מידע על התקנת ספריית הלקוח של Storage Transfer Service והשימוש בה מופיע במאמר ספריות הלקוח של Storage Transfer Service. מידע נוסף מופיע במאמרי העזרה של Storage Transfer Service Go API.
כדי לבצע אימות ב-Storage Transfer Service, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע על התקנת ספריית הלקוח של Storage Transfer Service והשימוש בה מופיע במאמר ספריות הלקוח של Storage Transfer Service. מידע נוסף מופיע במאמרי העזרה של Storage Transfer Service Java API.
כדי לבצע אימות ב-Storage Transfer Service, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע על התקנת ספריית הלקוח של Storage Transfer Service והשימוש בה מופיע במאמר ספריות הלקוח של Storage Transfer Service. מידע נוסף מופיע במאמרי העזרה של Storage Transfer Service Node.js API.
כדי לבצע אימות ב-Storage Transfer Service, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע על התקנת ספריית הלקוח של Storage Transfer Service והשימוש בה מופיע במאמר ספריות הלקוח של Storage Transfer Service. מידע נוסף מופיע במאמרי העזרה של Storage Transfer Service Python API.
כדי לבצע אימות ב-Storage Transfer Service, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.
מעקב אחרי העברה מבוססת-אירועים
כשיוצרים העברה מבוססת-אירועים, Storage Transfer Service יוצרת משימת העברה. כשמגיעים לשעת ההתחלה, מתחילה לפעול פעולת העברה ו-event listener ממתין להתראות מתור Pub/Sub.
פעולת ההעברה פועלת עם הסטטוס in progress במשך כ-24 שעות. אחרי 24 שעות, הפעולה מסתיימת ומתחילה פעולה חדשה.
מבצעים חדש נוצר כל 24 שעות עד שמגיעים לשעת הסיום של משימת ההעברה או עד שמפסיקים את המשימה באופן ידני.
אם העברת קובץ מתבצעת בזמן שבו הפעולה אמורה להסתיים, הפעולה הנוכחית תמשיך להתבצע עד שהקובץ יועבר במלואו. פעולה חדשה מתחילה, ושתי הפעולות פועלות בו-זמנית עד שהפעולה הישנה מסתיימת. כל האירועים שמזוהים במהלך התקופה הזו מטופלים על ידי הפעולה החדשה.
כדי לראות את הפעולה הנוכחית ואת הפעולות שהושלמו:
מסוף Google Cloud
נכנסים לדף Storage Transfer Service במסוף Google Cloud .
ברשימת המשימות, בוחרים בכרטיסייה הכול או בכרטיסייה Cloud-to-cloud.
לוחצים על מזהה העבודה של ההעברה. בעמודה מצב התזמון מופיעים כל ההעברות שמבוססות על אירועים לעומת העברות באצווה.
בוחרים בכרטיסייה פעולות. פרטים על הפעולה הנוכחית מוצגים בטבלה Run history. כדי לראות פרטים נוספים, לוחצים על פעולה שהושלמה.
gcloud
כדי לעקוב אחרי התקדמות העבודה בזמן אמת, משתמשים ב-gcloud transfer jobs monitor. בתשובה מוצגת הפעולה הנוכחית, שעת ההתחלה של העבודה, כמות הנתונים שהועברו, בייטים שדילגו עליהם ומספר השגיאות.
gcloud transfer jobs monitor JOB_NAME
כדי לאחזר את שם הפעולה הנוכחי:
gcloud transfer jobs describe JOB_NAME --format="value(latestOperationName)"
כדי להציג רשימה של פעולות נוכחיות ופעולות שהושלמו:
gcloud transfer operations list --job-names=JOB_NAME
כדי לראות פרטים על פעולה:
gcloud transfer operations describe OPERATION_NAME