אם האפליקציה צריכה לקרוא ולכתוב קבצים במהלך זמן הריצה, או להציג קבצים כמו סרטים, תמונות או תוכן סטטי אחר, מומלץ להשתמש בדלי 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
משתמשים בפקודה
go get cloud.google.com/go/storage. אפשר גם להצהיר על תלות בקובץgo.modשל האפליקציה. מידע נוסף על ציון תלותאפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
Java
מוסיפים את הספרייה לקובץ התלויות של האפליקציה.
אפשר להשתמש בספריית הלקוח של Google Cloud כדי להעלות או להוריד נתונים מהקטגוריות.
מידע על הצגת תוכן סטטי זמין במאמר אחסון והצגה של קבצים סטטיים.
Node.js
ב-
app.yaml, מוסיפים את מזהה הפרויקט לערך של הסביבהGOOGLE_CLOUD_PROJECT. אחר כך מגדירים את ערך הסביבה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כ-stream wrapper לאפליקציה. אחר כך משתמשים בפרוטוקולgsכדי לקרוא ולכתוב קבצים.דוגמה לרישום ולשימוש ב-stream 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, האילוץ הזה נאכף כברירת מחדל.
אם משביתים את הענקת התפקיד האוטומטית, צריך לקבוע אילו תפקידים להעניק לחשבונות השירות שמוגדרים כברירת מחדל, ואז להעניק את התפקידים האלה בעצמכם.
אם לחשבון השירות שמוגדר כברירת מחדל כבר יש הרשאת עריכה, מומלץ להחליף את הרשאת העריכה בהרשאות עם פחות גישה.כדי לשנות את התפקידים בחשבון השירות בצורה בטוחה, כדאי להשתמש בסימולטור המדיניות כדי לראות את ההשפעה של השינוי, ואז לתת ולבטל את התפקידים המתאימים.
מידע על מתן גישה למשתמשים, לאפליקציות או לפרויקטים אחרים לקטגוריה ולתוכן שלה זמין במאמר בנושא הגדרת הרשאות לקטגוריה.
שימוש ב-Cloud Storage עם שרת הפיתוח המקומי
שרת הפיתוח המקומי של App Engine לא מדמה את Cloud Storage, ולכן כל הבקשות ל-Cloud Storage צריכות להישלח דרך האינטרנט לקטגוריה בפועל של Cloud Storage.
תמחור, מכסות ומגבלות
אין חיובי רוחב פס שמשויכים לקריאות של ספריית הלקוח של Cloud Storage אל Cloud Storage. עם זאת, יש דמי תפעול. בנוסף, הקריאות נספרות במסגרת מכסת אחזור כתובות ה-URL, כי הספרייה משתמשת בשירות אחזור של כתובות אתרים כדי ליצור אינטראקציה עם Cloud Storage.
שימו לב ש-Cloud Storage הוא שירות בתשלום, ותחויבו בהתאם למחירון של Cloud Storage.