בדף הזה נסביר באילו נקודות קצה (endpoints) אפשר להשתמש בבקשות כדי לגשת ל-Cloud Storage. השירות Cloud Storage תומך בפרוטוקולים HTTP/1.1, HTTP/2 ו-HTTP/3. נקודת קצה היא המיקום שבו אפשר לגשת ל-Cloud Storage, והיא מופיעה ככתובת URL.
בקשות API אופייניות
API ל-JSON
כששולחים בקשות API בפורמט JSON ישירות ל-Cloud Storage, צריך להשתמש בנקודות הקצה הבאות:
בבקשות כלליות של API ל-JSON, לא כולל העלאות של אובייקטים, צריך להשתמש בנקודת הקצה הבאה ולהחליף את הערך של
PATH_TO_RESOURCEבערך המתאים:https://storage.googleapis.com/storage/v1/PATH_TO_RESOURCE
כדי להעלות אובייקטים של API ל-JSON צריך להשתמש בנקודת הקצה הבאה ולהחליף את הערך של
BUCKET_NAMEבערך המתאים:https://storage.googleapis.com/upload/storage/v1/b/BUCKET_NAME/o
בבקשות מרובות צריך להשתמש בנקודת הקצה הבאה ולהחליף את הערך של
PATH_TO_RESOURCEבערך המתאים:https://storage.googleapis.com/batch/storage/v1/PATH_TO_RESOURCE
במקום זאת, כדי להוריד אובייקטים של API ל-JSON אפשר להשתמש בנקודת הקצה הבאה, ולהחליף את הערכים של
BUCKET_NAMEו-OBJECT_NAMEבערכים המתאימים:https://storage.googleapis.com/download/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME?alt=media
נקודות הקצה של API ל-JSON מקבלות רק בקשות HTTPS.
API בפורמט XML
כששולחים בקשות API בפורמט XML ישירות ל-Cloud Storage, צריך להשתמש בנקודת הקצה בפורמט של מארח וירטואלי או בפורמט של נתיב, ולהחליף את הערכים של BUCKET_NAME ו-OBJECT_NAME בערכים המתאימים:
נקודת קצה בפורמט של מארח וירטואלי:
https://BUCKET_NAME.storage.googleapis.com/OBJECT_NAME
נקודת קצה בפורמט של נתיב:
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
נקודות הקצה ב-API ל-XML תומכות בשכבת שקע מאובטחת (פרוטוקול SSL) ולכן אפשר להשתמש ב-HTTP או ב-HTTPS. מומלץ להשתמש ב-HTTPS, במיוחד אם אתם משתמשים ב-OAuth 2.0 כדי לאמת ב-Cloud Storage.
gRPC
אתם יכולים להשתמש ב-gRPC, מסגרת RPC אוניברסלית בקוד פתוח עם ביצועים גבוהים שפותחה על ידי Google, כדי ליצור אינטראקציה עם Cloud Storage. לקוחות gRPC מתחברים לנקודת קצה של שירות. בשבילGoogle Cloud שירותים כמו Cloud Storage, זו בדרך כלל כתובת DNS בדומיין googleapis.com (לדוגמה, storage.googleapis.com) והיא משתמשת ביציאות מאובטחות רגילות כמו 443. שימוש ב-gRPC יכול לשפר את הביצועים ולספק יכולות סטרימינג יעילות.
כדי להשתמש ב-gRPC לאינטראקציה עם Cloud Storage, צריך להפעיל אותו בספריות הלקוח של Cloud.
מפעילים את gRPC בספריית לקוח באמצעות אחת מהשפות הנתמכות הבאות:
למידע על שיטות מומלצות לחיבור דרך שרת proxy, ראו פתרון בעיות.
קידוד של חלקים בנתיב כתובת ה-URL
בנוסף לשיקולים הכלליים לגבי בחירת שמות לקטגוריות ובחירת שמות לאובייקטים, כדי להבטיח תאימות בכל הכלים של Cloud Storage, כשמופיעים בכתובת ה-URL של הבקשה התווים הבאים בשם האובייקט או במחרוזת השאילתה, אתם צריכים לקודד אותם:
!, #, $, &, ', (, ), *, +, ,, /, :, ;, =, ?,
@, [, ] ותווי רווח.
לדוגמה, אם שולחים בקשת GET ל-API ל-JSON בשביל אובייקט בשם foo??bar בקטגוריה example-bucket, כתובת ה-URL של הבקשה צריכה להיות:
GET https://storage.googleapis.com/storage/v1/b/example-bucket/o/foo%3f%3fbar
שימו לב שלא חייבים לקודד את כל התווים בכל התרחישים. בנוסף, ספריות לקוח כמו ספריות הלקוח של Cloud Storage בדרך כלל מטפלות בקידוד בעצמן, כך שכשאתם משתמשים בכלים האלה תוכלו להעביר את שם האובייקט כמו שהוא.
מידע נוסף על שימוש בקידוד עם אחוזים מופיע ב-Section 3.3 Path ב-RFC 3986.
Google Cloud נקודות קצה במסוף
כשעובדים במסוף Google Cloud , ניגשים למשאבים שונים באמצעות כתובות ה-URL הבאות:
| משאב | כתובת URL |
|---|---|
| רשימת קטגוריות לפרויקט | https://console.cloud.google.com/storage/browser?project=PROJECT_ID |
| רשימת אובייקטים לקטגוריה | https://console.cloud.google.com/storage/browser/BUCKET_NAME |
| פרטי האובייקט | https://console.cloud.google.com/storage/browser/_details/BUCKET_NAME/OBJECT_NAME |
| נתוני האובייקט | מידע על הורדות מאומתות בדפדפן |
נקודות קצה ב-gcloud
פקודות gcloud storage משתמשות בנקודות קצה של API ל-JSON. השימוש בנקודת הקצה מנוהל בשמכם על ידי ה-CLI של gcloud.
נקודות קצה של ספריות לקוח
ספריות הלקוח של Cloud Storage מנהלות באופן אוטומטי את נקודות הקצה של הבקשות. לחלופין, אפשר להגדיר את נקודת הקצה של הבקשה באופן ידני. האפשרות הזו שימושית כשרוצים להשתמש בנקודת קצה ספציפית, או כשרוצים להשתמש בה למטרות בדיקה, למשל כדי להשתמש באמולטור מקומי:
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
דומיינים מותאמים אישית
אם אתם הבעלים של הדומיין שלכם, תוכלו למפות את מזהי ה-URI שלו לשירות אחד או יותר שלGoogle Cloud , כולל קטגוריות של Cloud Storage. לפעמים משתמשים במונח שם מארח שמקשר בין קטגוריות כדי לתאר את נקודת הקצה של הבקשה ב-Cloud Storage. כדי לקשר דומיין מותאם אישית לקטגוריה של Cloud Storage, צריך ליצור ברשומת ה-DNS הפניה אוטומטית מסוג A או מסוג CNAME.
רשומות A
כשמקשרים דומיין מותאם אישית לקטגוריה של Cloud Storage, בדרך כלל צריך להשתמש ברשומת A.
- רשומות
Aתומכות בבקשותHTTPS. - אפשר להשתמש ברשומות
Aכדי לשלוח תעבורת נתונים שמגיעה משם מארח יחיד לכמה קטגוריות, וגם לשירותי Google Cloud אחרים. - ברשומות
Aאין הגבלות על שם הקטגוריה.
החיסרון בשימוש ברשומות A הוא שהן דורשות הגדרות נוספות ומשתמשות במשאבים נוספים של Google Cloud . תוכלו למצוא הוראות לשימוש בדומיינים מותאמים אישית עם רשומות A במאמר הגדרת מאזן העומסים ואישור ה-SSL.
רשומות CNAME
אפשר להשתמש ברשומת CNAME כדי לקשר דומיין מותאם אישית לקטגוריה של Cloud Storage, אבל במגבלות הבאות:
- רשומות
CNAMEתומכות רק בבקשותHTTP. - רשומות
CNAMEיכולות להפנות את התעבורה משם המארח נתון רק לקטגוריה אחת. - ברשומות
CNAMEחייבת להיות התאמה בין שם המארח לשם הקטגוריה המשויכת, וחייבים לתקף את שם הקטגוריה. - אפשר להשתמש ברשומות
CNAMEרק בתת-דומיינים כמוwww.mydomain.com, ולא בדומיינים ברמה העליונה כמוmydomain.com.
כשמשתמשים ברשומות CNAME, החלק של שם המארח ברשומת CNAME חייב להיות מוגדר באופן הבא:
c.storage.googleapis.com.
לדוגמה, נניח שהדומיין שלכם הוא example.com, ואתם רוצים לאפשר ללקוחות גישה למפות לנסיעה. תוכלו ליצור קטגוריה ב-Cloud Storage בשם travel-maps.example.com, ואז ליצור רשומת CNAME ב-DNS שמפנה מחדש בקשות מ-travel-maps.example.com ל-URI של Cloud Storage. כדי לעשות את זה צריך לפרסם ב-DNS את רשומת ה-CNAME הבאה:
NAME TYPE DATA travel-maps CNAME c.storage.googleapis.com.
כך הלקוחות שלכם יוכלו להשתמש בכתובת ה-URL הבאה כדי לגשת למפה של פריז:
http://travel-maps.example.com/paris.jpg
השירות לרישום דומיינים צריך לאפשר לכם לנהל את הדומיין, כולל האפשרות להוסיף רשומת משאבים מסוג CNAME. לדוגמה, אם משתמשים ב-Cloud DNS, אפשר למצוא הוראות להוספת רשומות משאבים בדף הוספה, שינוי ומחיקה של רשומות.
הורדות מאומתות בדפדפן
הורדות מאומתות של הדפדפן משתמשות באימות שמבוסס על קובצי cookie. כשמפעילים אימות כזה, המשתמשים מתבקשים להיכנס לחשבון המשתמש שלהם כדי לאמת את הזהות שלהם. כדי להוריד את האובייקט, לחשבון שמציינים צריכה להיות הרשאה מתאימה. לדוגמה, אם אתם משתמשים בניהול זהויות והרשאות גישה (IAM) כדי לנהל את הגישה לאובייקטים שלכם, לחשבון של המשתמש צריכה להיות ההרשאה storage.objects.viewer, שמוענקת בתפקיד 'צפייה באובייקט אחסון'.
כדי להוריד אובייקט באמצעות אימות שמבוסס על קובצי Cookie צריך להשתמש בכתובת ה-URL הבאה, ולהחליף את הערכים של BUCKET_NAME ו-OBJECT_NAME בערכים המתאימים:
https://storage.cloud.google.com/BUCKET_NAME/OBJECT_NAME
לדוגמה, אם שיתפתם את קובץ האימג' london.jpg מהקטגוריה example-maps, כתובת ה-URL תהיה:
https://storage.cloud.google.com/example-maps/london.jpg
אחרי הכניסה תועברו לתוכן המבוקש. כתובת ה-URL של התוכן הזה היא בפורמט https://ALPHANUMERIC_SEQUENCE-apidata.googleusercontent.com/download/storage/v1/b/BUCKET_NAME/o/OBJECT_NAME.
כשמבצעים הורדות מאומתות של הדפדפן צריך להשתמש ב-HTTPS. אם מנסים להשתמש ב-HTTP, תתבצע הפניה אוטומטית ל-HTTPS.
גישה לאובייקטים שגלויים לכולם
כל הבקשות ל-URI של storage.cloud.google.com מחייבות אימות. הדרישה הזו חלה גם אם ל-allUsers יש הרשאת גישה לאובייקט. אם רוצים שהמשתמשים יורידו אובייקטים שנגישים באופן אנונימי בלי לבצע אימות, צריך להשתמש בנקודת הקצה של API ל-XML בפורמט של נתיב:
https://storage.googleapis.com/BUCKET_NAME/OBJECT_NAME
לפרטים נוספים ולעיון בדוגמאות, ראו גישה לנתונים שגלויים לכולם.
תמיכה ב-TLS הדדי
Mutual TLS (mTLS) הוא פרוטוקול מקובל בתחום לאימות הדדי בין לקוח לשרת. Cloud Storage תומך בנקודות הקצה הבאות של mTLS:בקשות API בפורמט JSON:
storage.mtls.googleapis.comבקשות API בפורמט XML:
storage.mtls.googleapis.comהורדות מאומתות בדפדפן:
storage.mtls.cloud.google.com
המאמרים הבאים
- העלאת קובץ ל-Cloud Storage
- הורדת קובץ מ-Cloud Storage
- אירוח אתרים סטטיים
- האפשרויות הזמינות לניהול הגישה לנתונים שלכם