שימוש ב-Cloud Storage

אם האפליקציה צריכה לקרוא ולכתוב קבצים במהלך זמן הריצה, או להציג קבצים כמו סרטים, תמונות או תוכן סטטי אחר, מומלץ להשתמש בדלי Cloud Storage.

כשיוצרים אפליקציה, App Engine יוצר קטגוריית ברירת מחדל. הקטגוריה הזו מספקת 5GB ראשונים של אחסון בחינם, וכוללת מכסת שימוש בחינם לפעולות קלט/פלט ב-Cloud Storage. אפשר ליצור קטגוריות נוספות ב-Cloud Storage, אבל רק הקטגוריה שמוגדרת כברירת מחדל כוללת את 5GB הראשונים של אחסון בחינם.

שימוש ב-Cloud Storage עם App Engine

כדי להשתמש בקטגוריה של Cloud Storage מאפליקציית App Engine:

  1. צופים בשמות של דליים קיימים בפרויקט App Engine. תצטרכו לציין את השמות האלה כשמעלים או מורידים נתונים מ-Cloud Storage.

    מומלץ לאחסן את השמות של דלי ה-Cloud Storage במשתני הסביבה של האפליקציה ולא להגדיר אותם כקוד קשיח באפליקציה.

  2. באפליקציה, מגדירים את 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.