File konfigurasi Boto

Halaman ini menjelaskan bagaimana gsutil menggunakan file konfigurasi boto dan memberikan contoh kolaborasi yang menggunakan file tersebut. File konfigurasi boto juga digunakan oleh boto, yang merupakan Amazon S3 SDK untuk Python.

Ringkasan file konfigurasi

File konfigurasi boto berisi nilai yang mengontrol perilaku gsutil. Misalnya, variabel prefer_api menentukan gsutil API mana yang lebih disukai. Variabel file konfigurasi boto dapat diubah dengan langsung mengedit file konfigurasi. Meskipun sebagian besar pengguna tidak perlu mengedit variabel ini, variabel tersebut biasanya perlu diedit karena salah satu alasan berikut:

Lokasi

Lokasi default untuk file konfigurasi boto adalah di direktori utama pengguna, ~/.boto, untuk Linux dan macOS, serta di %HOMEDRIVE%%HOMEPATH%, untuk Windows. Anda bisa mendapatkan lokasi file konfigurasi dengan menjalankan perintah gsutil version -l.

Anda dapat mengganti lokasi tempat gsutil diperkirakan akan menemukan file konfigurasi dengan menetapkan variabel lingkungan BOTO_CONFIG. Anda juga dapat menyiapkan jalur file konfigurasi boto yang akan dimuat dengan menetapkan variabel lingkungan BOTO_PATH menggunakan jalur : yang dibatasi (atau ; untuk Windows). Misalnya, menetapkan variabel lingkungan BOTO_PATH ke:

/etc/projects/my_group_project.boto.cfg:/home/mylogin/.boto

menyebabkan gsutil memuat setiap file konfigurasi yang ditemukan dalam jalur secara berurutan. Hal ini berguna jika Anda ingin menyiapkan beberapa status konfigurasi bersama di antara banyak pengguna. Lihat contoh penggunaan file konfigurasi untuk skenario berbagi data dan kolaborasi.

Struktur

File konfigurasi berisi sejumlah bagian: [Credentials], [Boto], [GSUtil], dan [OAuth2]. Berikut adalah setelan konfigurasi yang saat ini ditentukan dan dikelompokkan berdasarkan bagian. Penggunaannya didokumentasikan dalam file konfigurasi boto itu sendiri, dalam komentar sebelum setiap setelan:

[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

Saat Anda mengedit file, berhati-hatilah agar tidak salah mengedit nama setelan, seperti gs_access_key_id, dan jangan menghapus pemisah bagian, seperti [Credentials].

Mengupdate ke file konfigurasi terbaru

Fitur yang dapat dikontrol konfigurasi baru akan ditambahkan ke file konfigurasi boto dari waktu ke waktu, tetapi sebagian besar pengguna gsutil membuat file konfigurasi satu kali, kemudian menyimpannya dalam waktu yang lama. Artinya, fitur baru tidak akan terlihat saat Anda mengupdate ke versi gsutil yang lebih baru. Jika ingin mendapatkan file konfigurasi terbaru, yang menyertakan setelan dan dokumentasi terbaru, ganti nama file Anda saat ini (misalnya, menjadi .boto_old), jalankan gcloud init (atau jika menggunakan penyangga lama versi gustil saja, gsutil config dengan tanda -a atau -e), lalu transfer setelan konfigurasi apa pun yang ingin Anda simpan dari file lama ke file yang baru dibuat. Namun, perhatikan bahwa jika Anda menggunakan kredensial OAuth2 dan kembali ke proses konfigurasi OAuth2, tindakan tersebut akan membuat kredensial OAuth2 Anda yang sebelumnya menjadi tidak valid.

Contoh penggunaan file konfigurasi

Dalam contoh ini, sebuah perusahaan kecil ingin menggunakan Cloud Storage sebagai sistem penyimpanan untuk karyawannya. Sebagai admin IT, Anda dapat membuat project di konsol Google Cloud dan membuat bucket untuk setiap karyawan. Untuk memudahkan karyawan menggunakan Cloud Storage, Anda perlu membuat dan menyimpan setelan di seluruh perusahaan, seperti konfigurasi proxy dan nilai minimum upload komposit paralel, dalam file pusat yang dapat dituju karyawan di jalur konfigurasi BOTO mereka. Dengan cara ini, setiap karyawan tidak perlu lagi menetapkan bagian bersama dari konfigurasi secara manual, sehingga Anda, sebagai administrator, dapat dengan mudah mengubah konfigurasi bersama ini jika diperlukan.

Untuk melakukannya, lakukan langkah-langkah berikut:

  1. Buat file konfigurasi boto pusat yang dapat dibaca oleh semua karyawan.

    Hal ini dapat dilakukan dengan menggunakan gcloud init.

    File konfigurasi boto mungkin berisi, misalnya:

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. Instruksikan karyawan untuk menginstal Google Cloud CLI.

    Selama penginstalan, karyawan harus menentukan project ID yang digunakan perusahaan. Mereka juga harus membuat kredensial autentikasi individual karena Anda tidak boleh membagikan kredensial autentikasi secara terpusat.

  3. Instruksikan karyawan untuk menambahkan variabel lingkungan BOTO_PATH.

    Variabel lingkungan BOTO_PATH mencantumkan jalur file konfigurasi yang berada di tengah, yang diikuti dengan file konfigurasi lokal karyawan. Misalnya, jika file konfigurasi pusat terletak di direktori centralhub/, maka untuk pengguna jane, variabel lingkungan BOTO_PATH-nya adalah:

    BOTO_PATH =/centralhub/boto.cfg:home/jane/.boto

Saat karyawan menjalankan gsutil, mereka akan otomatis menggunakan konfigurasi yang ditetapkan di file boto pusat. Jika perlu, administrator dapat mengubah setelan proxy, nilai minimum upload gabungan paralel, dan setelan lainnya di file konfigurasi pusat, serta menerapkan perubahan tersebut untuk semua karyawan yang menggunakan file konfigurasi pusat.