Cloud Storage תומך בסטרימינג של נתונים מקטגוריה לתהליך, בלי שיהיה צורך לשמור את הנתונים קודם בקובץ.
שימוש באימות סיכום ביקורת (checksum) במהלך סטרימינג
לא כדאי להשתמש בהורדה בסטרימינג אם צריכים אימות סיכום ביקורת (checksum) לפני שהנתונים הופכים לנגישים. הסיבה לכך היא שהורדות בסטרימינג משתמשות בכותרת Range, וב-Cloud Storage לא מוחזרים סיכומי ביקורת (checksums) בתגובה שרלוונטיים רק לחלק המבוקש של נתוני האובייקט.
תמיד מומלץ להשתמש באימות סיכום ביקורת (checksum), ואפשר לעשות זאת אחרי שמסתיימת ההורדה בסטרימינג. עם זאת, המשמעות של אימות לאחר סיום ההורדה, היא שאפשר לגשת לכל הנתונים הפגומים בפרק הזמן שנדרש לבצע אימות ולהסיר את הנתונים הפגומים.
התפקידים הנדרשים
כדי לקבל את ההרשאות הנדרשות להורדות בסטרימינג, צריך לבקש מהאדמין להקצות לכם את התפקיד 'צפייה באובייקט אחסון' (roles/storage.objectViewer) בקטגוריה.
התפקיד הזה כולל את ההרשאה שנדרשת להזרמת הורדות. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.objects.get
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים מוגדרים מראש אחרים או בתפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
ביצוע הורדה בסטרימינג
הדוגמאות הבאות מראות איך לבצע הורדה מאובייקט של Cloud Storage לתהליך:
המסוף
מסוף Google Cloud Google Cloud לא תומך בהורדות בסטרימינג. במקום זאת, משתמשים ב-Google Cloud CLI.
שורת הפקודה
מריצים את הפקודה
gcloud storage cpתוך שימוש במקף ככתובת ה-URL של היעד, ואז מעבירים את הנתונים לתהליך:gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME - | PROCESS_NAME
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה המכילה את האובייקט. לדוגמה,my_app_bucket. -
OBJECT_NAMEהוא שם האובייקט שמעבירים בסטרימינג לתהליך. לדוגמה,data_measurements. -
PROCESS_NAMEהוא השם של התהליך שאליו מזינים את הנתונים. לדוגמה,analyze_data.
-
אפשר גם להעביר נתונים בסטרימינג מאובייקט של Cloud Storage לפקודת Linux רגילה, כמו sort:
gcloud storage cp gs://my_app_bucket/data_measurements - | sort
ספריות לקוח
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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API בפורמט JSON
כדי לבצע הורדה בסטרימינג, צריך לפעול לפי ההוראות להורדת אובייקט בהתאם לשיקולים הבאים:
לפני התחלת ההורדה, מאחזרים את המטא-נתונים של האובייקט ושומרים את מספר הגנרציה שלו. צריך לכלול את מספר הגנרציה הזה בכל אחת מהבקשות, כדי להבטיח שלא תתבצע הורדה של נתונים משתי גנרציות שונות במקרה שבו הגרסה המקורית מוחלפת.
משתמשים בכותרת
Rangeבבקשה כדי לאחזר חלק מהאובייקט הכולל, שאותו אפשר לשלוח לתהליך מקומי.ממשיכים לשלוח בקשות לחלקים עוקבים של האובייקט, עד שכל האובייקט מאוחזר.
API בפורמט XML
כדי לבצע הורדה בסטרימינג, צריך לפעול לפי ההוראות להורדת אובייקט בהתאם לשיקולים הבאים:
לפני התחלת ההורדה, מאחזרים את המטא-נתונים של האובייקט ושומרים את מספר הגנרציה שלו. צריך לכלול את מספר הגנרציה הזה בכל אחת מהבקשות, כדי להבטיח שלא תתבצע הורדה של נתונים משתי גנרציות שונות במקרה שבו הגרסה המקורית מוחלפת.
משתמשים בכותרת
Rangeבבקשה כדי לאחזר חלק מהאובייקט הכולל, שאותו אפשר לשלוח לתהליך מקומי.ממשיכים לשלוח בקשות לחלקים עוקבים של האובייקט, עד שכל האובייקט מאוחזר.
המאמרים הבאים
- שידור בסטרימינג של העלאה
- מידע נוסף על המרת קידוד של קבצים דחוסים.
- מידע נוסף על העלאות והורדות.