בדף הזה נסביר איך אפשר לראות רשימה של האובייקטים שמאוחסנים בקטגוריות של Cloud Storage, שמסודרות בצורה מילונית לפי שם.
לפני שמתחילים
כדי לקבל את ההרשאות שדרושות להצגת רשימת אובייקטים, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM 'צפייה באובייקט אחסון' (roles/storage.objectViewer) בקטגוריה שמכילה את האובייקטים שאתם רוצים להציג ברשימה. אם רוצים להציג רשימה של אובייקטים בתיקיות מנוהלות, אפשר להעניק הרשאת roles/storage.objectViewer לתיקייה המנוהלת שמכילה את האובייקטים שרוצים לראות במקום לקטגוריה.
אם אתם מתכננים להשתמש במסוף Google Cloud כדי לבצע את המשימות שמופיעות בדף הזה, אתם צריכים לבקש מהאדמין להקצות לכם את התפקיד הבסיסי 'צפייה' (roles/viewer) בנוסף לתפקיד 'צפייה באובייקט אחסון' (roles/storage.objectViewer).
התפקידים האלה מכילים את ההרשאות שנדרשות כדי להציג רשימת אובייקטים. כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.objects.liststorage.buckets.list- ההרשאה הזו נדרשת רק אם רוצים להשתמש במסוף Google Cloud כדי לבצע את המשימות שמתוארות בדף הזה.
אפשר לקבל את ההרשאות האלה גם באמצעות תפקידים מוגדרים מראש אחרים או תפקידים בהתאמה אישית.
במאמר הגדרה וניהול של מדיניות IAM בקטגוריות מוסבר איך מקצים תפקידים לקטגוריות.
הצגת רשימה של האובייקטים בקטגוריה
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על השם של הקטגוריה שרוצים לראות את התוכן שלה.
שורת הפקודה
משתמשים בפקודה gcloud storage ls:
gcloud storage ls gs://BUCKET_NAME
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את האובייקטים שרוצים לראות את הרשימה שלהם. לדוגמה,my-bucket.
ספריות לקוח
C++
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C++ API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
C#
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage C# API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
Go
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Go API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
Node.js
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Node.js API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
PHP
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage PHP API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
Python
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Python API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
Ruby
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Ruby API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
בדוגמה הבאה מוצגת רשימה של כל האובייקטים בקטגוריה:
בדוגמה הבאה מוצגת רשימה רק של האובייקטים עם הקידומת הנתונה:
ממשקי API ל-REST
API ל-JSON
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים בפקודה
cURLכדי להעביר ל-API בפורמט JSON בקשה לקריאת רשימה של אובייקטים:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שרוצים להציג את רשימת האובייקטים שלה. לדוגמה,my-bucket.
API בפורמט XML
התקנה והפעלה של ה-CLI של gcloud, שמאפשרות ליצור אסימון גישה לכותרת
Authorization.משתמשים ב-
cURLכדי לשלוח קריאה ל-API בפורמט XML באמצעות בקשה של קטגורייתGET:curl -X GET -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/BUCKET_NAME?list-type=2"
כאשר
BUCKET_NAMEהוא שם הקטגוריה שרוצים להציג את רשימת האובייקטים שלה. לדוגמה,my-bucket.אם אתם רוצים להגביל את תוצאות הרשימה רק לאובייקטים עם הקידומת שצוינה, אתם יכולים לציין את הקידומת בפרמטר
prefix=PREFIXשל מחרוזת השאילתה.
הצגת רשימה של האובייקטים בתיקייה
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שמכילה את התיקייה.
בכרטיסייה Objects (אובייקטים) בדף Bucket details (פרטי קטגוריה), לוחצים על שם התיקייה שרוצים לראות את התוכן שלה.
שורת הפקודה
כדי להציג את רשימת האובייקטים בתיקייה, משתמשים בפקודה gcloud storage ls:
gcloud storage ls gs://BUCKET_NAME/FOLDER_NAME
כאשר:
BUCKET_NAMEהוא שם הקטגוריה שמכילה את התיקייה. לדוגמה,my-bucket.
FOLDER_NAMEהוא שם התיקייה שמכילה את האובייקטים שרוצים לראות את הרשימה שלהם. לדוגמה,my-folder.
ממשקי API ל-REST
API ל-JSON
כדי להציג רשימה של האובייקטים בתיקייה, משתמשים בבקשה להצגת רשימת אובייקטים עם הפרמטרים prefix ו-delimiter. כשמגדירים את הפרמטר prefix, פעולת הרשימה מוגבלת להחזרת אובייקטים ותיקיות רק מתחת לקידומת. כשמגדירים את הפרמטר delimiter, הרשימה prefixes[] בתגובה מתמלאת בשמות של תיקיות מתחת לתחילית שצוינה.
לדוגמה:
כדי להציג רשימה של כל האובייקטים בתיקייה
image/בקטגוריהmy-bucket, משתמשים בכתובת ה-URL הבאה:"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image&delimiter=/".יכול להיות שהפקודה תחזיר את האובייקטים
my-bucket/image/cat.jpegו-my-bucket/image/dog.jpeg.כדי לכלול אובייקטים בתיקיות משנה בתוך
image/, מסירים את הפרמטרdelimiter:"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image".יכול להיות שהפונקציה תחזיר את האובייקטים
my-bucket/image/cat.jpeg,my-bucket/image/dog.jpegו-my-bucket/image/dog/shiba.jpeg.
כדי להשתמש בתווים כלליים בבקשה להצגת רשימת אובייקטים ולהתאים אובייקטים לפי ביטוי glob, משתמשים בפרמטר matchGlob. לדוגמה, matchGlob=**.jpeg תואם לכל האובייקטים שמסתיימים ב-.jpeg. כשמשתמשים ב-matchGlob, צריך להגדיר את delimiter ל-/.
לדוגמה, כדי להתאים את כל האובייקטים בתיקייה image שמסתיימים ב-.jpeg, משתמשים בכתובת ה-URL הבאה:
"https://storage.googleapis.com/storage/v1/b/my-bucket/o?prefix=image&delimiter=/&matchGlob=**.jpeg"
פרטים נוספים על שימוש בפרמטרים לסינון אובייקטים זמינים במאמרי העזרה של ה-API בפורמט JSON בנושא רשימת אובייקטים.
תרחיש לדוגמה
השימוש בפקודה prefix כדי להציג את התוכן של תיקייה יכול להיות שימושי אם יש לכם הרשאה רק להצגת רשימה של אובייקטים בתיקייה, אבל לא בכל הקטגוריה. לדוגמה, נניח שיש לכם את תפקיד IAM (roles/storage.objectViewer) 'צפייה באובייקט אחסון' עבור התיקייה המנוהלת my-bucket/my-managed-folder-a/, אבל לא עבור התיקייה המנוהלת my-bucket/my-managed-folder-b/. כדי להחזיר רק את האובייקטים ב-my-managed-folder-a, אפשר לציין prefix=my-managed-folder-a/.
סינון אובייקטים
כשמציגים רשימת אובייקטים, אפשר להשתמש בתחיליות או בסיומות בבקשה ליצירת הרשימה כדי לסנן אובייקטים לפי שם. כדי להשתמש בתווים כלליים ולסנן אובייקטים לפי ביטוי glob, משתמשים בפרמטר matchGlob (או match_glob, בהתאם לספריית הלקוח).
המסוף
מידע על סינון ומיון של אובייקטים בדליים או בתיקיות זמין במאמר בנושא סינון ומיון.
שורת הפקודה
אפשר להשתמש בתווים כלליים לחיפוש בפקודה gcloud storage ls כדי לסנן אובייקטים לפי קידומת או סיומת. לדוגמה, הפקודה הבאה מציגה רק את האובייקטים בקטגוריה my-bucket שהשם שלהם מתחיל ב-image ומסתיים ב-.png:
gcloud storage ls gs://my-bucket/image*.png
אם הבקשה מבוצעת בהצלחה, התגובה תיראה דומה לדוגמה הבאה:
gs://my-bucket/image.png gs://my-bucket/image-dog.png gs://my-bucket/image-cat.png ...
אפשר להשתמש בתווים כלליים לחיפוש עם כוכבית כפולה כדי להתאים לאפס רמות של תיקיות או יותר בנתיב. לדוגמה, הפקודה הבאה מציגה רק אובייקטים שהשם שלהם מסתיים ב-.jpeg בכל תיקייה או תיקיית משנה בקטגוריה my-bucket:
gcloud storage ls gs://my-bucket/**/*.jpeg
אם הבקשה מבוצעת בהצלחה, התגובה תיראה דומה לדוגמה הבאה:
gs://my-bucket/puppy.jpeg gs://my-bucket/pug.jpeg gs://my-bucket/pets/dog.jpeg ...
ממשקי API ל-REST
במאמר רשימת אובייקטים בתיקיות מוסבר איך לסנן אובייקטים לפי תיקייה או לפי קידומת של שם האובייקט.
סינון אובייקטים לפי הקשרים
אפשר להשתמש במסנן כדי להציג בתגובה לרשימה רק אובייקטים עם הקשרים ספציפיים (תצוגה מקדימה).
שורת הפקודה
משתמשים בפקודה gcloud alpha storage objects list:
gcloud alpha storage objects list gs://BUCKET_NAME --metadata-filter='contexts."KEY"="VALUE"'
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את האובייקט שרוצים לסנן לפי ההקשר שלו. לדוגמה,my-bucket. -
KEYהוא מפתח ההקשר שצורף לאובייקט. -
VALUEהוא הערך שמשויך למפתח ההקשר.
אם הפעולה בוצעה ללא שגיאות, התגובה תיראה דומה לדוגמה הבאה:
---
bucket: my-bucket
contexts:
Department:
createTime: '2023-01-01T00:00:00.000000+00:00'
type: CUSTOM
updateTime: '2023-01-01T00:00:00.000000+00:00'
value: HR
DataClassification:
createTime: '2023-01-01T00:00:00.000000+00:00'
type: CUSTOM
updateTime: '2023-01-01T00:00:00.000000+00:00'
value: Confidential
name: employees.txt
...
ספריות לקוח
Java
למידע נוסף, קראו את מאמרי העזרה של Cloud Storage Java API.
כדי לבצע אימות ב-Cloud Storage, אתם צריכים להגדיר את Application Default Credentials. מידע נוסף זמין במאמר הגדרת אימות לספריות לקוח.
ממשקי API ל-REST
API ל-JSON
בדוגמה הבאה מוצגת בקשת Object: list שבה נעשה שימוש בפרמטר filter של מחרוזת השאילתה:
curl -X GET \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/o/?filter=contexts.%22KEY%22%3D%22VALUE%22"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את האובייקט שרוצים לסנן לפי ההקשר שלו. לדוגמה,my-bucket. -
KEYהוא מפתח ההקשר שצורף לאובייקט. -
VALUEהוא הערך שמשויך למפתח ההקשר.
תחביר
Cloud Storage תומך בתחביר הבא של המסנן.
| תחביר | תיאור |
|---|---|
contexts."KEY":* |
התאמה לכל אובייקט שהקשר שלו כולל את המפתח שצוין. |
contexts."KEY"="VALUE" |
התאמה לכל אובייקט שיש לו הקשר עם המפתח והערך שצוינו. |
|
או
|
התאמה לכל אובייקט שלא מצורף אליו הקשר עם המפתח שצוין. |
|
או
|
התאמה לכל אובייקט שלא מצורף אליו הקשר עם המפתח והערך שצוינו. |
שיקולי ביצועים כשיוצרים רשימות אובייקטים
המבנה הבסיסי של קטגוריות עם מרחב שמות היררכי משפיע על הביצועים של הפעולה list objects, בהשוואה לקטגוריות עם מרחב שמות שטוח. מידע נוסף זמין במאמר אופטימיזציה של הביצועים בדליים עם מרחב שמות היררכי מופעל.
המאמרים הבאים
- הורדה של אובייקט מקטגוריה
- הצגת מטא-נתונים של אובייקטים ועריכה שלהם
- מחיקה של אובייקטים מקטגוריה
- למידע נוסף על תוצאות בחלוקה לדפים.