אם האפליקציה צריכה לקרוא ולכתוב קבצים במהלך זמן הריצה, או להציג קבצים כמו סרטים, תמונות או תוכן סטטי אחר, מומלץ להשתמש בקטגוריה של Cloud Storage.
App Engine יוצר קטגוריית ברירת מחדל כשיוצרים אפליקציה. הקטגוריה הזו מספקת את 5GB הראשונים של אחסון בחינם, וכוללת מכסת שימוש בחינם לפעולות קלט/פלט ב-Cloud Storage. אפשר ליצור קטגוריות אחרות ב-Cloud Storage, אבל רק קטגוריית ברירת המחדל כוללת את 5GB הראשונים של אחסון בחינם.
שימוש ב-Cloud Storage עם App Engine
כדי להשתמש בקטגוריה של Cloud Storage מאפליקציית App Engine:
צופים בשמות של הקטגוריות הקיימות בפרויקט App Engine. תצטרכו לציין את השמות האלה כשמעלים או מורידים נתונים מ-Cloud Storage.
מומלץ לאחסן את השמות של קטגוריות Cloud Storage במשתני הסביבה של האפליקציה ולא להגדיר אותם כקבועים באפליקציה.
באפליקציה, צריך להגדיר את Cloud Storage כתלות. לשם כך:
המשך
משתמשים בפקודה
go get cloud.google.com/go/storage. אפשר גם להצהיר על תלות בקובץgo.modשל האפליקציה. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
Java
מוסיפים את הספרייה לקובץ התלויות של האפליקציה.
אפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
Node.js
ב-
app.yaml, מוסיפים את מזהה הפרויקט לערךGOOGLE_CLOUD_PROJECTenvironment. אחר כך מגדירים את ערך הסביבהGCLOUD_STORAGE_BUCKETלשם של קטגוריית Cloud Storage שיצרתם קודם.מוסיפים את
@google-cloud/storageלקובץpackage.jsonשל האפליקציה. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
הוראות להרצה ולבדיקה באופן מקומי מפורטות בקובץ
README.md.PHP
מוסיפים את
google/cloud-storageלקובץcomposer.jsonשל האפליקציה ומריצים אתcomposer installמהספרייה של האפליקציה. מידע נוסף על ציון תלותרושמים את
Google\Cloud\Storage\StorageClientכעטיפת הזרם לאפליקציה. לאחר מכן משתמשים בפרוטוקולgsכדי לקרוא ולכתוב קבצים.דוגמה לרישום ולשימוש ב-wrapper של הזרם
אפשרות נוספת היא שימוש ישיר בספריית הלקוח של Google Cloud.
Python
מוסיפים את
google-cloud-storageלקובץrequirements.txtשל האפליקציה. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
Ruby
מוסיפים את
google-cloud-storageלGemfileשל האפליקציה. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
שימוש בקטגוריית ברירת המחדל
כשיוצרים אפליקציה, App Engine יוצר קטגוריית ברירת מחדל שמספקת את 5GB הראשונים של אחסון בחינם. קטגוריית ברירת המחדל כוללת גם מכסת שימוש בחינם לפעולות קלט/פלט ב-Cloud Storage. פרטים נוספים זמינים במאמר בנושא תמחור, מכסות ומגבלות. תשלמו על אחסון מעבר למגבלה של 5GB.
הפורמט של שם קטגוריית ברירת המחדל הוא:
project-id.appspot.com
בנוסף, App Engine יוצר קטגוריה שמשמשת לאחסון זמני כשפורסים גרסאות חדשות של האפליקציה. הקטגוריה הזו, שנקראת staging.project-id.appspot.com, מיועדת לשימוש של App Engine בלבד. לאפליקציות אין אפשרות לקיים אינטראקציה עם המאגר הזה.
הגדרת הרשאות לקטגוריה
לחשבון השירות שמשויך לאפליקציה שלכם צריכות להיות הרשאות קריאה וכתיבה לקטגוריות בפרויקט. במאמר תפקידי IAM ל-Cloud Storage מפורטות ההרשאות הנדרשות.
בדרך כלל, חשבון השירות שמשויך לאפליקציה הוא חשבון השירות של App Engine שמוגדר כברירת מחדל.
בהתאם להגדרות של מדיניות הארגון, יכול להיות שחשבון השירות שמוגדר כברירת מחדל יקבל אוטומטית את התפקיד 'עריכה' בפרויקט. אנחנו ממליצים מאוד להשבית את הענקת התפקיד האוטומטית על ידי
החלת האילוץ iam.automaticIamGrantsForDefaultServiceAccounts של מדיניות הארגון. אם יצרתם את הארגון אחרי 3 במאי 2024, האילוץ הזה נאכף כברירת מחדל.
אם משביתים את הענקת התפקיד האוטומטית, צריך לקבוע אילו תפקידים להעניק לחשבונות השירות שמוגדרים כברירת מחדל, ואז להעניק את התפקידים האלה בעצמכם.
אם לחשבון השירות שמוגדר כברירת מחדל כבר יש את התפקיד Editor, מומלץ להחליף את התפקיד הזה בתפקידים עם פחות הרשאות.כדי לשנות את התפקידים בחשבון השירות בצורה בטוחה, כדאי להשתמש בסימולטור המדיניות כדי לראות את ההשפעה של השינוי, ואז להעניק ולבטל את התפקידים המתאימים.
מידע על מתן גישה למשתמשים, לאפליקציות או לפרויקטים אחרים לקטגוריה ולתוכן שלה זמין במאמר בנושא הגדרת הרשאות לקטגוריה.
שימוש ב-Cloud Storage עם שרת הפיתוח המקומי
שרת הפיתוח המקומי של App Engine לא מדמה את Cloud Storage, ולכן כל הבקשות ל-Cloud Storage צריכות להישלח דרך האינטרנט לקטגוריה בפועל של Cloud Storage.
תמחור, מכסות ומגבלות
אין חיובים על רוחב פס שקשורים לקריאות של ספריית הלקוח של Cloud Storage אל Cloud Storage. עם זאת, יש חיובים על פעולות. בנוסף, הקריאות נכללות במכסת האחזור של כתובות URL, כי הספרייה משתמשת בשירות אחזור כתובות URL כדי ליצור אינטראקציה עם Cloud Storage.
שימו לב ש-Cloud Storage הוא שירות בתשלום, ותחויבו בהתאם למחירון של Cloud Storage.