Cloud Storage
המחבר Google Cloud Storage מאפשר לכם להתחבר ל-Google Cloud Storage ולבצע פעולות של העברת קבצים.
לפני שמתחילים
לפני שמשתמשים במחבר Cloud Storage, צריך לבצע את המשימות הבאות:
- בפרויקט שלכם ב-Google Cloud:
- מוודאים שהגדרתם חיבור לרשת. מידע על תבניות רשת זמין במאמר קישוריות לרשת.
- נותנים למשתמש שמגדיר את המחבר את תפקיד ה-IAM roles/connectors.admin.
- מקצים לחשבון השירות שרוצים להשתמש בו עבור המחבר את תפקידי ה-IAM הבאים:
roles/secretmanager.viewerroles/secretmanager.secretAccessorroles/storage.admin
חשבון שירות הוא סוג מיוחד של חשבון Google שמייצג משתמש לא אנושי, שצריך לאמת ולאשר כדי לתת לו גישה לנתונים ב-Google APIs. אם אין לכם חשבון שירות, אתם צריכים ליצור חשבון שירות. המחבר וחשבון השירות צריכים להיות שייכים לאותו פרויקט. מידע נוסף זמין במאמר בנושא יצירת חשבון שירות.
- מפעילים את השירותים הבאים:
-
secretmanager.googleapis.com(Secret Manager API) -
connectors.googleapis.com(Connectors API)
במאמר הפעלת שירותים מוסבר איך להפעיל שירותים.
-
אם השירותים או ההרשאות האלה לא הופעלו בפרויקט שלכם בעבר, תתבקשו להפעיל אותם כשאתם מגדירים את המחבר.
הגדרת המחבר
החיבור הוא ספציפי למקור נתונים. אם יש לכם הרבה מקורות נתונים, תצטרכו ליצור חיבור נפרד לכל אחד מהם. כדי ליצור קישור:
- במסוף Cloud, עוברים לדף Integration Connectors > Connections ובוחרים או יוצרים פרויקט בענן.
- לוחצים על + יצירת חיבור חדש כדי לפתוח את הדף יצירת חיבור.
- בקטע מיקום, בוחרים את המיקום של החיבור.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
רשימה של כל האזורים הנתמכים מופיעה במאמר מיקומים.
- לוחצים על הבא.
- אזור: בוחרים מיקום מהרשימה הנפתחת.
- בקטע פרטי החיבור, ממלאים את הפרטים הבאים:
- מחבר: בוחרים באפשרות Cloud Storage מהרשימה הנפתחת של המחברים הזמינים.
- גרסת כלי החיבור: בוחרים את גרסת כלי החיבור מהרשימה הנפתחת של הגרסאות הזמינות.
- בשדה Connection Name (שם החיבור), מזינים שם למופע החיבור.
השמות של החיבורים צריכים לעמוד בקריטריונים הבאים:
- שמות החיבורים יכולים לכלול אותיות, מספרים או מקפים.
- האותיות צריכות להיות קטנות.
- שמות החיבורים צריכים להתחיל באות ולהסתיים באות או במספר.
- שמות החיבורים לא יכולים לכלול יותר מ-49 תווים.
- אופציונלי: מזינים תיאור למופע החיבור.
- אופציונלי: מפעילים את Cloud Logging ואז בוחרים רמת יומן. כברירת מחדל, רמת היומן מוגדרת כ-
Error. - חשבון שירות: בוחרים חשבון שירות שיש לו את התפקידים הנדרשים.
- אופציונלי: מגדירים את ההגדרות של צומת החיבור:
- מספר מינימלי של צמתים: מזינים את המספר המינימלי של צמתי חיבור.
- מספר הצמתים המקסימלי: מזינים את מספר צמתי החיבור המקסימלי.
צומת הוא יחידה (או עותק) של חיבור שמבצעת עיבוד של עסקאות. כדי לעבד יותר עסקאות לחיבור נדרשים יותר צמתים, ולהפך: כדי לעבד פחות עסקאות נדרשים פחות צמתים. כדי להבין איך הצמתים משפיעים על התמחור של המחבר, אפשר לעיין במאמר בנושא תמחור של צמתי חיבור. אם לא מזינים ערכים, כברירת מחדל, מספר הצמתים המינימלי מוגדר כ-2 (לזמינות טובה יותר) ומספר הצמתים המקסימלי מוגדר כ-50.
- מזהה הפרויקט: המזהה של הפרויקט ב-Google Cloud שבו נמצאים הנתונים.
- אופציונלי: לוחצים על + הוספת תווית כדי להוסיף תווית לקישור בצורה של צמד מפתח/ערך.
- לוחצים על הבא.
- בדיקה: בדיקת החיבור.
- לוחצים על יצירה.
ישויות, פעולות ופעולות
כל Integration Connectors מספקים שכבת הפשטה לאובייקטים של האפליקציה המחוברת. אפשר לגשת לאובייקטים של אפליקציה רק דרך ההפשטה הזו. ההפשטה מוצגת לכם כישויות, פעולות ופעולות.
- ישות: ישות היא אובייקט או אוסף של מאפיינים באפליקציה או בשירות המקושרים. ההגדרה של ישות משתנה ממחבר למחבר. לדוגמה, במחבר של מסד נתונים, הטבלאות הן הישויות, במחבר של שרת קבצים, התיקיות הן הישויות, ובמחבר של מערכת הודעות, התורים הם הישויות.
עם זאת, יכול להיות שמחבר לא תומך בישויות או שאין לו ישויות, ובמקרה כזה הרשימה
Entitiesתהיה ריקה. - פעולה: פעולה היא הפעילות שאפשר לבצע בישות. אפשר לבצע כל אחת מהפעולות הבאות בישות:
בחירה של ישות מתוך הרשימה הזמינה יוצרת רשימה של פעולות שזמינות לישות. תיאור מפורט של הפעולות זמין במאמר פעולות על ישויות של משימת המחברים. עם זאת, אם מחבר לא תומך באף אחת מהפעולות על ישויות, הפעולות הלא נתמכות האלה לא יופיעו ברשימה
Operations. - פעולה: פעולה היא פונקציה מסוג first class שזמינה לשילוב דרך ממשק המחבר. פעולה מאפשרת לבצע שינויים בישות אחת או בכמה ישויות, והיא משתנה ממתחם למתחם. בדרך כלל, לפעולה יהיו כמה פרמטרים של קלט ופרמטר של פלט. עם זאת, יכול להיות שמחבר לא תומך באף פעולה, ובמקרה כזה הרשימה
Actionsתהיה ריקה.
מגבלות המערכת
מחבר Google Cloud Storage יכול לעבד עד 10 עסקאות בשנייה, לכל צומת, ומגביל עסקאות מעבר למגבלה הזו. כברירת מחדל, Integration Connectors מקצה 2 צמתים (לזמינות טובה יותר) לחיבור.
מידע על המגבלות שחלות על Integration Connectors זמין במאמר מגבלות.
פעולות
חיבור Google Cloud Storage תומך בפעולות הבאות:
הפעולה DownloadObject
בטבלה הבאה מתוארים פרמטרי הקלט של הפעולה DownloadObject.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| קטגוריה | כן | String | שם הקטגוריה שבה נמצא האובייקט שרוצים להוריד. |
| ObjectFilePath | לא | String | שם האובייקט שצריך להוריד. אם לא מציינים את האובייקטים, כל האובייקטים מהקטגוריה שצוינה יורדו.
אם האובייקט שרוצים להוריד נמצא בתיקיית צאצא של קטגוריה, צריך לציין את הנתיב המלא של האובייקט. לדוגמה, כדי להוריד את |
| HasBytes | לא | בוליאני | האם להוריד את התוכן כבייט. הערכים התקינים הם true או false.
אם הערך הוא true, התוכן יורד כמחרוזת מקודדת Base64.
כברירת מחדל, השדה |
| UpdatedEndDate | לא | תאריך | תאריך הסיום של טווח התאריכים להורדת אובייקטים. אם לא מציינים את הפרמטר הזה, האובייקטים יורדו מה-UpdatedStartDate שצוין עד היום הנוכחי. |
| UpdatedStartDate | לא | תאריך | תאריך ההתחלה של טווח התאריכים להורדת אובייקטים. אם לא מציינים את הפרמטר הזה, האובייקטים יורדו מתחילת הזמן עד UpdatedEndDate. |
דוגמאות להגדרת הפעולה DownloadObject מופיעות במאמר דוגמאות.
הפעולה UploadObject
בטבלה הבאה מתוארים פרמטרי הקלט של הפעולה UploadObject.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| קטגוריה | כן | String | שם הקטגוריה שאליה יועלה האובייקט. |
| FolderPath | לא | String | הנתיב לתיקייה שאליה רוצים להעלות את האובייקט. |
| ContentBytes | לא | String | התוכן להעלאה בפורמט של בייטים (מחרוזת בקידוד Base64). |
| HasBytes | לא | בוליאני | האם להעלות תוכן כבייטים. הערכים האפשריים הם true או false.
אם הערך הוא true, התוכן שרוצים להעלות צריך להיות מחרוזת בקידוד Base64.
כברירת מחדל, השדה |
| תוכן | כן | String | התוכן שרוצים להעלות. |
| ObjectName | לא | String | שם האובייקט שיועלה. |
דוגמאות להגדרת הפעולה UploadObject מופיעות במאמר דוגמאות.
הפעולה CopyObject
בטבלה הבאה מתוארים פרמטרי הקלט של הפעולה CopyObject.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| BucketSource | כן | String | שם הקטגוריה שממנה רוצים להעתיק את האובייקט. |
| ObjectSource | כן | String | הנתיב המלא של התיקייה שאליה רוצים להעתיק את האובייקט. |
| BucketDestination | כן | String | שם הקטגוריה שאליה רוצים להעתיק את האובייקט. |
| ObjectDestination | לא | String | הנתיב המלא של היעד, כולל שם האובייקט. אם לא מציינים שם לאובייקט, השם של אובייקט המקור נשמר. |
דוגמאות להגדרת הפעולה CopyObject מופיעות במאמר דוגמאות.
פעולת MoveObject
בטבלה הבאה מפורטים פרמטרי הקלט של הפעולה MoveObject.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| BucketSource | כן | String | שם הקטגוריה שממנה רוצים להעביר את האובייקט. |
| ObjectSource | כן | String | הנתיב המלא של התיקייה שאליה רוצים להעביר את האובייקט. |
| BucketDestination | כן | String | שם הקטגוריה שאליה רוצים להעביר את האובייקט. |
| ObjectDestination | לא | String | הנתיב המלא של היעד, כולל שם האובייקט. אם לא מציינים שם לאובייקט, השם של אובייקט המקור נשמר. |
הפעולה DeleteObject
בטבלה הבאה מתוארים פרמטרי הקלט של הפעולה DeleteObject.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| BucketSource | כן | String | שם הקטגוריה שבה נמצא האובייקט שרוצים למחוק. |
| ObjectSource | כן | String | השם של האובייקט שרוצים למחוק. |
| יצירה | לא | כפול | הגרסה של האובייקט שרוצים למחוק. אם יש ערך בשדה הזה, המערכת מוחקת את הגרסה שצוינה של האובייקט, ולא את הגרסה העדכנית ביותר, שזו ברירת המחדל. |
| IfGenerationMatch | לא | כפול | הופך את פעולת המחיקה לתלויה בכך שהדור הנוכחי של האובייקט תואם לערך שצוין. אם מגדירים את הערך הזה ל- |
| IfGenerationNotMatch | לא | כפול | הופך את פעולת המחיקה לתלויה בתנאי, כלומר היא תתבצע רק אם הדור הנוכחי של האובייקט לא תואם לערך שצוין. אם לא קיים אובייקט פעיל, התנאי המוקדם לא מתקיים. הגדרה של הערך הזה ל-0 גורמת לכך שהפעולה תצליח רק אם יש גרסה פעילה של האובייקט. |
| IfMetagenerationMatch | לא | כפול | הופך את פעולת המחיקה לתלויה בתנאי, בהתאם לכך שערך המטא-דור הנוכחי של האובייקט תואם לערך שצוין. |
| IfMetagenerationNotMatch | לא | כפול | הופך את פעולת המחיקה לתלויה בתנאי, בהתאם לכך שערך המטא-דור הנוכחי של האובייקט לא תואם לערך שצוין. |
פעולה של SignURL
בטבלה הבאה מפורטים פרמטרי הקלט של הפעולה SignURL שיוצרת כתובת URL חתומה לאובייקט שצוין.
| שם הפרמטר | חובה | סוג נתונים | תיאור |
|---|---|---|---|
| קטגוריה | כן | String | שם הקטגוריה שבה נמצא האובייקט. |
| אובייקט | כן | String | שם האובייקט שעבורו רוצים ליצור את ה-SignedURL. |
| RequestMethod | לא | String | השיטה שבה תשתמש הבקשה החתומה. ערך ברירת המחדל הוא GET. |
| מיקום | לא | String | המיקום של הקטגוריה שצוינה. ערך ברירת המחדל הוא auto. |
| ActiveDateTime | לא | String | התאריך והשעה שבהם כתובת ה-URL החתומה תהפוך לפעילה. אם לא מציינים תאריך ושעה, המערכת משתמשת בתאריך ובשעה הנוכחיים. |
| שאילתה | לא | String | מחרוזת השאילתה שצריך לכלול כשמשתמשים ב-SignedURL. אם לא מציינים מחרוזת שאילתה, לא נעשה שימוש במחרוזת שאילתה. |
| CustomHeaders | לא | String | רשימה מופרדת בפסיקים של כותרות name=value לשימוש עם SignedURL. אם לא מציינים כותרות, לא ייעשה שימוש בכותרות מותאמות אישית. |
| ExpiresIn | כן | String | זמן התפוגה של SignedURL צריך להיות בפורמט: 1d2h3m4s, והערך המקסימלי הוא 7d0h0m0s. |
| מזהה גישה של HMAC | כן | String | מזהה הגישה של HMAC. מידע נוסף זמין במאמר מפתחות HMAC. |
| HMAC Secret | כן | String | הסוד של HMAC. |
דוגמאות
בדוגמאות שבקטע הזה מתוארות הפעולות הבאות:
- הצגת רשימה של כל האובייקטים
- הצגת רשימה של כל האובייקטים בקטגוריה
- הצגת רשימה של אובייקטים באמצעות המסנן LIKE לפי שם
- הצגת רשימה של כל הקטגוריות
- הורדת אובייקט
- הורדת אובייקט בינארי
- העלאת אובייקט בינארי לקטגוריה
- העלאת אובייקט לקטגוריה
- העלאת אובייקט לתיקייה
- העתקת אובייקט
- העברת אובייקט
- מחיקת אובייקט
- יצירת כתובת URL חתומה לאובייקט
בטבלה הבאה מפורטים תרחישים לדוגמה וההגדרות המתאימות להם במשימה Connectors:
| משימה | הגדרות אישיות |
|---|---|
| הצגת רשימה של כל האובייקטים |
כאן מוצגת רשימה של כל האובייקטים בכל הקטגוריות. האובייקטים מפורטים בפרמטר התגובה |
| הצגת רשימה של כל האובייקטים בקטגוריה |
|
| הצגת רשימה של אובייקטים באמצעות המסנן LIKE לפי שם |
|
| הצגת רשימה של כל הקטגוריות |
|
| הורדת אובייקט |
בדוגמה הזו, קובץ |
| הורדת אובייקט בינארי |
השלבים להורדת אובייקט בינארי זהים לאלה של הורדת אובייקט רגיל, כפי שמתואר למעלה. בנוסף, צריך לציין את { "Bucket": "bucket-test-01", "ObjectFilePath": "image01.png", "HasBytes" : true } אם ההורדה תצליח, הפלט בשדה { "Success": "true", "ContentBytes": "SGVsbG8gdGVzdCE\u003d" } כברירת מחדל, השדה אם הקובץ מכיל תווים מיוחדים, כמו ä, Ø, Thành, צריך לבצע את הפעולות הבאות:
|
| העלאת אובייקט בינארי לקטגוריה |
בדוגמה הזו נוצר הקובץ |
| העלאת אובייקט לקטגוריה |
בדוגמה הזו נוצר הקובץ |
| העלאת אובייקט לתיקייה |
בדוגמה הזו נוצר הקובץ |
| העתקת אובייקט |
בדוגמה הזו, הקובץ אם ההעתקה תצליח, הפלט בשדה { "Success": "true" } |
| העברת אובייקט |
בדוגמה הזו, הקובץ אם ההעתקה תצליח, הפלט בשדה { "Success": "true" } |
| מחיקת אובייקט |
בדוגמה הזו, הקובץ אם ההעתקה תצליח, הפלט בשדה { "Success": "true" } |
| יצירת כתובת URL חתומה לאובייקט |
בדוגמה הזו נוצרת כתובת URL חתומה לקובץ {
"Success": "true",
"SignURL": "https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm=
GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com
%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T18
1309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f16
9edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa849
6def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dc
c1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c2058
0e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a
66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823
a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b13344703
2ea7abedc098d2eb14a7"
} |
לתשומת ליבכם
- הגודל המקסימלי של אובייקט שאפשר להוריד הוא 10MB.
- אי אפשר להעלות כמה קבצים באמצעות הפעולה
UploadObject. אפשר להעלות רק קובץ אחד.
יצירת חיבורים באמצעות Terraform
אפשר להשתמש במשאב של Terraform כדי ליצור חיבור חדש.
כדי ללמוד איך להחיל הגדרות ב-Terraform או להסיר אותן, ראו פקודות בסיסיות ב-Terraform.
כדי לראות תבנית לדוגמה של Terraform ליצירת חיבור, אפשר לעיין בתבנית לדוגמה.
כשיוצרים את החיבור הזה באמצעות Terraform, צריך להגדיר את המשתנים הבאים בקובץ ההגדרות של Terraform:
| שם הפרמטר | סוג נתונים | חובה | תיאור |
|---|---|---|---|
| project_id | מחרוזת | נכון | המזהה של הפרויקט בענן של Google שבו נמצאים הנתונים. |
שימוש בחיבור ל-Cloud Storage בשילוב
אחרי שיוצרים את החיבור, הוא זמין גם ב-Apigee Integration וגם ב-Application Integration. אפשר להשתמש בחיבור בשילוב באמצעות המשימה Connectors.
- כדי להבין איך ליצור ולהשתמש במשימה Connectors ב-Apigee Integration, אפשר לעיין במאמר משימת Connectors.
- מידע על יצירה ושימוש במשימת מחברים ב-Application Integration זמין במאמר משימת מחברים.