ייבוא וייצוא בכמות גדולה של משאבים קיימים Google Cloud
בדף הזה מוסבר על הפקודה config-connector bulk-export ואיך משתמשים בה כדי Google Cloud לייצא Google Cloud משאבים לקובצי YAML של Config Connector, שאפשר לייבא אותם ל-Config Connector בהמשך.
config-connector bulk-export משתמש במאגר משאבי ענן כדי לגלות משאבים קיימים באמצעות הפונקציה Export. Google Cloud אתם יכולים לספק ייצוא של Cloud Asset Inventory או config-connector לבצע את הייצוא בשמכם.
מאגר משאבי ענן מייצא מבני JSON. לכל מבנה יש את שם המשאב, את הסוג שלו ב-Asset Inventory ואת ישויות האב שלו: פרויקטים, תיקיות וארגון. כדי לראות את הסוגים שנתמכים ב-Asset Inventory, אפשר לעיין במאמר סוגי הנכסים הנתמכים.
מגבלות
לא כל המשאבים תומכים בפקודה bulk-export. כדי לראות רשימה של משאבים נתמכים, מריצים את הפקודה config-connector print-resources.
לפני שמתחילים
אם רוצים להשתמש בכלי
config-connectorכדי לייצא ישירות ממאגר משאבי הענן, צריך להפעיל את Cloud Asset Inventory API בפרויקט של הזהות Google Cloudבאמצעותgcloud.gcloud services enable cloudasset.googleapis.com
דוגמה לייצוא בכמות גדולה
בדוגמה הזו, יוצרים PubSubTopic באמצעות Google Cloud CLI ואז מייבאים אותו ל-Config Connector.
יוצרים נושא בשם
sample-topicבאמצעות Google Cloud CLI:gcloud pubsub topics create sample-topicתקבלו אישור שהנושא נוצר.
Created topic [projects/PROJECT_ID/topics/sample-topic].בפלט,
PROJECT_IDמוחלף בGoogle Cloud הפרויקט.מריצים את הפקודה הבאה כדי לקבל את שם המשאב של הנושא Google Cloud ולשמור אותו במשתנה סביבה:
TOPIC_RESOURCE_NAME=$(gcloud pubsub topics describe sample-topic --format "value(name)")כדי לזהות אובייקטים, הכלי
config-connectorמשתמש במבני JSON של מאגר משאבי ענן. שומרים את מבנה ה-JSON של נכס הנושא במשתנה סביבה:TOPIC_ASSET='{"name":"//pubsub.googleapis.com/'"${TOPIC_RESOURCE_NAME}"'","asset_type":"pubsub.googleapis.com/Topic"}'מעבירים את הנכס אל
config-connector bulk-exportעל ידי הרצת הפקודה הבאה:echo ${TOPIC_ASSET} | config-connector bulk-exportהפלט הוא משאב Config Connector בפורמט YAML.
--- apiVersion: pubsub.cnrm.cloud.google.com/v1beta1 kind: PubSubTopic metadata: annotations: cnrm.cloud.google.com/project-id: PROJECT_ID name: sample-topic ...בפלט,
PROJECT_IDמוחלף בGoogle Cloud הפרויקט.אפשר להעביר את המשאב הזה אל Config Connector באמצעות
kubectl apply -f -. כדי להעביר את המשאב ישירות, מריצים את הפקודה הבאה:echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl apply -f - --namespace CC_NAMESPACEמחליפים את CC_NAMESPACE במרחב השמות שממנו Config Connector מנהל את המשאבים.
Config Connector מקבל את המשאב.
מוודאים ש-Config Connector מנהל את המשאב באמצעות
kubectl describe:kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACEמחליפים את
CC_NAMESPACEבמרחב השמות שממנו Config Connector מנהל את המשאבים.
סידור וארגון
אפשר למחוק את PubSubTopic באמצעות config-connector bulk-export ו-kubectl delete.
echo ${TOPIC_ASSET} | config-connector bulk-export | kubectl delete -f - --namespace CC_NAMESPACE
מחליפים את CC_NAMESPACE במרחב השמות שממנו Config Connector מנהל את המשאבים.
חיפוש משאבים לייבוא
כשמייבאים משאבים, אפשר לבצע ייצוא של מאגר משאבי ענן ולספק את התוצאות ל-config-connector bulk-export, או לבקש מ-config-connector bulk-export לבצע את הייצוא בשמכם.
ייבוא מייצוא ממאגר משאבי הענן
כדי לספק ייצוא של מלאי נכסים, צריך לספק נתיב לקובץ מקומי שמכיל את הייצוא או להעביר את התוצאות של הייצוא ל-config-connector ב-STDIN.
ייבוא מקובץ מקומי
אפשר לספק ל-config-connector bulk-export ייצוא של מלאי נכסים באמצעות קובץ מקומי עם הפרמטר --input.
config-connector bulk-export --input ASSET_INVENTORY_EXPORT
מחליפים את ASSET_INVENTORY_EXPORT בשם הקובץ של הייצוא ממאגר משאבי ענן.
ייבוא מ-STDIN
כדי לספק ייצוא של מלאי נכסים ב-STDIN, מעבירים את התוצאות של הייצוא ל-config-connector bulk-export. לדוגמה, אם הייצוא נמצא בקובץ מקומי בשם
export.json, מעבירים את תוכן הקובץ ל-config-connector bulk-export בלי לציין אף אחד מפרמטרי הייצוא.
cat export.json | config-connector bulk-export
סינון של ייצוא מלאי נכסים ב-STDIN
כדי לסנן ייצוא של מלאי נכסים, אפשר להשתמש בכלי jq ולהעביר את התוצאות ל-config-connector bulk-export. לדוגמה, אם רוצים לייבא רק נכסי PubSubTopic מהקובץ EXPORT_FILE, מריצים את הפקודה הבאה:
cat EXPORT_FILE | jq '. | select( .asset_type == "pubsub.googleapis.com/Topic" )' | config-connector bulk-export
ייצוא מלאי באמצעות Config Connector
הכלי config-connector bulk-export יכול לייצא משאבים מconfig-connector bulk-export היררכיית משאבים. Google Cloud
ייצוא הפרויקט
כדי לייצא את כל המשאבים מהפרויקט, משתמשים בפרמטר --project.
config-connector bulk-export --project PROJECT_ID
מחליפים את PROJECT_ID בפרויקט ב- Google Cloud .
ייצוא התיקייה
כדי לייצא את כל המשאבים מתיקייה, משתמשים בפרמטר --folder.
config-connector bulk-export --folder FOLDER_NUMBER
מחליפים את FOLDER_NUMBER במספר התיקייה Google Cloud .
ייצוא הארגון
כדי לייצא את כל המשאבים מהארגון, משתמשים בפרמטר --organization.
config-connector bulk-export --organization ORGANIZATION_ID
מחליפים את ORGANIZATION_ID במזהה הארגון ב- Google Cloud .
מיקום ב-Cloud Storage
מיקום הפלט של ייצוא מלאי הנכסים הוא URI של Cloud Storage. כש-config-connector bulk-export מבצע ייצוא, הוא משתמש בקטגוריה של Cloud Storage. כברירת מחדל, config-connector bulk-export יוצר קטגוריה זמנית. אפשר גם לציין את שם הקטגוריה.
קטגוריה זמנית של Cloud Storage
אם לא תספקו את הפרמטר --storage-key, הפקודה config-connector
bulk-export תיצור בשמכם קטגוריה של Cloud Storage זמנית. הקטגוריה נוצרת במיקום ברירת המחדל של קטגוריות אחסון: US
multi-region. הקטגוריה נמחקת כשהייצוא מסתיים.
ציון קטגוריה זמנית
כדי לציין קטגוריה, משתמשים ב-URI של Cloud Storage עם הפרמטר storage-key. אם ה-URI הוא רק שם הקטגוריה, המערכת תיצור שם לאובייקט של אחסון הייצוא. אם ה-URI הוא נתיב מלא לאובייקט אחסון,
הנתיב המלא ישמש.
config-connector bulk-export --storage-key gs://BUCKET_NAME
תשובה
הפלט מהפקודה config-connector bulk-export הוא משאבי Config Connector בפורמט YAML. קובץ ה-YAML נכתב ל-STDOUT כברירת מחדל. אפשר להפנות את הפלט של משאבים לקבצים באמצעות האפשרות output.
פלט לקובץ יחיד
כשמגדירים את הפרמטר --output, הפונקציה config-connector bulk-export כותבת את התוצאות שלה לקובץ יחיד אם מתקיים אחד מהתנאים הבאים:
- הקובץ שצוין על ידי
outputקיים והוא קובץregular. - הקובץ שצוין על ידי
outputלא קיים, אבל ספריית ההורה שמיוצגת על ידיoutputכן קיימת.
פלט לספרייה
config-connector כותב את התוצאות שלו למספר קבצים כשהפרמטר --output הוא ספרייה שמסתיימת ב-/. config-connector bulk-export יוצר קובץ אחד לכל משאב, ושמות הקבצים תואמים לשמות המשאבים שלהם.
config-connector bulk-export --project PROJECT_ID --on-error continue --output OUTPUT_DIRECTORY/
מחליפים את PROJECT_ID בפרויקט ב- Google Cloud .
לדוגמה, כדי להוציא נכסים מהפרויקט my-project לספרייה sample, מריצים את הפקודה הבאה:
config-connector bulk-export --project my-project --on-error continue --output sample/
אפשרויות של שורת הפקודה
לפקודה config-connector bulk-export יש את האפשרויות הבאות:
config-connector bulk-export
--input FILENAME \
--output FILENAME \
--storage-key gs://BUCKET_NAME \
--project PROJECT_ID \
--folder FOLDER_NUMBER \
--organization ORGANIZATION_ID \
--oauth2-token TOKEN \
--on-error [halt | continue | ignore] \
--iam-format [policy | policymember | none] \
--filter-deleted-iam-members [true | false] \
--verbose
-
--input: קובץ קלט של מאגר משאבי הענן. -
--output: נתיב אופציונלי לקובץ פלט שמשבית את הפלט הרגיל. אם מציינים קובץ, התוצאה מכילה את כל פלט הפקודה. אם מציינים ספרייה, הספרייה תכיל קובץ חדש לכל משאב בפלט. -
--storage-key: קטגוריית Cloud Storage זמנית ליעד הייצוא. -
--project: Google Cloud מזהה הפרויקט לייצוא -
--folder: Google Cloud מזהה התיקייה לייצוא -
--organization: Google Cloud מזהה הארגון לייצוא. -
--oauth2-token: טוקן OAUTH2 כזהות. כברירת מחדל,config-connectorמשתמש בפרטי הכניסה של Google Cloud CLI. Google Cloud -
--on-error: שליטה בהתנהגות המערכת כשמתרחשת שגיאה שניתן לתקן. האפשרויות הן 'continue' (המשך), 'halt' (עצירה) או 'ignore' (התעלמות).-
halt: עצירת ההרצה בכל שגיאה (ברירת מחדל) -
continue: המשך עיבוד המשאבים, הדפסת השגיאה ל-STDERR -
ignore: המשך עיבוד המשאבים ולא להדפיס את השגיאה
-
-
--iam-format: מציין את סוג משאבי ה-IAM שייכללו בפלט של הייצוא. האפשרויות הןpolicy(ברירת מחדל),policymemberאוnone. -
--filter-deleted-iam-members: מציין אם לסנן חשבונות משתמשים ב-IAM שנמחקו. האפשרויות הןtrueאוfalse. ערך ברירת המחדל הואfalse. -
--verbose: הפעלת רישום מפורט (verbose) ביומן.
המאמרים הבאים
- מידע על האופן שבו Config Connector מקבל משאבים קיימים Google Cloud
- מידע על מאגר משאבי ענן ועל ייצוא נכסים ל-Cloud Storage
- מידע על המשאבים שנתמכים ב-Config Connector