Storage Transfer Service יכול להאזין להתראות אירועים ב-AWS כדי להעביר באופן אוטומטי נתונים שנוספו או עודכנו במיקום המקור לקטגוריה של Cloud Storage. מידע נוסף על היתרונות של העברות מבוססות-אירועים
העברות מבוססות-אירועים מאזינות להתראות אירועים של Amazon S3 שנשלחות ל-Amazon SQS כדי לדעת מתי אובייקטים בקטגוריית המקור שונו או נוספו. מחיקות של אובייקטים לא מזוהות. מחיקה של אובייקט במקור לא מוחקת את האובייקט המשויך בקטגוריית היעד.
העברות מבוססות-אירועים תמיד משתמשות בקטגוריה של Cloud Storage כיעד.
לפני שמתחילים
פועלים לפי ההוראות כדי להעניק את ההרשאות הנדרשות בקטגוריה של Cloud Storage ביעד:
יצירת תור SQS
במסוף AWS, עוברים לדף Simple Queue Service.
לוחצים על יצירת תור.
מזינים שם לתור הזה.
בקטע מדיניות גישה, בוחרים באפשרות מתקדם. מוצג אובייקט JSON:
{ "Version": "2008-10-17", "Id": "__default_policy_ID", "Statement": [ { "Sid": "__owner_statement", "Effect": "Allow", "Principal": { "AWS": "01234567890" }, "Action": [ "SQS:*" ], "Resource": "arn:aws:sqs:us-west-2:01234567890:test" } ] }
הערכים של
AWSושלResourceהם ייחודיים לכל פרויקט.מעתיקים את הערכים הספציפיים של
AWSו-Resourceמ-JSON שמוצג אל קטע ה-JSON הבא:{ "Version": "2012-10-17", "Id": "example-ID", "Statement": [ { "Sid": "example-statement-ID", "Effect": "Allow", "Principal": { "Service": "s3.amazonaws.com" }, "Action": "SQS:SendMessage", "Resource": "RESOURCE", "Condition": { "StringEquals": { "aws:SourceAccount": "AWS" }, "ArnLike": { "aws:SourceArn": "S3_BUCKET_ARN" } } } ] }
הערכים של ה-placeholders ב-JSON שלמעלה הם בפורמט הבא:
- AWS הוא ערך מספרי שמייצג את הפרויקט שלכם ב-Amazon Web Services. לדוגמה,
"aws:SourceAccount": "1234567890". - RESOURCE הוא מספר משאב של אמזון (ARN) שמזהה את התור הזה. לדוגמה,
"Resource": "arn:aws:sqs:us-west-2:01234567890:test". - S3_BUCKET_ARN הוא מספר ARN שמזהה את קטגוריית המקור. לדוגמה,
"aws:SourceArn": "arn:aws:s3:::example-aws-bucket". אפשר למצוא את ה-ARN של קטגוריה בכרטיסייה מאפיינים בדף הפרטים של הקטגוריה במסוף AWS.
- AWS הוא ערך מספרי שמייצג את הפרויקט שלכם ב-Amazon Web Services. לדוגמה,
מחליפים את ה-JSON שמוצג בקטע מדיניות הגישה ב-JSON המעודכן שלמעלה.
לוחצים על יצירת תור.
בסיום, רושמים את שם משאב Amazon (ARN) של התור. הפורמט של ה-ARN הוא:
arn:aws:sqs:us-east-1:1234567890:event-queue"
הפעלת התראות בדלי S3
נכנסים לדף S3 במסוף AWS.
ברשימה Buckets, בוחרים את קטגוריית המקור.
לוחצים על הכרטיסייה מאפיינים.
בקטע התראות לגבי אירועים, לוחצים על יצירת התראה לגבי אירוע.
מציינים שם לאירוע.
בקטע Event types (סוגי אירועים), בוחרים באפשרות All object create events (כל האירועים שקשורים ליצירת אובייקטים).
בקטע יעד בוחרים באפשרות תור SQS ובוחרים את התור שיצרתם להעברה הזו.
לוחצים על שמירת השינויים.
הגדרת ההרשאות
פועלים לפי ההוראות במאמר הגדרת גישה למקור: Amazon S3 כדי ליצור מזהה מפתח גישה ומפתח סודי, או תפקיד של זהות מאוחדת.
מחליפים את ה-JSON של ההרשאות המותאמות אישית בטקסט הבא:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sqs:DeleteMessage", "sqs:ChangeMessageVisibility", "sqs:ReceiveMessage", "s3:GetObject", "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::S3_BUCKET_NAME", "arn:aws:s3:::S3_BUCKET_NAME/*", "AWS_QUEUE_ARN" ] } ] }
אחרי שיוצרים את הקבוצה, חשוב לשים לב למידע הבא:
- רושמים בצד את המזהה של מפתח הגישה ואת המפתח הסודי של המשתמש.
- לתפקיד של זהות מאוחדת, שימו לב לשם משאב Amazon (ARN), שהפורמט שלו הוא
arn:aws:iam::AWS_ACCOUNT:role/ROLE_NAME.
יצירת העברת נתונים
אפשר להשתמש ב-API בארכיטקטורת REST או במסוף Google Cloud כדי ליצור העברה מבוססת-אירועים.
מסוף Cloud
נכנסים לדף Create transfer job במסוף Google Cloud .
בוחרים באפשרות Amazon S3 כסוג המקור ובאפשרות Cloud Storage כיעד.
בקטע מצב תזמון בוחרים באפשרות מבוסס-אירועים ולוחצים על השלב הבא.
מזינים את שם קטגוריית S3. שם ה-bucket הוא השם שמופיע במסוף הניהול של AWS. לדוגמה,
my-aws-bucket.בוחרים את שיטת האימות ומזינים את המידע הנדרש, שיצרתם ורשמתם בקטע הקודם.
מזינים את ה-ARN של תור Amazon SQS שיצרתם קודם. הפורמט הוא:
arn:aws:sqs:us-east-1:1234567890:event-queue"
אפשר להגדיר מסננים ואז ללחוץ על השלב הבא.
בוחרים את קטגוריית היעד של Cloud Storage ואת הנתיב (אם רוצים).
אפשר גם להזין שעת התחלה ושעת סיום להעברה. אם לא מציינים זמן, ההעברה תתחיל באופן מיידי ותפעל עד שתופסק באופן ידני.
מציינים את אפשרויות ההעברה הרצויות. מידע נוסף זמין בדף יצירת העברות.
לוחצים על יצירה.
אחרי שיוצרים את העברת הנתונים, היא מתחילה לפעול ו-event listener מחכה להודעות בתור SQS. בדף פרטי המשרה מוצגת פעולה אחת בכל שעה, והוא כולל פרטים על הנתונים שהועברו לכל משרה.
REST
כדי ליצור העברה מבוססת-אירועים באמצעות API בארכיטקטורת REST, שולחים את אובייקט ה-JSON הבא לנקודת הקצה transferJobs.create:
transfer_job { "description": "YOUR DESCRIPTION", "status": "ENABLED", "projectId": "PROJECT_ID", "transferSpec" { "awsS3DataSource" { "bucketName": "AWS_SOURCE_NAME", "roleArn": "arn:aws:iam::1234567891011:role/role_for_federated_auth" }, "gcsDataSink": { "bucketName": "GCS_SINK_NAME" } } "eventStream" { "name": "arn:aws:sqs:us-east-1:1234567891011:s3-notification-queue", "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. מידע נוסף זמין במאמר הגדרת אימות לסביבת פיתוח מקומית.