הדף הזה מספק סקירה כללית של התכונה 'מגיש הבקשה משלם' ל-Cloud Storage.
מבוא
בכל פעם שמשתמש ניגש למשאב ב-Cloud Storage, כמו קטגוריה או אובייקט, יש חיובים שמשויכים ליצירת הבקשה ולביצוע שלה. חיובים כאלו כוללים:
חיובים על עיבוד נתונים לפעולות, רפליקציות ואחזור נתונים.
חיובים על שימוש ברשת לקריאת הנתונים.
בדרך כלל החיובים האלה חלים על בעלי הפרויקט של המשאב, אבל אם מגיש הבקשה מספק פרויקט לחיוב בבקשה שלו, החיוב יחול על הפרויקט של מגיש הבקשה. כשהתכונה 'מגיש הבקשה משלם' מופעלת בקטגוריה, אפשר לדרוש ממגישי הבקשות לכלול פרויקט לחיוב בבקשות, וכך לחייב את הפרויקט של מגיש הבקשה. אפשר להפעיל את 'מגיש הבקשה משלם', לדוגמה, אם יש הרבה נתונים שרוצים להציג למשתמשים, אבל לא רוצים שהם יחויבו על הגישה לנתונים האלו.
חיובים שאינם מכוסים
חיובים על אחסון נתונים, כולל חיובים על מחיקה מוקדמת, יחולו תמיד על הפרויקט שכולל את הקטגוריה, גם אם התכונה 'מגיש הבקשה משלם' מופעלת.
הגבלות
ההגבלות הבאות חלות כשמשתמשים ב'מגיש הבקשה משלם':
- אי אפשר להשתמש בקטגוריה שבה מופעלת התכונה 'מגיש הבקשה משלם' לצורך ייבוא וייצוא מ-Cloud SQL.
- אי אפשר להשתמש בקטגוריה שבה מופעלת התכונה 'מגיש הבקשה משלם' לצורך ייצוא מ-Pub/Sub.
דרישות לגבי שימוש וגישה
כדי להפעיל את התכונה 'מגיש הבקשה משלם' בקטגוריה, מפעילים את דגל המטא-נתונים בקטגוריה. אחרי שהפעלתם, רק המשתמשים הבאים יכולים לגשת לקטגוריה או לתוכן שלה:
מגישי בקשות שכוללים פרויקט לחיוב בבקשה. הפרויקט שצוין בבקשה צריך להיות בניהול תקין, ולמשתמש צריך להיות תפקיד בפרויקט שכולל את ההרשאה
serviceusage.services.use. התפקיד צרכן השימוש בשירות מכיל את ההרשאה הנדרשת.מגישי בקשות שלא כוללים פרויקט לחיוב אבל יש להם הרשאה
resourcemanager.projects.createBillingAssignmentבפרויקט שמכיל את הקטגוריה. התפקיד מנהל פרויקט לחיוב כולל את ההרשאה הנדרשת. עלויות הגישה המשויכות לבקשות האלו מחויבות לפרויקט שמכיל את הקטגוריה.
כל הבקשות האחרות לקטגוריה נכשלות עם השגיאה 400 UserProjectMissing.
בנוסף לדרישות האלה, למגיש הבקשה צריכה להיות הרשאה מספקת לביצוע הפעולה המבוקשת. לדוגמה, משתמשים שמספקים בבקשה שלהם פרויקט לחיוב תקין לא יכולים להעלות אובייקטים לקטגוריה, אלא אם יש להם גם הרשאה מפורשת לעשות זאת. למשל, על ידי מתן ההרשאה storage.objects.create למטרה הזו בקטגוריה או בפרויקט שמכיל אותה.
כשמשביתים את 'מגיש הבקשה משלם', אתם צריכים לכלול בבקשה שלכם את הפרויקט לחיוב או לקבל את ההרשאה resourcemanager.projects.createBillingAssignment.
פעולות שמחויבות על ידי מקור
פעולות שכוללות גם קטגוריית מקור וגם קטגוריית יעד, כמו העתקה או שכתוב, יחויבו לפרויקט שמכיל את קטגוריית המקור. ברוב המקרים, כמו בשליחת קריאות ישירות שמשתמשות ב-API בפורמט JSON וב-API בפורמט XML, צריך לכלול פרויקט לחיוב רק אם בקטגוריית המקור הופעלה התכונה 'מגיש הבקשה משלם'.
במקרים מסוימים, כמו gcloud storage cp עם הדגל --no-clobber, צריך לכלול פרויקט לחיוב אם בקטגוריית המקור או בקטגוריית היעד (או בשתיהן) מופעלת התכונה 'מגיש הבקשה משלם'. הסיבה לכך היא שפעולות כאלה שולחות קריאות גם לקטגוריות המקור וגם לקטגוריות היעד במהלך ביצוע הפעולה.
פעולות עם בקשות מרובות
בפעולות שמחייבות ביצוע של מספר בקשות, השימוש בפרויקטים לחיוב בבקשות יתבצע באופן הבא:
בהעלאות שניתן להמשיך, רק הבקשה הראשונה צריכה לכלול פרויקט לחיוב, והיא חלה על כל ההעלאה. המערכת מתעלמת מהפרויקטים לחיוב שמצוינים בבקשות הבאות.
לצורך שכתובים על ידי API בפורמט JSON והעלאות מרובות חלקים ב-API בפורמט XML, כל בקשה יכולה להשתמש בפרויקט לחיוב שונה, ופרויקט לחיוב שצוין בבקשה הקודמת לא יחול על הבקשות הבאות.
חיוב
חיובים שמשויכים להכללה של פרויקט לחיוב בבקשה לא מופיעים בנפרד בחיוב. לדוגמה, נניח שמבצעים מספר הורדות מקטגוריה של 'מגיש הבקשה משלם', ומשתמשים בפרויקט my-project בתור הפרויקט לחיוב בשביל הבקשה. אם יש ב-my-project גם קטגוריה שממנה מבצעים הורדות, בחשבון יופיעו רק החיובים הכוללים על ההורדות המשולבות. אין הבחנה בין ההורדות מהקטגוריה שלכם לבין הורדות מהקטגוריה של 'מגיש הבקשה משלם'.
כדי להבחין בין חיובים על המשאבים שלכם ב-Cloud Storage לבין חיובים על הכללת פרויקטים לחיוב בבקשות, צריך ליצור פרויקט שלא כולל משאבים של Cloud Storage: הפרויקט הזה מיועד לשליחת בקשות למשאבים בפרויקטים אחרים, כמו הקטגוריות של 'מגיש הבקשה משלם'.