בדף הזה נסביר על העלאות מרובות חלקים באמצעות API בפורמט XML, ב-Cloud Storage. בשיטת ההעלאה הזו מעלים קבצים בחלקים, ואז מרכיבים אותם לאובייקט יחיד באמצעות בקשה סופית. העלאות מרובות חלקים באמצעות API בפורמט XML תואמות להעלאות מרובות חלקים ב-Amazon S3.
סקירה כללית
העלאה מרובת חלקים באמצעות API בפורמט XML מאפשרת להעלות נתונים במספר חלקים ואז להרכיב אותם לאובייקט סופי. להתנהגות הזו יש מספר יתרונות, במיוחד כשמדובר בקבצים גדולים:
אפשר להעלות חלקים בו-זמנית, וכך לקצר את הזמן הדרוש להעלאת כל הנתונים.
אם אחת מפעולות ההעלאה נכשלת, צריך להעלות מחדש רק חלק מהאובייקט הכולל, ולא להפעיל מחדש את כל ההעלאה.
גודל הקובץ הכולל לא מצוין מראש, כך שאפשר להשתמש בהעלאות מרובות חלקים באמצעות API בפורמט XML לצורך העלאות בסטרימינג או לצורך דחיסת נתונים בזמן ההעלאה.
העלאה מרובת חלקים באמצעות API בפורמט XML כוללת שלושה שלבים:
התחלת ההעלאה באמצעות בקשת
POST, הכוללת ציון של כל המטא-נתונים שצריכים להיות לאובייקט השלם. התשובה תחזירUploadIdשבו משתמשים בכל הבקשות הבאות הקשורות להעלאה.העלאת הנתונים באמצעות בקשת
PUTאחת או יותר.השלמת ההעלאה באמצעות בקשת
POST. הבקשה הזו מחליפה כל אובייקט קיים בקטגוריה שיש לו את אותו השם.
אין הגבלה על משך הזמן שבו העלאה מרובת חלקים והחלקים שהועלו יכולים להישאר לא גמורים או בלי פעילות בקטגוריה.
- חלקים שהועלו בהצלחה נחשבים כחלק מנפח האחסון הנדרש החודשי.
- כדי למנוע הצטברות של חלקים שנזנחו מהעלאות מרובות חלקים, אפשר להשתמש בניהול מחזור חיים של אובייקטים כדי להסיר באופן אוטומטי העלאות מרובות חלקים כשהן מגיעות לגיל מסוים.
לתשומת ליבכם
המגבלות הבאות חלות על שימוש בהעלאות מרובות חלקים באמצעות API בפורמט XML:
- יש מגבלות על הגודל המינימלי של חלק, על הגודל המקסימלי של חלק ועל מספר החלקים שמשמשים להרכבת ההעלאה המלאה.
- הבקשות לא תומכות בתנאים מוקדמים.
- לא קיימים גיבובים של MD5 בשביל אובייקטים שהועלו בשיטה הזו.
- שיטת ההעלאה הזו לא אפשרית במסוף או ב-Google Cloud CLI. Google Cloud
כשעובדים עם העלאות מרובות חלקים באמצעות API בפורמט XML, חשוב לזכור את הדברים הבאים:
להעלאות מרובות חלקים באמצעות API בפורמט XML יש הרשאות IAM ספציפיות. אם אתם משתמשים בתפקידי IAM בהתאמה אישית, אתם צריכים לוודא שיש לתפקידים האלה את ההרשאות שאתם צריכים.
למרות שאפשר להתחיל העלאה ולהעלות חלקים, הבקשה להשלמת ההעלאה נכשלת אם היא מחליפה אובייקט שנמצא בהחזקה או בתקופת שמירה שטרם התמלאה.
אפשר להציג העלאות פעילות בקטגוריה, אבל רק העלאה שהושלמה תופיע ברשימה הרגילה של האובייקטים בקטגוריה.
על חלק שהועלה יכולים לחול חיובים על מחיקה מוקדמת אם הוא לא נמצא בשימוש.
איך ספריות לקוח משתמשות בהעלאות מרובות חלקים באמצעות API בפורמט XML
בקטע הזה מוסבר איך לבצע העלאות מרובות חלקים באמצעות API בפורמט XML, באמצעות ספריות לקוח שתומכות בכך.
ספריות לקוח
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ספריית הלקוח Java לא תומכת בהעלאות מרובות חלקים של API בפורמט XML. במקום זאת, צריך להשתמש בהעלאות מורכבות במקביל.
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
אפשר לבצע העלאות מרובות חלקים באמצעות API בפורמט XML באמצעות ה-method uploadFileInChunks. לדוגמה:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
אפשר לבצע העלאות מרובות חלקים באמצעות API בפורמט XML באמצעות ה-method upload_chunks_concurrently. לדוגמה:
המאמרים הבאים
- שיטות העלאה נוספות אל Cloud Storage.
- מהי השהיה מעריכית קטועה לפני ניסיון חוזר (exponential backoff) ומתי לנסות לשלוח בקשות שוב.