הדף הזה עוסק במושגים שקשורים להעלאה ולהורדה של אובייקטים. אפשר להעלות ולאחסן כל סוג MIME של נתונים עד גודל של 5TiB.
העלאות
אפשר לשלוח בקשות העלאה ל-Cloud Storage בדרכים הבאות:
העלאה בבקשה יחידה. שיטת העלאה שבה אובייקט מועלה כבקשה יחידה. האפשרות הזו מתאימה אם הקובץ קטן מספיק ואפשר להעלות אותו בשלמותו אם החיבור נכשל. למדריכים להעלאות בבקשה יחידה, ראו העלאת אובייקט מקובץ או העלאת אובייקט מהזיכרון.
- העלאה מרובת חלקים ב-API בפורמט JSON. שיטת העלאה שמאפשרת להעלות גם את נתוני האובייקט וגם את המטא-נתונים שלו בבקשה אחת. לעומת זאת, API בפורמט XML מאפשר להגדיר מטא-נתונים של אובייקטים בכל סוגי ההעלאות.
העלאה שניתן להמשיך שיטת העלאה שמאפשרת העברה אמינה יותר, שחשובה במיוחד בקבצים גדולים. העלאות שניתן להמשיך הן בחירה טובה לרוב האפליקציות, כי הן עובדות גם לקבצים קטנים בעלות של בקשת HTTP אחת נוספת לכל העלאה. אפשר גם להשתמש בהעלאות שניתן להמשיך כדי לבצע העברות בסטרימינג, שמאפשרות להעלות אובייקט בגודל לא ידוע.
העלאה מרובת חלקים ב-API בפורמט XML. שיטת העלאה שתואמת להעלאות מרובות חלקים ב-Amazon S3. הקבצים מועלים בחלקים ומורכבים לאובייקט יחיד יחד עם הבקשה הסופית. העלאות מרובות חלקים ב-API בפורמט XML מאפשרות להעלות את החלקים במקביל, וכך לקצר את זמן השלמת ההעלאה הכוללת.
באמצעות בסוגי ההעלאה הבסיסיים האלו, אפשר לבצע אסטרטגיות העלאה מתקדמות יותר:
העלאה מורכבת במקביל. אסטרטגיית העלאה שבה מחלקים את הקובץ למקטעים ומעלים את המקטעים במקביל. בניגוד להעלאה מרובת חלקים ב-API בפורמט XML, העלאות מורכבות במקביל משתמשות בפעולת הכתיבה והאובייקט הסופי נשמר כאובייקט מורכב.
העלאה בסטרימינג. זוהי שיטת העלאה שמאפשרת להעלות נתונים בלי שיהיה צורך לשמור את הנתונים קודם בקובץ. השיטה הזו שימושית כשלא יודעים מה הגודל הכולל של ההעלאה בתחילת ההעלאה.
העלאה בקידוד העברה מקוטעת. העלאה בבקשה אחת שכוללת את הכותרת
Transfer-Encoding: chunked, ומאפשרת לשלוח את ההעלאה במספר מקטעים רציפים של נתונים.
שיקולים בנוגע לגודל ההעלאה
כשבוחרים אם להשתמש בהעלאה בבקשה יחידה במקום בהעלאה שניתן להמשיך או בהעלאה מרובת חלקים ב-API בפורמט XML, חשוב להביא בחשבון את משך הזמן שמוכנים לאבד אם מתרחש כשל ברשת וצריך להפעיל מחדש את ההעלאה מההתחלה. בשביל חיבורים מהירים יותר, הסף בדרך כלל יכול להיות גדול יותר.
לדוגמה, נניח שמוכנים להשלים עם 30 שניות של זמן אבוד:
אם מעלים תוכן ממערכת מקומית בעלת מהירות העלאה ממוצעת של 8Mbps, אפשר להשתמש בהעלאות בבקשה יחידה בשביל קבצים בגודל של עד 30MB.
אם מעלים תוכן משירות מקומי שמהירות ההעלאה שלו היא בממוצע 500Mbps, גודל הסף בשביל הקבצים הוא כמעט 2GB.
הורדות
לכל ההורדות מ-Cloud Storage יש אותה התנהגות בסיסית: בקשת GET ב-HTTP או ב-HTTPS, שיכולה לכלול כותרת Range אופציונלית, שמגדירה חלק ספציפי של האובייקט להורדה.
שימוש בהתנהגות ההורדה הבסיסית מאפשרת להמשיך הורדות שהופסקו, ואפשר להשתמש באסטרטגיות הורדה מתקדמות יותר כמו הורדות של אובייקטים פרוסים והורדות בסטרימינג.
תמיכה בהתאם לכלי
המסוף
באמצעותGoogle Cloud המסוף אפשר לבצע העלאות והורדות מהסוגים הבאים:
- העלאות בבקשה יחידה, עם העלאות שניתן להמשיך שמנוהלות בשמכם באופן אוטומטי
- הורדות פשוטות, בדרך כלל הורדות דפדפן מאומתות
שורת הפקודה
באמצעות Google Cloud CLI אפשר לבצע העלאות והורדות מהסוגים הבאים:
- העלאות בבקשה יחידה, עם העלאות שניתן להמשיך שמנוהלות בשמכם באופן אוטומטי
- העלאות בסטרימינג
- העלאות מורכבות במקביל
- הורדות פשוטות
- הורדות של אובייקטים פרוסים
- הורדות בסטרימינג
ספריות לקוח
C++
באמצעות ספריית הלקוח C++ אפשר לבצע העלאות והורדות מהסוגים הבאים:
C#
באמצעות ספריית הלקוח C# אפשר לבצע העלאות והורדות מהסוגים הבאים:
Go
באמצעות ספריית הלקוח של Go אפשר לבצע העלאות והורדות מהסוגים הבאים:
- הורדות פשוטות
- הורדות בסטרימינג
- העלאות בבקשה יחידה והעלאות שניתן להמשיך, בהתאם לגודל הקובץ
- העלאות בסטרימינג
Java
באמצעות ספריית הלקוח של Java אפשר לבצע העלאות והורדות מהסוגים הבאים:
Node.js
באמצעות ספריית הלקוח של Node.js אפשר לבצע העלאות והורדות מהסוגים הבאים:
PHP
באמצעות ספריית הלקוח של PHP אפשר לבצע העלאות והורדות מהסוגים הבאים:
Python
באמצעות ספריית הלקוח של Python אפשר לבצע העלאות והורדות מהסוגים הבאים:
- הורדות פשוטות
- הורדות של אובייקטים פרוסים
- העלאות בבקשה יחידה והעלאות שניתן להמשיך, בהתאם לגודל הקובץ
- העלאות מרובות חלקים באמצעות API בפורמט XML
Ruby
באמצעות ספריית הלקוח של Ruby אפשר לבצע העלאה והורדה מהסוגים הבאים:
Terraform
באמצעות Terraform אפשר לבצע העלאות בבקשה יחידה. העלאות שניתן להמשיך מתבצעות באופן אוטומטי כשהקובץ שמעלים גדול מ-16MiB.
API בארכיטקטורת REST
API ל-JSON
באמצעות API בפורמט JSON אפשר לבצע העלאות והורדות מהסוגים הבאים:
API בפורמט XML
באמצעות API בפורמט XML אפשר לבצע העלאות והורדות מהסוגים הבאים:
אם משתמשים בממשקי API בארכיטקטורת REST לצורך העלאות והורדות, ראו נקודות קצה של בקשה לדיון מקיף לגבי נקודות הקצה של הבקשות שבהן אפשר להשתמש.
המאמרים הבאים
- העברת אובייקטים ממכונה של Compute Engine.
- הגדרת הנתונים כנגישים באופן ציבורי.
- צפייה במטא-נתונים של אובייקט ועריכה שלהם.
- מידע על העברת נתונים ל-Cloud Storage באמצעות Storage Transfer Service.