本頁面說明 gsutil 如何使用 boto 設定檔,並提供使用該檔案的協同合作範例。boto 設定檔也由 boto 使用,後者是 Python 適用的 Amazon S3 SDK。
設定檔總覽
boto 設定檔包含用於控制 gsutil 行為方式的值。舉例來說,prefer_api
變數會決定 gsutil 優先使用的 API。您可以直接編輯設定檔來變更 Boto 設定檔變數。雖然大多數使用者不需要編輯這些變數,但通常會編輯這些變數的原因如下:
- 設定 gsutil 透過 Proxy 運作。
- 使用客戶管理或提供的加密金鑰。
- 針對全域 gsutil 行為執行專屬自訂設定。
位置
Linux 和 macOS 作業系統的 boto 設定檔預設位置位於使用者主目錄 ~/.boto 中,而 Windows 作業系統的 boto 設定檔預設位置則位於 %HOMEDRIVE%%HOMEPATH%。如要取得該設定檔的位置,請執行 gsutil version -l
指令。
您可以設定 BOTO_CONFIG
環境變數,覆寫 gsutil 預期尋找設定檔的位置。您也可以使用 :
分隔路徑 (或 Windows 的 ;
) 設定 BOTO_PATH
環境變數,藉此設定要載入的 boto 設定檔路徑。例如,將 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
(如果使用的是舊版獨立的 Gustil,請使用 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。
安裝期間,員工必須指定公司目前使用的專案 ID。由於您不應集中共用驗證憑證,因此他們也必須產生個別驗證憑證。
指示員工新增 BOTO_PATH 環境變數。
BOTO_PATH 環境變數會列出中央設定檔的路徑,後面接續員工的本機設定檔。舉例來說,如果中央設定檔位於
centralhub/
目錄中,則使用者jane
的 BOTO_PATH 環境變數可能為:BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto
員工執行 gsutil 時,會自動使用中央 boto 檔案內指定的設定。如有需要,管理員可以變更中央設定檔內的 Proxy 設定、平行複合上傳門檻以及其他設定,並且讓變更內容反映在所有使用中央設定檔的員工電腦上。