בדף הזה מוסבר איך ליצור משימות העברה בין מערכת קבצים (במקום או בענן) לבין Cloud Storage.
העברות ממערכות קבצים אל Cloud Storage הן העברות מבוססות-סוכן, כלומר תצטרכו להתקין סוכני תוכנה במכונה עם גישה למערכת הקבצים כדי לתזמן את ההעברה.
הגדרת ההרשאות
לפני שיוצרים העברה, צריך להגדיר הרשאות לישויות הבאות:
| חשבון המשתמש שמשמש ליצירת ההעברה. זהו החשבון שמחוברים אליו במסוף Google Cloud או החשבון שמצוין כשמתבצע אימות ל-CLI של gcloud. חשבון המשתמש יכול להיות חשבון משתמש רגיל או חשבון שירות שמנוהל על ידי משתמש. | |
חשבון השירות בניהול Google, שנקרא גם סוכן השירות, שמשמש את Storage Transfer Service. בדרך כלל, החשבון הזה מזוהה באמצעות כתובת האימייל שלו, בפורמט project-PROJECT_NUMBER@storage-transfer-service.iam.gserviceaccount.com.
|
|
![]() |
חשבון סוכן ההעברה שמספק הרשאות Google Cloud לסוכני העברה. חשבונות של סוכני העברה משתמשים בפרטי הכניסה של המשתמש שמתקין אותם, או בפרטי הכניסה של חשבון שירות שמנוהל על ידי משתמש, כדי לבצע אימות. |
הוראות מפורטות זמינות במאמר בנושא הרשאות להעברה מבוססת-סוכן.
התקנת סוכנים במאגר סוכנים
העברות שמבוססות על סוכנים משתמשות בסוכני תוכנה כדי לתזמן העברות. הסוכנים האלה צריכים להיות מותקנים במכונה עם גישה למערכת הקבצים שמעורבת בהעברה.
- יוצרים מאגר סוכנים. צריך להשתמש בחשבון המשתמש
כדי לבצע את הפעולה הזו.
- התקנת סוכנים
במאגר הסוכנים. צריך להשתמש בחשבון של סוכן העברות
כדי לבצע את הפעולה הזו.
מומלץ להתחיל עם 3 סוכנים במאגר הסוכנים של המקור. במהלך ההעברה, עוקבים אחרי מהירות ההעברה. אפשר להוסיף עוד סוכנים למאגר בזמן שההעברה מתבצעת.
מומלץ להשתמש במכונה וירטואלית אחת לכל סוכן, עם לפחות 4 ליבות CPU ו-8GB RAM.
אפשרויות העברה
התכונות הבאות של Storage Transfer Service זמינות להעברות ממערכות קבצים אל Cloud Storage.
- העברת קבצים ספציפיים באמצעות מניפסט
- אפשר להעביר רשימה של קבצים ל-Storage Transfer Service כדי לבצע פעולות עליהם. פרטים נוספים זמינים במאמר בנושא העברה של קבצים או אובייקטים ספציפיים באמצעות מניפסט.
- ציון סוג האחסון (storage class)
- אתם יכולים לציין את
סוג האחסון (storage class) ב-Cloud Storage שבו ישתמשו עבור הנתונים שלכם בקטגוריית היעד. אפשר לעיין באפשרויות של
StorageClassכדי לראות פרטים על REST, או להשתמש בדגל--custom-storage-classשל Google Cloud CLI.שימו לב: המערכת מתעלמת מהגדרות של סוגי אחסון אם התכונה סיווג אוטומטי מופעלת בקטגוריית היעד. אם התכונה סיווג אוטומטי מופעלת, האובייקטים שמועברים לקטגוריה מוגדרים בהתחלה כ-Standard Storage.
- שמירה על מטא-נתונים
-
כשמעבירים קבצים ממערכות קבצים, אפשר להגדיר את Storage Transfer Service כך שישמור מאפיינים מסוימים כמטא נתונים מותאמים אישית. אם הקבצים האלה ייכתבו חזרה למערכת קבצים בשלב מאוחר יותר, שירות העברת נתונים (Storage Transfer Service) יוכל להמיר את המטא-נתונים שנשמרו בחזרה למאפייני POSIX.
בקטע העברות של מערכת קבצים מסוג POSIX במאמר שמירה של מטא-נתונים מפורט אילו מטא-נתונים אפשר לשמור ואיך להגדיר את ההעברה.
- ניהול רוחב הפס של הרשת
- כברירת מחדל, Storage Transfer Service משתמש בכל רוחב הפס שזמין לו כדי להעביר קבצים ממערכת הקבצים. אפשר להגדיר מגבלת רוחב פס כדי למנוע מההעברה להשפיע על תנועת רשת אחרת. מגבלות רוחב הפס
מוחלות ברמת מאגר הסוכנים.
מידע נוסף מופיע במאמר בנושא ניהול רוחב פס ברשת.
כדי להגדיר או לשנות את מגבלות רוחב הפס, בחשבון המשתמש שלך צריכה להיות מוגדרת ההרשאה אדמין של העברת נתונים (
roles/storagetransfer.admin). - רישום ביומן
- Storage Transfer Service תומך ב- Cloud Logging for Storage Transfer Service (מומלץ) וגם ביומני העברה מבוססי-סוכן.
יצירת העברה
אל תכללו בשם של עבודת ההעברה מידע רגיש כמו פרטים אישיים מזהים (PII) או נתוני אבטחה. יכול להיות ששמות המשאבים יועברו לשמות של משאבים אחרים ב-Google Cloud, ויוצגו למערכות פנימיות של Google מחוץ לפרויקט שלכם.
שירות העברת הנתונים (Storage Transfer Service) מספק כמה ממשקים שדרכם אפשר ליצור העברה.
מסוף Google Cloud
נכנסים לדף Storage Transfer Service במסוף Google Cloud .
לוחצים על Transfer. מוצג הדף Create a transfer job.
בוחרים באפשרות POSIX file system (מערכת קבצים של POSIX) כמקור.
בוחרים באפשרות Cloud Storage כסוג היעד ולוחצים על השלב הבא.
בוחרים מאגר סוכנים קיים או בוחרים באפשרות יצירת מאגר סוכנים ופועלים לפי ההוראות ליצירת מאגר חדש.
מציינים את הנתיב המלא, המוגדר במלואו, של ספריית מערכת הקבצים.
לוחצים על השלב הבא.
בשדה Bucket or folder, מזינים את קטגוריית היעד ואת שם התיקייה (אופציונלי), או לוחצים על Browse כדי לבחור קטגוריה מתוך רשימת הקטגוריות הקיימות בפרויקט הנוכחי. כדי ליצור מאגר חדש, לוחצים על
יצירת מאגר חדש.לוחצים על השלב הבא.
בוחרים את אפשרויות התזמון.
לוחצים על השלב הבא.
בוחרים את ההגדרות של עבודת ההעברה.
בשדה Description (תיאור), מזינים תיאור של ההעברה. מומלץ להזין תיאור משמעותי וייחודי כדי להבדיל בין המשרות.
בקטע אפשרויות מטא-נתונים, משתמשים באפשרויות ברירת המחדל או מעדכנים ערך אחד או יותר. פרטים נוספים זמינים במאמר בנושא שמירת מטא-נתונים.
בקטע When to overwrite (מתי להחליף), בוחרים באחת מהאפשרויות הבאות:
אף פעם: Storage Transfer Service מדלג על העברה של קבצים מהמקור שיש להם שם זהה לקובץ שקיים ביעד.
אם שונה: מחליף את קובצי היעד אם לקובץ המקור עם אותו שם יש ערכי Etags או סיכום ביקורת שונים.
תמיד: תמיד מחליף את קובצי היעד כששם קובץ המקור זהה, גם אם הם זהים.
בקטע When to delete (מתי למחוק), בוחרים באחת מהאפשרויות הבאות:
אף פעם: הקבצים לא יימחקו מהמקור או מהיעד.
Delete file from source after they're transferred: מחיקת קבצים מהמקור אחרי שהם מועברים ליעד. אם קובץ מקור לא מועבר, למשל כי הוא כבר קיים ביעד, קובץ המקור לא נמחק.
מחיקת קבצים מיעד אם הם לא נמצאים גם במקור: אם קבצים בקטגוריה של Cloud Storage ביעד לא נמצאים גם במקור, הקבצים יימחקו מהקטגוריה של Cloud Storage.
האפשרות הזו מבטיחה שקטגוריית היעד של Cloud Storage תהיה זהה למקור.
בוחרים אם להפעיל רישום ביומן ב-Cloud Storage או להפעיל רישום ביומן ב-Cloud Logging או את שתי האפשרויות. מידע נוסף זמין במאמרים יומני העברה של מערכת קבצים וCloud Logging ל-Storage Transfer Service.
כדי ליצור את עבודת ההעברה, לוחצים על Create (יצירה).
gcloud
לפני שמשתמשים בפקודות gcloud, צריך להתקין את Google Cloud CLI.
כדי ליצור משימת העברה חדשה, משתמשים בפקודה gcloud transfer jobs create. יצירת משימה חדשה מתחילה את ההעברה שצוינה, אלא אם צוין לוח זמנים או --do-not-run.
gcloud transfer jobs create \ posix:///SOURCE \ gs://DESTINATION/ \ --source-agent-pool=SOURCE_POOL_NAME
מחליפים את מה שכתוב בשדות הבאים:
SOURCE הוא נתיב מוחלט מהשורש של מערכת הקבצים. הוא מתחיל ב-
posix://, כך שהערך הסופי יכלול 3 לוכסנים. לדוגמה,posix:///tmp/data/.DESTINATION הוא שם של קטגוריית Cloud Storage, ואפשר גם להוסיף נתיב לתיקייה ואחריו לוכסן. לדוגמה,
gs://example-bucket/data/.
--source-agent-poolמציין את מאגר הסוכנים של המקור שבו יש להשתמש להעברה הזו.
אפשרויות נוספות:
האפשרות
--do-not-runמונעת מ-Storage Transfer Service להריץ את העבודה אחרי שליחת הפקודה. כדי להריץ את העבודה, צריך לעדכן אותה כדי להוסיף לוח זמנים, או להשתמש בפונקציהjobs runכדי להפעיל אותה באופן ידני.
--manifest-fileמציין את הנתיב לקובץ CSV ב-Cloud Storage שמכיל רשימה של קבצים להעברה מהמקור. למידע על הפורמט של קובץ המניפסט, אפשר לעיין במאמר העברה של קבצים או אובייקטים ספציפיים באמצעות מניפסט.פרטי המשימה: אפשר לציין
--nameו--description.לוח זמנים: מציינים
--schedule-starts,--schedule-repeats-everyו---schedule-repeats-until, או--do-not-run.אפשרויות העברה: מציינים אם להחליף קבצים ביעד (
--overwrite-when=differentאוalways) ואם למחוק קבצים מסוימים במהלך ההעברה או אחריה (--delete-from=destination-if-uniqueאוsource-after-transfer). מציינים אילו ערכי מטא-נתונים לשמור (--preserve-metadata), ואפשר גם להגדיר מחלקת אחסון לאובייקטים שמועברים (--custom-storage-class).
כדי לראות את כל האפשרויות, מריצים את הפקודה gcloud transfer jobs create --help או מעיינים במאמרי העזרה בנושא gcloud.
שימו לב שלא כל האפשרויות נתמכות בהעברות שמבוססות על סוכנים. באפשרויות שלא נתמכות מופיעה הערה על כך בטקסט העזרה.
REST
בדוגמה הבאה אפשר לראות איך משתמשים ב-Storage Transfer Service דרך REST API.
כשמגדירים או עורכים משימות העברה באמצעות Storage Transfer Service API, צריך לציין את השעה ב-UTC. מידע נוסף על הגדרת לוח הזמנים של עבודת העברה זמין במאמר בנושא תזמון.
כדי להעביר קבצים ממערכת קבצים של POSIX לקטגוריה של Cloud Storage, צריך להשתמש ב-transferJobs.create עם posixDataSource:
POST https://storagetransfer.googleapis.com/v1/transferJobs { "name":"transferJobs/sample_transfer", "description": "My First Transfer", "status": "ENABLED", "projectId": "my_transfer_project_id", "schedule": { "scheduleStartDate": { "year": 2022, "month": 5, "day": 2 }, "startTimeOfDay": { "hours": 22, "minutes": 30, "seconds": 0, "nanos": 0 } "scheduleEndDate": { "year": 2022, "month": 12, "day": 31 }, "repeatInterval": { "259200s" }, }, "transferSpec": { "posixDataSource": { "rootDirectory": "/bar/", }, "sourceAgentPoolName": "my_example_pool", "gcsDataSink": { "bucketName": "destination_bucket" "path": "foo/bar/" }, } }
השדה schedule הוא אופציונלי. אם הוא לא נכלל, צריך להפעיל את העברת הנתונים באמצעות בקשת transferJobs.run.
כדי לבדוק את סטטוס ההעברה אחרי שיוצרים משימה, משתמשים בפקודה
transferJobs.get:
GET https://storagetransfer.googleapis.com/v1/transferJobs/sample_transfer?project_id=my_transfer_project_id
ספריות לקוח
בדוגמאות הבאות מוצגות דרכים לשימוש ב-Storage Transfer Service באופן פרוגרמטי באמצעות Go, Java, Node.js ו-Python.
כשמגדירים או עורכים משימות העברה באופן פרוגרמטי, צריך לציין את השעה ב-UTC. מידע נוסף על הגדרת לוח הזמנים של עבודת העברה זמין במאמר בנושא תזמון.
מידע נוסף על ספריות הלקוח של Storage Transfer Service זמין במאמר תחילת העבודה עם ספריות הלקוח של Storage Transfer Service.
כדי להעביר קבצים ממערכת קבצים של POSIX לקטגוריה של Cloud Storage: