בדף הזה נסביר את אופן השימוש של gsutil בקובץ תצורה boto, ונראה דוגמה לשיתוף פעולה בשימוש בקובץ. קובץ התצורה boto משמש גם את boto, שהוא ה-Amazon S3 SDK ל-Python.
סקירה כללית על קובץ התצורה
קובץ התצורה boto מכיל ערכים שקובעים את אופן הפעולה של gsutil. לדוגמה, המשתנה prefer_api קובע איזה API יהיה המועדף על gsutil. כדי לשנות את המשתנים של קובץ התצורה boto צריך לערוך ישירות את קובץ התצורה. רוב המשתמשים לא יצטרכו לערוך את המשתנים האלה, אבל בדרך כלל צריך לעשות זאת כשרוצים:
- להגדיר את gsutil לפעולה באמצעות שרת proxy.
- להשתמש במפתחות הצפנה באספקת הלקוח (CSEK) או בניהול הלקוח.
- לבצע התאמה אישית מיוחדת של ההתנהגות הכללית של gsutil.
מיקום
מיקום ברירת המחדל של קובץ התצורה boto הוא בספריית הבית של המשתמש, ~/.boto, ב-Linux או ב-macOS, וב-%HOMEDRIVE%%HOMEPATH% ב-Windows. כדי לאתר את המיקום של קובץ התצורה מריצים את הפקודה gsutil version -l.
כדי לשנות את המיקום שבו gsutil תחפש את קובץ התצורה, מגדירים משתנה הסביבה BOTO_CONFIG. אפשר גם להגדיר נתיב של קובצי תצורת boto לטעינה על ידי הגדרת משתנה הסביבה BOTO_PATH באמצעות נתיב שמופרד בסימן : (או ; ב-Windows). לדוגמה, הגדרת משתנה הסביבה BOTO_PATH כך:
/etc/projects/my_group_project.boto.cfg:/home/mylogin/.boto
תגרום ל-gsutil לטעון כל קובץ תצורה שנמצא בנתיב לפי הסדר. האפשרות הזו שימושית אם רוצים להגדיר מצב תצורה שמשותף למשתמשים רבים. בשימוש לדוגמה בקובץ התצורה תוכלו לראות תרחיש כזה של שיתוף נתונים ושיתוף פעולה.
מבנה
קובץ התצורה מכיל מספר קטעים: [Credentials], [Boto], [GSUtil] ו-[OAuth2]. בהמשך מוצגות הגדרות התצורה, בחלוקה לפי קטעים. השימוש שלהן מתועד בקובץ התצורה boto עצמו, בהערות שמופיעות לפני כל הגדרה:
[Credentials] aws_access_key_id aws_secret_access_key gs_access_key_id gs_host gs_host_header gs_json_host gs_json_host_header gs_json_port gs_oauth2_refresh_token gs_port gs_secret_access_key gs_service_client_id gs_service_key_file gs_service_key_file_password s3_host s3_host_header s3_port [Boto] proxy proxy_type proxy_port proxy_user proxy_pass proxy_rdns http_socket_timeout ca_certificates_file https_validate_certificates debug max_retry_delay num_retries [GoogleCompute] service_account [GSUtil] check_hashes content_language decryption_key1 ... 100 default_api_version disable_analytics_prompt encryption_key json_api_version max_upload_compression_buffer_size parallel_composite_upload_component_size parallel_composite_upload_threshold sliced_object_download_component_size sliced_object_download_max_components sliced_object_download_threshold parallel_process_count parallel_thread_count gzip_compression_level prefer_api resumable_threshold resumable_tracker_dir (deprecated in 4.6, use state_dir) rsync_buffer_lines software_update_check_period state_dir tab_completion_time_logs tab_completion_timeout task_estimation_threshold test_cmd_regional_bucket_location test_notification_url use_magicfile test_hmac_service_account test_hmac_alt_service_account test_hmac_list_service_account [OAuth2] client_id client_secret oauth2_refresh_retries provider_authorization_uri provider_label provider_token_uri token_cache
כשעורכים את הקובץ, חשוב להקפיד לא לערוך בטעות שמות של הגדרות, כמו gs_access_key_id, ולא להסיר את התווים המפרידים בין קטעים, כמו [Credentials].
עדכון לקובץ התצורה העדכני ביותר
עם הזמן, תכונות תצורה חדשות שניתנות לשליטה מתווספות לקובץ התצורה boto, אבל רוב המשתמשים ב-gsutil יוצרים קובץ תצורה פעם אחת ושומרים אותו לזמן רב. כלומר, תכונות חדשות לא יופיעו כשתעדכנו לגרסה חדשה יותר של gsutil. אם רוצים להוריד את קובץ התצורה העדכני ביותר, שכולל את ההגדרות והמסמכים האחרונים, צריך לשנות את השם של הקובץ הנוכחי (למשל, ל-.boto_old), להריץ את gcloud init (או אם משתמשים בגרסה עצמאית של gsutil מדור קודם, את gsutil config עם הדגלים -a או -e), ולאחר מכן להעביר את הגדרות התצורה שרוצים לשמור מהקובץ הישן לקובץ החדש שנוצר. עם זאת, שימו לב שאם אתם משתמשים בפרטי כניסה של OAuth2 וחוזרים דרך תהליך ההגדרה של OAuth2, הפעולה הזו תגרום לביטול התוקף של פרטי הכניסה הקודמים של OAuth2.
שימוש לדוגמה בקובץ התצורה
בדוגמה הזו, חברה קטנה רוצה להשתמש ב-Cloud Storage כמערכת אחסון לעובדים שלה. בתור אדמינים ב-IT, אתם צריכים ליצור פרויקט במסוףGoogle Cloud ואז ליצור קטגוריות לכל עובד. כדי להקל על העובדים את השימוש ב-Cloud Storage, כדאי ליצור ולאחסן את ההגדרות לכל החברה – למשל את ההגדרה של שרת proxy וערכי הסף של העלאה מורכבת מקבילה – בקובץ מרכזי שהעובדים יכולים להפנות אליו בנתיב תצורת BOTO שלהם. באופן כזה לא כל עובד יצטרך להגדיר ידנית את החלקים המשותפים של התצורה, ואתם כאדמינים תוכלו לשנות בקלות את ההגדרות המשותפות במקרה הצורך.
כדי לעשות זאת:
יוצרים קובץ תצורה boto מרכזי שכל העובדים יכולים לקרוא.
אפשר לעשות זאת באמצעות
gcloud init.קובץ התצורה boto עשוי להכיל, לדוגמה:
[Boto] proxy = yourproxy.com proxy_port = 8080 proxy_type = http [GSUtil] parallel_composite_upload_threshold = 150M
מנחים את העובדים להתקין את Google Cloud CLI.
במהלך ההתקנה, העובדים צריכים לציין את מזהה הפרויקט שבו משתמשת החברה. הם גם צריכים ליצור פרטי כניסה אישיים לאימות כי אסור בשום אופן לשתף עם כולם את פרטי הכניסה.
מנחים את העובדים להוסיף משתנה סביבה BOTO_PATH.
משתנה הסביבה BOTO_PATH מפרט את הנתיב של קובץ התצורה שנמצא במיקום מרכזי, ואחריו את קובץ התצורה המקומי של העובד. לדוגמה, אם קובץ התצורה המרכזי נמצא בספרייה
centralhub/, אז למשתמשjane, משתנה הסביבה BOTO_PATH עשוי להיות:BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto
כשהעובדים מריצים את gsutil, הם ישתמשו באופן אוטומטי בתצורה שמצוינת בקובץ boto המרכזי. אם יש צורך, האדמין יכול לשנות את ההגדרות לשרת ה-proxy, את סף ההעלאה המורכבת המקבילה והגדרות אחרות בקובץ התצורה המרכזי, ולהחיל את השינויים על כל העובדים באמצעות קובץ התצורה המרכזי.