בדף הזה מוסברים מושגים שקשורים לקריאה ולהורדה של אובייקטים ב-Cloud Storage.
קריאת אובייקטים
קריאת אובייקט מתייחסת לסטרימינג, לצריכה או לבדיקה של נתוני אובייקט או טווח בייטים ספציפי בחיבור רשת פתוח ישירות בזיכרון. במקום לשמור את המידע המאוחזר באופן מקומי, הוא נשמר באופן זמני בזרם הזיכרון, במאגר הנתונים הזמני או בצינור עיבוד הנתונים של האפליקציה, או ישירות בזיכרון של המעבד (CPU) או המעבד הגרפי (GPU). קריאת אובייקטים מתאימה לעומסי עבודה עם ביצועים גבוהים וקצב העברת נתונים גבוה, כמו סטרימינג של מערכי נתונים לאימון וקבוצות של טנזורים למסגרות של בינה מלאכותית (AI) ולמידת מכונה (ML) כמו Pytorch או Jax.
ברשימה הבאה מתוארים סוגי הקריאות של אובייקטים שזמינים ב-Cloud Storage:
קריאת אובייקטים לזיכרון או קריאת אובייקטים אינטראקטיבית: שיטה שבה הנתונים נצרכים באופן אינטראקטיבי או לזיכרון. הלקוח מאחזר את כל האובייקט וטוען את כל הבייטים שלו למשתנה רציף, למערך בייטים או למחרוזת בזיכרון.
קריאות בסטרימינג: שיטה שבה הנתונים נצרכים כסטרימינג של בייטים ישירות כשהם מתקבלים מהרשת, במקום להמתין עד שההעברה כולה תסתיים.
הורדת אובייקטים
הורדת אובייקט היא משימה מקצה לקצה שמעבירה נתוני אובייקט מ-Cloud Storage לקובץ קבוע במערכת קבצים מקומית, בדיסק או בהתקן אחסון יעד. בניגוד לקריאות בסטרימינג בזיכרון, ההורדה כוללת גם את אחזור הבייטים המרוחקים וגם את השמירה שלהם באחסון המקומי. הורדת אובייקטים מתאימה בעיקר לניהול קבצים למטרות כלליות, להעברה לארכיון מקומי, לגיבוי נתונים ולשימוש בכלי עזר אופליין.
כשמשתמשים בממשקי API בארכיטקטורת REST, ההורדות מתבצעות באמצעות בקשות GET ב-HTTP או ב-HTTPS, שיכולות לכלול כותרת Range אופציונלית, שמגדירה חלק ספציפי של האובייקט להורדה לאחסון מקומי או לאחסון מתמיד. אפשר גם להשתמש בכותרת Range כדי להמשיך הורדות שהופסקו. כשמשתמשים ב-gRPC, ההורדות מתבצעות בסטרימינג של storage.v2.Storage/ReadObject או BidiReadObject.
ברשימה הבאה מפורטים סוגי ההורדות של אובייקטים שזמינים ב-Cloud Storage:
הורדות פשוטות: הצורה הבסיסית ביותר של הורדת אובייקטים. הלקוח שולח בקשה אחת לאחזור של כל האובייקט או של טווח בייטים מסוים בהעברה רציפה אחת.
הורדות של אובייקטים בפרוסות (slice): אסטרטגיה עם ביצועים גבוהים, שבה אובייקט גדול אחד מחולק לכמה "פרוסות" קטנות יותר (שנקראות גם "נתחים"). הלקוח מוריד את הפרוסות האלה במקביל באמצעות כמה בקשות מקבילות עצמאיות, ואז מרכיב מחדש את הפרוסות באופן מקומי לקובץ אחד.
תמיכה בכלים לקריאה ולהורדה של אובייקטים
המסוף
כשמשתמשים במסוף Google Cloud , אפשר לבצע את הפעולות הבאות של קריאה והורדה של אובייקטים:
שורת הפקודה
באמצעות Google Cloud CLI אפשר לבצע קריאות והורדות של אובייקטים מהסוגים הבאים:
ספריות לקוח
C++
באמצעות ספריית הלקוח C++ אפשר לבצע קריאות והורדות מהסוגים הבאים:
C#
באמצעות ספריית הלקוח C# אפשר לבצע קריאות והורדות מהסוגים הבאים:
המשך
באמצעות ספריית הלקוח של Go אפשר לבצע קריאות והורדות מהסוגים הבאים:
Java
באמצעות ספריית הלקוח של Java אפשר לבצע קריאות והורדות מהסוגים הבאים:
Node.js
באמצעות ספריית הלקוח של Node.js אפשר לבצע קריאות והורדות מהסוגים הבאים:
PHP
באמצעות ספריית הלקוח של PHP אפשר לבצע קריאות והורדות מהסוגים הבאים:
Python
באמצעות ספריית הלקוח של Python אפשר לבצע קריאות והורדות מהסוגים הבאים:
Ruby
באמצעות ספריית הלקוח של Ruby אפשר לבצע קריאות והורדות מהסוגים הבאים:
ממשקי API בארכיטקטורת REST
אם משתמשים בממשקי API בארכיטקטורת REST לצורך הורדת אובייקטים, ראו נקודות קצה של בקשה לדיון מקיף לגבי נקודות הקצה של הבקשות שבהן אפשר להשתמש.
API בפורמט JSON
באמצעות API בפורמט JSON אפשר לבצע הורדות מהסוגים הבאים:
API בפורמט XML
באמצעות API בפורמט XML אפשר לבצע הורדות מהסוגים הבאים:
המאמרים הבאים
- הגדרת הנתונים כנגישים באופן ציבורי.
- איך משתמשים בסיכומי ביקורת (checksum) להורדות של אובייקטים
- מידע על העלאת אובייקטים
- צפייה במטא-נתונים של אובייקט ועריכה שלהם.
- איך מעבירים נתונים ל-Cloud Storage באמצעות Storage Transfer Service
- העברת אובייקטים ממכונה של Compute Engine.