במאמר הזה מוסבר איך ספריות וכלים שונים של Cloud Storage מחלקים את הצגת התוצאות לעמודים. העימוד נדרש כשמציגים רשימה הכוללת מספר גדול של אובייקטים או קטגוריות.
המסוף
העימוד של רשימות של קטגוריות ואובייקטים בדפים Buckets ו-Bucket details במסוף Google Cloud הוא אוטומטי.
שורת הפקודה
העימוד של רשימות של קטגוריות ואובייקטים ב-Google Cloud CLI הוא אוטומטי.
ספריות לקוח
C++
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה זמינה במשאבי העזרה של C++ ל-ListObjects().
C#
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה מופיעה במסמכי העזרה של C# ל-ListObjects().
Go
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן שבו משתמשים באיטרטור הזה מופיעה במסמכי העזרה של Go ל-Bucket.Objects.
Java
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר אסימון דף. דוגמה לאופן השימוש הזה מופיעה במסמכי העזרה של Java.
Node.js
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה זמינה במסמכי העזרה של Node.js ל-getFiles().
PHP
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה זמינה במסמכי העזרה של PHP ל-Objects.
Python
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה מופיעה במסמכי העזרה של Python לאיטרטורים של דפים.
Ruby
החלוקה לדפים בספריות לקוח מתבצעת כברירת מחדל. כשמפעילים פונקציה שתומכת בעימוד, בתשובה מוחזר איטרטור. דוגמה לאופן השימוש באיטרטור הזה מופיעה במסמכי העזרה של Ruby ל-Google::Cloud::Storage::File::List.
API בארכיטקטורת REST
API בפורמט JSON
אם הרשימה לא מוצגת בשלמותה כשמפעילים פונקציה שתומכת בעימוד, מקבלים בתשובה את אסימון ההמשך nextPageToken. הערך nextPageToken מייצג את התוצאה האחרונה שהתקבלה. כשמכניסים את הערך של nextPageToken לפרמטר pageToken של בקשת ההמשך, מקבלים את דף התוצאות הבא, החל מהתוצאה האחרונה.
לדוגמה, נניח שהבקשה שלכם לרישום אובייקטים בקטגוריה בשם my-bucket מכילה nextPageToken בתגובה:
{
"kind": "storage#objects",
"nextPageToken": "CgtzaGliYS0yLmpwZw==",
"items": [
{
OBJECT_1_METADATA
},
{
OBJECT_2_METADATA
},
…
]
}בקשת ה-HTTP שבה תשתמשו כדי להמשיך להציג רשימה של אובייקטים ב-my-bucket תהיה הבקשה הבאה:
GET https://storage.googleapis.com/storage/v1/b/my-bucket/o?pageToken=CgtzaGliYS0yLmpwZw==
למידע נוסף על חלוקה של תוצאות לדפים, עיינו במסמכי העזרה של JSON ל-Objects: list או ל-Buckets: list.
API בפורמט XML
אם הרשימה לא מוצגת בשלמותה כשמפעילים פונקציה שתומכת בעימוד, מקבלים בתשובה את אסימון ההמשך NextContinuationToken. הערך NextContinuationToken מייצג את התוצאה האחרונה שהתקבלה. כשמכניסים את הערך של NextContinuationToken לפרמטר continuation-token של בקשת ההמשך, מקבלים את דף התוצאות הבא, החל מהתוצאה האחרונה.
לדוגמה, נניח שהבקשה שלכם לרישום אובייקטים בקטגוריה בשם my-bucket מכילה NextContinuationToken בתגובה:
<?xml version='1.0' encoding='UTF-8'?>
<ListBucketResult xmlns='http://doc.s3.amazonaws.com/2006-03-01'>
<Name>my-bucket</Name>
<NextContinuationToken>CgtzaGliYS0yLmpwZw==</NextContinuationToken>
<KeyCount>2</KeyCount>
<MaxKeys>2</MaxKeys>
<IsTruncated>true</IsTruncated>
<Contents>
...
</Contents>
...
</ListBucketResult>הערה: list-type צריך להיות 2 כדי לקבל NextContinuationToken כשמציגים רשימה של אובייקטים.
בקשת ה-HTTP שבה תשתמשו כדי להמשיך להציג רשימה של אובייקטים ב-my-bucket תכלול את הפרטים הבאים:
GET /?continuation-token=CgtzaGliYS0yLmpwZw==&list-type=2 HTTP/1.1 Host: my-bucket.storage.googleapis.com
להוראות מפורטות יותר לגבי חלוקה לדפים של תוצאות מקטגוריה, תוכלו לעיין במסמכי העזרה של XML בנושא List Objects.