המאמר הזה מתאר איך להעלות אובייקטים ממערכת הקבצים המקומית לקטגוריה של Cloud Storage. אובייקט שהועלה מכיל את הנתונים שרוצים לשמור יחד עם המטא-נתונים שמשויכים אליהם. במאמר העלאות והורדות אפשר לקבל סקירה כללית של מושגים, כולל איך לבחור את שיטת ההעלאה האופטימלית בהתאם לגודל הקובץ.
לקבלת הוראות להעלאה מהזיכרון, אפשר לעיין במאמר העלאת אובייקטים מהזיכרון.
ההרשאות הנדרשות
המסוף
כדי להשלים את המדריך הזה באמצעות מסוף Google Cloud, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאתם רוצים לגשת אליה קיימת בפרויקט שלא אתם יצרתם, יכול להיות שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM במסוף Google Cloud.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
שורת הפקודה
כדי להשלים את המדריך הזה באמצעות כלי שורת הפקודה, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאתם רוצים לגשת אליה קיימת בפרויקט שלא אתם יצרתם, יכול להיות שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM לפקודות gsutil.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
ספריות לקוח
כדי להשלים את המדריך הזה באמצעות ספריות הלקוח של Cloud Storage, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאתם רוצים לגשת אליה קיימת בפרויקט שלא אתם יצרתם, יכול להיות שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
אם לא צוין אחרת, בקשות לספריות לקוח מבוצעות דרך API בפורמט JSON ומחייבות את ההרשאות שמפורטות בהרשאות IAM ל-methods של JSON. כדי לראות אילו methods של API בפורמט JSON מופעלות כששולחים בקשות באמצעות ספריית לקוח, אתם צריכים לבצע רישום ביומן של הבקשות הגולמיות.
רשימת התפקידים הרלוונטיים ב-IAM מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
API בארכיטקטורת REST
API בפורמט JSON
כדי להשלים את המדריך הזה באמצעות ה-API בפורמט JSON, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאתם רוצים לגשת אליה קיימת בפרויקט שלא אתם יצרתם, יכול להיות שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM ל-methods של JSON.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
העלאת אובייקט לקטגוריה
כדי להעלות אובייקט לקטגוריה:
המסוף
- במסוף Google Cloud, נכנסים לדף Buckets ב-Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שאליה רוצים להעלות אובייקט.
בכרטיסייה Objects של הקטגוריה, מבצעים אחת משתי הפעולות הבאות:
גוררים את הקבצים הרצויים משולחן העבודה או ממנהל הקבצים ומשחררים אותם בחלונית הראשית של מסוף Google Cloud.
לוחצים על הלחצן Objects, בוחרים את הקבצים שרוצים להעלות בתיבת הדו-שיח שמופיעה ולוחצים על Open.
במאמרפתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בפעולות Cloud Storage שנכשלו במסוף Google Cloud.
שורת הפקודה
gcloud
משתמשים בפקודה gcloud storage cp
:
gcloud storage cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
כאשר:
OBJECT_LOCATION
הוא הנתיב המקומי לאובייקט. לדוגמה,Desktop/dog.png
.
DESTINATION_BUCKET_NAME
הוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket
.
אם הפעולה בוצעה ללא שגיאות, התשובה תיראה כמו בדוגמה הבאה:
Completed files 1/1 | 164.3kiB/164.3kiB
אפשר להגדיר מטא-נתונים של אובייקט עם מפתח קבוע או בהתאמה אישית כחלק מהעלאת האובייקט, באמצעות דגלי פקודה.
gsutil
משתמשים בפקודה gsutil cp
:
gsutil cp OBJECT_LOCATION gs://DESTINATION_BUCKET_NAME/
כאשר:
OBJECT_LOCATION
הוא הנתיב המקומי לאובייקט. לדוגמה,Desktop/dog.png
.
DESTINATION_BUCKET_NAME
הוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket
.
אם הפעולה בוצעה ללא שגיאות, התשובה תיראה כמו בדוגמה הבאה:
Operation completed over 1 objects/58.8 KiB.
אפשר להגדיר מטא-נתונים של אובייקט עם מפתח קבוע או בהתאמה אישית כחלק מהעלאת האובייקט בכותרות של הבקשה באמצעות האפשרות הגלובלית -h
.
ספריות לקוח
C++
מידע נוסף מופיע במאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
C#
מידע נוסף מופיע במאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Go
מידע נוסף מופיע במאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Java
מידע נוסף מופיע במאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Node.js
מידע נוסף מופיע במאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
PHP
מידע נוסף מופיע במאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Python
מידע נוסף מופיע במאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Ruby
מידע נוסף מופיע במאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, צריך להגדיר את Application Default Credentials. מידע נוסף מופיע במאמר הגדרת אימות לסביבת פיתוח מקומית.
Terraform
אפשר להשתמש במשאב של Terraform כדי להעלות אובייקט.
צריך לציין content
או source
(אפשר גם לציין את שניהם).
API בארכיטקטורת REST
API בפורמט JSON
ה-API בפורמט JSON מבחין בין העלאות מדיה, שבהן הבקשה כוללת רק נתוני האובייקט, לבין העלאות מרובות חלקים ב-API בפורמט JSON, שבהן הבקשה כוללת גם את נתוני האובייקט וגם את המטא-נתונים של האובייקט.
העלאת מדיה (העלאה של בקשה אחת ללא מטא-נתונים של האובייקט)
- מקבלים אסימון גישה להרשאה מ-OAuth 2.0 Playground. מגדירים את ה-Playground לשימוש בפרטי הכניסה שלכם ב-OAuth. הוראות מפורטות מופיעות במאמר אימות API.
משתמשים ב-
cURL
כדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת אובייקטPOST
:curl -X POST --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=media&name=OBJECT_NAME"
כאשר:
-
OBJECT_LOCATION
הוא הנתיב המקומי לאובייקט. לדוגמה,Desktop/dog.png
. -
OAUTH2_TOKEN
הוא אסימון הגישה שיצרתם בשלב 1. -
OBJECT_CONTENT_TYPE
הוא סוג התוכן של האובייקט. לדוגמה,image/png
. -
BUCKET_NAME
הוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket
. -
OBJECT_NAME
הוא השם שרוצים לתת לאובייקט, מותאם לקידודי התווים שמתאימים לכתובות URL. לדוגמה,pets/dog.png
יותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png
.
-
העלאה מרובת חלקים של API בפורמט JSON (העלאה עם בקשה אחת שכוללת מטא-נתונים של אובייקט)
- מקבלים אסימון גישה להרשאה מ-OAuth 2.0 Playground. מגדירים את ה-Playground לשימוש בפרטי הכניסה שלכם ב-OAuth. הוראות מפורטות מופיעות במאמר אימות API.
יוצרים קובץ
multipart/related
שמכיל את הפרטים הבאים:--BOUNDARY_STRING Content-Type: application/json; charset=UTF-8 OBJECT_METADATA --BOUNDARY_STRING Content-Type: OBJECT_CONTENT_TYPE OBJECT_DATA --BOUNDARY_STRING--
כאשר:
-
BOUNDARY_STRING
היא מחרוזת שמגדירים שמזהה את החלקים השונים של הקובץ מרובה החלקים. לדוגמה,separator_string
. -
OBJECT_METADATA
הוא המטא-נתונים שרוצים לכלול בקובץ, בפורמט JSON. לכל הפחות, הקטע הזה צריך לכלול את המאפייןname
של האובייקט, לדוגמה{"name": "myObject"}
. -
OBJECT_CONTENT_TYPE
הוא סוג התוכן של האובייקט. לדוגמה,text/plain
. -
OBJECT_DATA
הוא הנתונים בשביל האובייקט.
לדוגמה:
--separator_string Content-Type: application/json; charset=UTF-8 {"name":"my-document.txt"} --separator_string Content-Type: text/plain This is a text file. --separator_string--
-
משתמשים ב-
cURL
כדי לשלוח קריאה ל-API בפורמט JSON באמצעות בקשת אובייקטPOST
:curl -X POST --data-binary @MULTIPART_FILE_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: multipart/related; boundary=BOUNDARY_STRING" \ -H "Content-Length: MULTIPART_FILE_SIZE" \ "https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o?uploadType=multipart"
כאשר:
-
MULTIPART_FILE_LOCATION
הוא הנתיב המקומי לקובץ מרובה החלקים שנוצר בשלב 2. לדוגמה,Desktop/my-upload.multipart
. -
OAUTH2_TOKEN
הוא אסימון הגישה שיצרתם בשלב 1. -
BOUNDARY_STRING
הוא מחרוזת הגבולות שיצרתם בשלב 2. לדוגמה,my-boundary
. -
MULTIPART_FILE_SIZE
הוא הגודל הכולל בבייטים של הקובץ מרובה החלקים שיצרתם בשלב 2. לדוגמה,2000000
. -
BUCKET_NAME
הוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket
.
-
אם הבקשה תתבצע בהצלחה, השרת יחזיר את קוד הסטטוס 200 OK
של HTTP יחד עם המטא-נתונים של הקובץ.
API בפורמט XML
- מקבלים אסימון גישה להרשאה מ-OAuth 2.0 Playground. מגדירים את ה-Playground לשימוש בפרטי הכניסה שלכם ב-OAuth. הוראות מפורטות מופיעות במאמר אימות API.
משתמשים ב-
cURL
כדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשת אובייקטPUT
:curl -X PUT --data-binary @OBJECT_LOCATION \ -H "Authorization: Bearer OAUTH2_TOKEN" \ -H "Content-Type: OBJECT_CONTENT_TYPE" \ "https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME"
כאשר:
-
OBJECT_LOCATION
הוא הנתיב המקומי לאובייקט. לדוגמה,Desktop/dog.png
. -
OAUTH2_TOKEN
הוא אסימון הגישה שיצרתם בשלב 1. -
OBJECT_CONTENT_TYPE
הוא סוג התוכן של האובייקט. לדוגמה,image/png
. -
BUCKET_NAME
הוא שם הקטגוריה שאליה מעלים את האובייקט. לדוגמה,my-bucket
. -
OBJECT_NAME
הוא השם שרוצים לתת לאובייקט, מותאם לקידודי התווים שמתאימים לכתובות URL. לדוגמה,pets/dog.png
יותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:pets%2Fdog.png
.
-
אפשר להגדיר מטא-נתונים של אובייקט נוספים כחלק מהעלאת האובייקט בכותרות של הבקשה, באותו אופן שבו קבוצות הדוגמאות שלמעלה מגדירות את Content-Type
. כשעובדים עם API בפורמט XML, אפשר להגדיר מטא-נתונים רק בזמן כתיבת האובייקט, למשל בהעלאה, בהעתקה או בהחלפה של האובייקט. למידע נוסף, עיינו במאמר עריכת מטא-נתונים של אובייקטים.
המאמרים הבאים
- מידע על הדרישות בנוגע למתן שמות לאובייקטים.
- העברת אובייקטים ממכונה של Compute Engine.
- העברת נתונים מספקי שירותי ענן או ממקורות מקוונים אחרים, כמו רשימות של כתובות URL.
- איך קובעים למי תהיה גישה לאובייקטים ולקטגוריות.
- הצגת המטא-נתונים של האובייקט, כולל כתובת ה-URL של האובייקט.
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי להעריך את הביצועים של מוצרי Cloud Storage בתרחישים מהעולם האמיתי. לקוחות חדשים גם מקבלים בחינם קרדיט בשווי 300$ להרצה, לבדיקה ולפריסה של עומסי העבודה.
נסו את Cloud Storage בחינם