העלאות והורדות

הדף הזה עוסק במושגים שקשורים להעלאה ולהורדה של אובייקטים. אפשר להעלות ולאחסן כל סוג MIME של נתונים עד גודל של 5TiB.

העלאות

אפשר לשלוח בקשות העלאה ל-Cloud Storage בדרכים הבאות:

  • העלאה בבקשה יחידה. שיטת העלאה שבה אובייקט מועלה כבקשה יחידה. האפשרות הזו מתאימה אם הקובץ קטן מספיק ואפשר להעלות אותו בשלמותו אם החיבור נכשל. למדריכים להעלאות בבקשה יחידה, ראו העלאת אובייקט מקובץ או העלאת אובייקט מהזיכרון.

  • העלאת אובייקט מהזיכרון. שיטת העלאה שבה אובייקט מועלה מהזיכרון במקום ממערכת קבצים.

  • העלאה שניתן להמשיך שיטת העלאה שמאפשרת העברה אמינה יותר, שחשובה במיוחד בקבצים גדולים. העלאות שניתן להמשיך הן בחירה טובה לרוב האפליקציות, כי הן עובדות גם לקבצים קטנים בעלות של בקשת HTTP אחת נוספת לכל העלאה. אפשר גם להשתמש בהעלאות שניתן להמשיך כדי לבצע העברות בסטרימינג, שמאפשרות להעלות אובייקט בגודל לא ידוע.

  • העלאה מרובת חלקים ב-API בפורמט XML. שיטת העלאה שתואמת להעלאות מרובות חלקים ב-Amazon S3. הקבצים מועלים בחלקים ומורכבים לאובייקט יחיד יחד עם הבקשה הסופית. העלאות מרובות חלקים ב-API בפורמט XML מאפשרות להעלות את החלקים במקביל, וכך לקצר את זמן השלמת ההעלאה הכוללת.

באמצעות בסוגי ההעלאה הבסיסיים האלו, אפשר לבצע אסטרטגיות העלאה מתקדמות יותר:

  • העלאה מורכבת במקביל. אסטרטגיית העלאה שבה מחלקים את הקובץ למקטעים ומעלים את המקטעים במקביל. בניגוד להעלאה מרובת חלקים ב-API בפורמט XML, העלאות מורכבות במקביל משתמשות בפעולת הכתיבה והאובייקט הסופי נשמר כאובייקט מורכב.

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

שיקולים בנוגע לגודל ההעלאה

כשבוחרים אם להשתמש בהעלאה בבקשה יחידה במקום בהעלאה שניתן להמשיך או בהעלאה מרובת חלקים ב-API בפורמט XML, חשוב להביא בחשבון את משך הזמן שמוכנים לאבד אם מתרחש כשל ברשת וצריך להפעיל מחדש את ההעלאה מההתחלה. בשביל חיבורים מהירים יותר, הסף בדרך כלל יכול להיות גדול יותר.

לדוגמה, נניח שמוכנים להשלים עם 30 שניות של זמן אבוד:

  • אם מעלים תוכן ממערכת מקומית בעלת מהירות העלאה ממוצעת של 8Mbps, אפשר להשתמש בהעלאות בבקשה יחידה בשביל קבצים בגודל של עד 30MB.

  • אם מעלים תוכן משירות מקומי שמהירות ההעלאה שלו היא בממוצע 500Mbps, גודל הסף בשביל הקבצים הוא כמעט 2GB.

הורדות

לכל ההורדות מ-Cloud Storage יש אותה התנהגות בסיסית: בקשת GET ב-HTTP או ב-HTTPS, שיכולה לכלול כותרת Range אופציונלית, שמגדירה חלק ספציפי של האובייקט להורדה.

שימוש בהתנהגות ההורדה הבסיסית מאפשרת להמשיך הורדות שהופסקו, ואפשר להשתמש באסטרטגיות הורדה מתקדמות יותר כמו הורדות של אובייקטים פרוסים והורדות בסטרימינג.

תמיכה בהתאם לכלי

המסוף

באמצעות מסוף Google Cloud אפשר לבצע העלאות והורדות מהסוגים הבאים:

שורת הפקודה

gcloud

באמצעות Google Cloud CLI אפשר לבצע העלאות והורדות מהסוגים הבאים:

gsutil

באמצעות gsutil אפשר לבצע העלאות והורדות מהסוגים הבאים:

ספריות לקוח

C++‎

באמצעות ספריית הלקוח C++‎ אפשר לבצע העלאות והורדות מהסוגים הבאים:

C#‎

באמצעות ספריית הלקוח C#‎ אפשר לבצע העלאות והורדות מהסוגים הבאים:

Go

באמצעות ספריית הלקוח של Go אפשר לבצע העלאות והורדות מהסוגים הבאים:

Java

באמצעות ספריית הלקוח של Java אפשר לבצע העלאות והורדות מהסוגים הבאים:

Node.js

באמצעות ספריית הלקוח של Node.js אפשר לבצע העלאות והורדות מהסוגים הבאים:

PHP

באמצעות ספריית הלקוח של PHP אפשר לבצע העלאות והורדות מהסוגים הבאים:

Python

באמצעות ספריית הלקוח של Python אפשר לבצע העלאות והורדות מהסוגים הבאים:

Ruby

באמצעות ספריית הלקוח של Ruby אפשר לבצע העלאה והורדה מהסוגים הבאים:

Terraform

באמצעות Terraform אפשר לבצע העלאות בבקשה יחידה. העלאות שניתן להמשיך מתבצעות באופן אוטומטי כשהקובץ שמעלים גדול מ-16MiB.

‫API בארכיטקטורת REST

‫API בפורמט JSON

באמצעות API בפורמט JSON אפשר לבצע העלאות והורדות מהסוגים הבאים:

‫API בפורמט XML

באמצעות API בפורמט XML אפשר לבצע העלאות והורדות מהסוגים הבאים:

אם משתמשים בממשקי API בארכיטקטורת REST לצורך העלאות והורדות, ראו נקודות קצה של בקשה לדיון מקיף לגבי נקודות הקצה של הבקשות שבהן אפשר להשתמש.

המאמרים הבאים