ב-Cloud Storage אפשר להעביר נתוני סטרימינג לקטגוריה בלי לשמור אותם קודם בקובץ. האפשרות הזו שימושית כשרוצים להעלות נתונים אבל לא יודעים מה הגודל הסופי בתחילת ההעלאה, למשל כשיוצרים את נתוני ההעלאה מתהליך או כשדוחסים אובייקט בזמן אמת.
שימוש באימות סיכום ביקורת (checksum) במהלך סטרימינג
מכיוון שאפשר לקבל סיכום ביקורת (checksum) רק בבקשה הראשונית של העלאה, לעיתים קרובות אי אפשר להשתמש באימות סיכום ביקורת (checksum) של Cloud Storage במהלך הסטרימינג. תמיד מומלץ להשתמש באימות סיכום ביקורת (checksum), ואפשר לעשות זאת באופן ידני אחרי שמסתיימת העלאת הסטרימינג. אבל אימות לאחר סיום ההעברה, פירושו שאפשר יהיה לגשת לנתונים הפגומים בפרק הזמן הנדרש לאימות הפגמים והסרתם.
אם צריכים לאמת סיכום ביקורת (checksum) לפני השלמת ההעלאה והפיכת הנתונים לנגישים, לא משתמשים בהעלאה בסטרימינג. במקום זאת, כדאי להשתמש באפשרות העלאה אחרת שמבצעת אימות סיכום ביקורת (checksum) לפני השלמת האובייקט.
דרישות מוקדמות
הדרישות המוקדמות עשויות להשתנות בהתאם לכלי שבו נעשה שימוש:
המסוף
כדי להשלים את המדריך הזה באמצעות מסוף Google Cloud, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאליה רוצים לגשת לצורך סטרימינג קיימת בפרויקט שלא אתם יצרתם, ייתכן שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM במסוף Google Cloud.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
שורת הפקודה
כדי להשלים את המדריך הזה באמצעות כלי שורת הפקודה, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאליה רוצים לגשת לצורך סטרימינג קיימת בפרויקט שלא אתם יצרתם, ייתכן שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM לפקודות gsutil.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
ספריות לקוח
כדי להשלים את המדריך הזה באמצעות ספריות הלקוח של Cloud Storage, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאליה רוצים לגשת לצורך סטרימינג קיימת בפרויקט שלא אתם יצרתם, ייתכן שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
אם לא צוין אחרת, בקשות לספריות לקוח מבוצעות דרך API בפורמט JSON ומחייבות את ההרשאות שמפורטות בהרשאות IAM ל-methods של JSON. כדי לראות אילו methods של API בפורמט JSON מופעלות כששולחים בקשות באמצעות ספריית לקוח, אתם צריכים לבצע רישום ביומן של הבקשות הגולמיות.
רשימת התפקידים הרלוונטיים ב-IAM מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
API בארכיטקטורת REST
API בפורמט JSON
כדי להשלים את המדריך הזה באמצעות ה-API בפורמט JSON, אתם צריכים הרשאות IAM מתאימות. אם הקטגוריה שאליה רוצים לגשת לצורך סטרימינג קיימת בפרויקט שלא אתם יצרתם, ייתכן שתצטרכו לבקש מבעלי הפרויקט להקצות לכם תפקיד שמכיל את ההרשאות הנדרשות.
רשימת ההרשאות הנדרשות לפעולות ספציפיות מופיעה במאמר הרשאות IAM ל-methods של JSON.
רשימת התפקידים הרלוונטיים מופיעה במאמר תפקידים ב-Cloud Storage. לחלופין, אפשר ליצור תפקיד בהתאמה אישית עם הרשאות ספציפיות ומוגבלות.
שידור של העלאה
הדוגמאות הבאות מראות איך לבצע העלאה בסטרימינג מתהליך לאובייקט של Cloud Storage:
המסוף
מסוף Google Cloud לא תומך בהעלאות בסטרימינג. במקום זאת, משתמשים ב-CLI של gcloud.
שורת הפקודה
gcloud
מעבירים את הנתונים לפקודה
gcloud storage cp
ומשתמשים במקף בשביל כתובת ה-URL של המקור:PROCESS_NAME | gcloud storage cp - gs://BUCKET_NAME/OBJECT_NAME
כאשר:
-
PROCESS_NAME
הוא שם התהליך שממנו אוספים נתונים. לדוגמה,collect_measurements
. -
BUCKET_NAME
הוא שם הקטגוריה שמכילה את האובייקט. לדוגמה,my_app_bucket
. -
OBJECT_NAME
הוא שם האובייקט שנוצר מהנתונים. לדוגמה,data_measurements
.
-
gsutil
מעבירים את הנתונים לפקודה
gsutil cp
ומשתמשים במקף בשביל כתובת ה-URL של המקור:PROCESS_NAME | gsutil cp - gs://BUCKET_NAME/OBJECT_NAME
כאשר:
-
PROCESS_NAME
הוא שם התהליך שממנו אוספים נתונים. לדוגמה,collect_measurements
. -
BUCKET_NAME
הוא שם הקטגוריה שמכילה את האובייקט. לדוגמה,my_app_bucket
. -
OBJECT_NAME
הוא שם האובייקט שנוצר מהנתונים. לדוגמה,data_measurements
.
-
ספריות לקוח
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
כדי לבצע העלאה בסטרימינג, צריך לפעול לפי הוראות בביצוע העלאה שניתן להמשיך בהתאם לשיקולים הבאים:
כשמעלים את נתוני הקובץ עצמו, משתמשים בהעלאה של מספר מקטעים.
מכיוון שאי אפשר לדעת מה גודל הקובץ הכולל עד שמגיעים למקטע הסופי, צריך להשתמש ב-
*
בשביל גודל הקובץ הכולל בכותרתContent-Range
של מקטעי הביניים.לדוגמה, אם גודל המקטע הראשון שמעלים הוא 512KiB, הכותרת
Content-Range
של המקטע היאbytes 0-524287/*
. אם בהעלאה נותרו 64,000 בייטים אחרי המקטע הראשון, צריך לשלוח מקטע סופי שמכיל את הבייטים הנותרים ויש לו כותרתContent-Range
עם הערךbytes 524288-588287/588288
.
API בפורמט XML
כדי לבצע העלאה בסטרימינג, צריך להשתמש באחת מהשיטות הבאות:
העלאה שניתן להמשיך עם ההתאמות הבאות:
כשמעלים את נתוני הקובץ עצמו, משתמשים בהעלאה של מספר מקטעים.
מכיוון שאי אפשר לדעת מה גודל הקובץ הכולל עד שמגיעים למקטע הסופי, צריך להשתמש ב-
*
בשביל גודל הקובץ הכולל בכותרתContent-Range
של מקטעי הביניים.לדוגמה, אם גודל המקטע הראשון שמעלים הוא 512KiB, הכותרת
Content-Range
של המקטע היאbytes 0-524287/*
. אם בהעלאה נותרו 64,000 בייטים אחרי המקטע הראשון, צריך לשלוח מקטע סופי שמכיל את הבייטים הנותרים ויש לו כותרתContent-Range
עם הערךbytes 524288-588287/588288
.
המאמרים הבאים
- ביצוע הורדה בסטרימינג.
- מידע נוסף על המרת קידוד שמבטלת דחיסה.
- מידע נוסף על העלאות והורדות.