Cloud Storage תומך בקריאת אובייקטים בסטרימינג, שמאפשרת לאפליקציה או לתהליך לצרוך זרמי בייטים של אובייקטים בזמן אמת ישירות דרך החיבור לרשת, בלי לשמור עותק של הנתונים בדיסק מקומי או באחסון מתמיד.
אם רוצים להוריד אובייקט ולשמור אותו במערכת הקבצים המקומית, צריך לעיין במאמר הורדת אובייקטים כקבצים.
שימוש באימות סיכום ביקורת (checksum) במהלך קריאת סטרימינג
לא כדאי להשתמש בקריאה בסטרימינג אם אתם צריכים אימות סיכום ביקורת (checksum) לפני עיבוד הנתונים. מכיוון שבקריאות סטרימינג בדרך כלל משתמשים בכותרת ה-HTTP Range, Cloud Storage לא מחזיר סיכומי ביקורת (checksum) שחלים רק על חלק שרירותי של נתוני האובייקט שהתבקש. סיכומי ביקורת (checksum) בשרת מאמתים את האובייקט השלם, כלומר אפשר לקרוא ולעבד נתונים פגומים לפני שהסטרימינג המלא מסתיים ומאומת.
התפקידים הנדרשים
כדי לקבל את ההרשאות הנדרשות לקריאות בסטרימינג, צריך לבקש מהאדמין להקצות לכם את התפקיד "צפייה באובייקט אחסון" (roles/storage.objectViewer) בקטגוריה.
התפקיד הזה מכיל את ההרשאה שנדרשת כדי להעביר קריאות בסטרימינג. כדי לראות את ההרשאות הנדרשות, מרחיבים את הקטע Required permissions:
ההרשאות הנדרשות
storage.objects.get
יכול להיות שתוכלו לקבל את ההרשאה הזו גם בתפקידים מוגדרים מראש או בתפקידים בהתאמה אישית אחרים.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים בקטגוריות.
קריאת אובייקט בסטרימינג
הדוגמאות הבאות מראות איך לבצע קריאה בסטרימינג מאובייקט של Cloud Storage לתהליך:
המסוף
מסוף 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. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
Rust
ממשקי API בארכיטקטורת REST
API בפורמט JSON
כדי לבצע קריאה בסטרימינג, צריך לפעול לפי ההוראות להורדת אובייקט בהתאם לשיקולים הבאים:
לפני שמתחילים לקרוא, מאחזרים את המטא-נתונים של האובייקט ושומרים את מספר הגנרציה שלו. צריך לכלול את מספר הגנרציה הזה בכל אחת מהבקשות, כדי להבטיח שלא תתבצע קריאה של נתונים משתי גנרציות שונות במקרה שבו הגרסה המקורית מוחלפת.
משתמשים בכותרת
Rangeבבקשה כדי לאחזר חלק מהאובייקט הכולל, שאותו אפשר לשלוח לתהליך מקומי.ממשיכים לשלוח בקשות לחלקים עוקבים של האובייקט, עד שכל האובייקט מאוחזר.
API בפורמט XML
כדי לבצע קריאה בסטרימינג, צריך לפעול לפי ההוראות להורדת אובייקט בהתאם לשיקולים הבאים:
לפני שמתחילים לקרוא, מאחזרים את המטא-נתונים של האובייקט ושומרים את מספר הגנרציה שלו. צריך לכלול את מספר הגנרציה הזה בכל אחת מהבקשות, כדי להבטיח שלא תתבצע קריאה של נתונים משתי גנרציות שונות במקרה שבו הגרסה המקורית מוחלפת.
משתמשים בכותרת
Rangeבבקשה כדי לאחזר חלק מהאובייקט הכולל, שאותו אפשר לשלוח לתהליך מקומי.ממשיכים לשלוח בקשות לחלקים עוקבים של האובייקט, עד שכל האובייקט מאוחזר.
המאמרים הבאים
- שידור בסטרימינג של העלאה.
- מידע נוסף על המרת קידוד שמבטלת דחיסה.
- מידע נוסף על קריאה והורדה של אובייקטים