בדף הזה מוסבר איך לשנות את השם של תיקיות ולהעביר אותן בקטגוריה שבה מופעל מרחב שמות היררכי.
פעולת שינוי השם משנה באופן רקורסיבי את השם של תיקייה, של תיקיות הצאצא שלה ושל משאבים משויכים, כולל אובייקטים ותיקיות מנוהלות, בפעולה אטומית אחת.
פעולת שינוי השם היא אטומית. הפעולה מסתיימת בהצלחה והמשאבים מועברים לנתיב החדש שלהם, או שהיא נכשלת ומוחזרת שגיאה. במקרה של שגיאה, כל המשאבים משוחזרים למצב המקורי שלהם.
בקטגוריה שמופעל בה מרחב שמות היררכי, שינוי השם של תיקייה הוא פעולה שמתבצעת רק במטא-נתונים. הפעולה לא כוללת העברה פיזית או העתקה של האובייקטים בתיקייה, ולכן לא חלות עלויות על העתקת אובייקטים.
עם זאת, בקטגוריה שבה לא מופעל מרחב שמות היררכי, התיקיות מדוּמות. כדי לשנות את השם של תיקייה מדומה או להעביר אותה, צריך להעתיק כל אובייקט בתוכה ואז למחוק אותו. אם התיקייה מכילה הרבה אובייקטים, תהליך שינוי השם עלול להיות לא יעיל ויקר. גם שינוי השם או ההעברה של תיקייה מדומה הם לא אטומיים, כלומר אם התהליך ייכשל, יכול להיות שהקטגוריה תישאר במצב לא עקבי, ורק חלק מהאובייקטים יועברו.
במהלך תהליך שינוי השם של התיקייה, אפשר לקרוא את המשאבים שמשנים את השם שלהם ולראות אותם ברשימה. עם זאת, אי אפשר להריץ פעולות כתיבה במקורות המידע המושפעים.
הפעולה של שינוי שם התיקייה מפעילה פעולה ממושכת בדלי.
לפני שמתחילים
מוודאים שהאפשרות 'מרחב שמות היררכי' מופעלת בדלי. הוראות מפורטות להפעלת מרחב שמות היררכי בקטגוריה זמינות במאמר יצירת קטגוריות עם מרחב שמות היררכי מופעל.
התפקידים הנדרשים
כדי לקבל את ההרשאות הנדרשות לשינוי השם של תיקיות בקטגוריות או להעברתן, צריך לבקש מהאדמין להקצות לכם את תפקיד ה-IAM 'משתמש באובייקטים באחסון' (roles/storage.objectUser) בקטגוריה.
מידע נוסף על הקצאת תפקידים בפרויקטים מופיע במאמר ניהול הגישה לפרויקטים.
כדי לראות בדיוק אילו הרשאות נדרשות, אפשר להרחיב את הקטע ההרשאות הנדרשות:
ההרשאות הנדרשות
storage.folders.rename- ההרשאה הזו נדרשת בתיקיית המקור.
storage.folders.create- ההרשאה הזו נדרשת בתיקיית היעד.
אפשר לקבל את ההרשאות שצוינו למעלה גם באמצעות תפקידים אחרים בהתאמה אישית או תפקידים מוגדרים מראש. כדי לקבל תפקיד עם יותר הרשאות שמאפשר לכם לנהל תיקיות בנוסף לשינוי השם שלהן, אתם צריכים לבקש מהאדמין להקצות לכם אחד מהתפקידים הבאים:
- אדמין תיקיות אחסון (
roles/storage.folderAdmin) - אדמין של אובייקטים באחסון (
roles/storage.objectAdmin) - אדמין לניהול נפח האחסון (
roles/storage.admin)
במאמר תפקידי IAM ל-Cloud Storage מפורטים התפקידים השונים וההרשאות שמשויכות אליהם.
שינוי שם של תיקייה והעברה שלה
המסוף
- במסוף Google Cloud , נכנסים לדף Buckets של Cloud Storage.
ברשימת הקטגוריות, לוחצים על שם הקטגוריה שמכילה את התיקייה שרוצים להעביר או לשנות לה את השם.
בדף פרטי הקטגוריה, מאתרים את התיקייה שרוצים להעביר או לשנות לה את השם.
כדי לשנות את שם התיקייה:
לוחצים על התפריט פעולות נוספות של התיקייה.
לוחצים על שינוי שם התיקייה.
בחלון שכבת-העל שמופיע, מזינים שם חדש לתיקייה.
לוחצים על שינוי שם.
כדי להעביר את התיקייה לתיקייה אחרת:
לוחצים על התפריט פעולות נוספות של התיקייה.
לוחצים על העברת התיקייה.
בחלון שכבת-העל שמופיע, לוחצים על Browse.
בוחרים את תיקיית היעד שאליה רוצים להעביר את התיקייה. אפשר גם ללחוץ על כדי ליצור תיקייה חדשה לפני שבוחרים אותה כתיקיית היעד.
לוחצים על בחירה.
לוחצים על Move.
במאמר פתרון בעיות מוסבר איך מקבלים מידע מפורט על שגיאות בנושא פעולות ב-Cloud Storage שנכשלו במסוף Google Cloud .
שורת הפקודה
כדי לשנות את השם של תיקיות בתוך קטגוריה עם מרחב שמות היררכי או להעביר אותן, מריצים את הפקודה gcloud storage mv:
gcloud storage mv gs://BUCKET_NAME/FOLDER1 gs://BUCKET_NAME/FOLDER2
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את התיקייה שרוצים לשנות לה את השם או להעביר אותה. לדוגמה,my-bucket. -
FOLDER1הוא השם של התיקייה המקורית שרוצים לשנות את השם שלה או להעביר אותה. לדוגמה,my-src-folder. -
FOLDER2הוא השם החדש של תיקיית היעד. לדוגמה,my-dest-folder. אם השם החדש שבחרתם כבר נמצא בשימוש של תיקייה קיימת, התיקייה המקורית תועבר לתוך התיקייה הקיימת ותהפוך לתיקיית צאצא. לדוגמה, אם משנים את השם שלmy-dest-folderל-my-dest-folder1(ו-my-dest-folder1כבר קיים), התוצאה היאmy-dest-folder1/my-dest-folder/. אם השם החדש שבחרתם עדיין לא קיים, השם של התיקייה המקורית ישתנה לשם החדש.
התגובה אמורה להיות דומה לדוגמה הבאה:
Copying gs://my-bucket/my-src-folder to gs://my-bucket/my-dest-folder...
ספריות לקוח
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 POST -H "Authorization: Bearer $(gcloud auth print-access-token)" \ "https://storage.googleapis.com/storage/v1/b/BUCKET_NAME/folders/SOURCE_PATH/renameTo/folders/DESTINATION_PATH"
כאשר:
-
BUCKET_NAMEהוא שם הקטגוריה שמכילה את התיקייה שרוצים לשנות לה את השם או להעביר אותה. לדוגמה,my-bucket. -
SOURCE_PATHהוא הנתיב של תיקיית המקור בקידוד כתובת URL. לדוגמה,my-src-folder/יותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:my-src-folder%2F. -
DESTINATION_PATHהוא הנתיב של תיקיית היעד עם קידוד כתובת URL. לדוגמה,my-dest-folder/יותאם לקידודי התווים שמתאימים לכתובות URL באופן הבא:my-dest-folder%2F.
-
השלבים הבאים
נסו בעצמכם
אנחנו ממליצים למשתמשים חדשים ב-Google Cloud ליצור חשבון כדי שיוכלו להעריך את הביצועים של Cloud Storage בתרחישים מהעולם האמיתי. לקוחות חדשים מקבלים בחינם גם קרדיט בשווי 300 $להרצה, לבדיקה ולפריסה של עומסי העבודה.
להתנסות ב-Cloud Storage בחינם