File di configurazione di Boto

Questa pagina descrive come gsutil utilizza un file di configurazione boto e fornisce un esempio di collaborazione che utilizza il file. Il file di configurazione boto viene utilizzato anche da boto, che è l'SDK Amazon S3 per Python.

Panoramica dei file di configurazione

Il file di configurazione boto contiene valori che controllano il comportamento di gsutil. Ad esempio, la variabile prefer_api determina l'API che gsutil utilizza preferenzialmente. Le variabili del file di configurazione Boto possono essere modificate modificando direttamente il file di configurazione. Sebbene la maggior parte degli utenti non dovrà modificare queste variabili, queste generalmente lo fanno per uno dei seguenti motivi:

Località

Il percorso predefinito del file di configurazione boto si trova nella home directory dell'utente, ~/.boto, per Linux e macOS, e in %HOMEdrive%%HOMEPATH%, per Windows. Puoi ottenere la posizione del file di configurazione eseguendo il comando gsutil version -l.

Puoi eseguire l'override della posizione in cui gsutil prevede di trovare il file di configurazione impostando la variabile di ambiente BOTO_CONFIG. Puoi anche configurare un percorso dei file di configurazione boto da caricare impostando la variabile di ambiente BOTO_PATH utilizzando un percorso delimitato da : (o ; per Windows). Ad esempio, se imposti la variabile di ambiente BOTO_PATH su:

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

fa sì che gsutil carichi nell'ordine ogni file di configurazione trovato nel percorso. Questa operazione è utile se vuoi impostare uno stato di configurazione condiviso tra più utenti. Vedi l'esempio di utilizzo del file di configurazione per questo scenario di condivisione e collaborazione dei dati.

Struttura

Il file di configurazione contiene diverse sezioni: [Credentials], [Boto], [GSUtil] e [OAuth2]. Di seguito sono riportate le impostazioni di configurazione attualmente definite, suddivise per sezione. Il loro utilizzo è documentato nello stesso file di configurazione Boto, nei commenti che precedono ogni impostazione:

[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

Quando modifichi il file, fai attenzione a non modificare in modo errato i nomi delle impostazioni, ad esempio gs_access_key_id, e non rimuovere i delimitatori di sezione, come [Credentials].

Aggiornamento al file di configurazione più recente

Nel tempo vengono aggiunte nuove funzionalità controllabili della configurazione al file di configurazione boto, ma la maggior parte degli utenti gsutil crea un file di configurazione una sola volta e lo conserva per molto tempo. Ciò significa che le nuove funzionalità non sono evidenti quando esegui l'aggiornamento a una versione più recente di gsutil. Se vuoi ottenere il file di configurazione più recente, che include le impostazioni e la documentazione più recenti, rinomina il file attuale (ad es. .boto_old), esegui gcloud init (oppure, se utilizzi una versione autonoma legacy di gustil, gsutil config con i flag -a o -e), poi trasferisci nel file appena creato le impostazioni di configurazione che vuoi conservare. Tuttavia, tieni presente che se utilizzi le credenziali OAuth2 e ripristini la procedura di configurazione di OAuth2, le credenziali OAuth2 precedenti non saranno valide.

Esempio di utilizzo del file di configurazione

In questo esempio, una piccola azienda vuole utilizzare Cloud Storage come sistema di archiviazione per i dipendenti. In qualità di amministratore IT, crei un progetto nella console Google Cloud e crei bucket per ogni dipendente. Per semplificare l'utilizzo di Cloud Storage per i dipendenti, vuoi creare e archiviare impostazioni a livello aziendale, come una configurazione proxy e soglie di caricamento composito parallelo, in un file centrale a cui i dipendenti possono puntare nel loro percorso di configurazione BOTO. In questo modo non è necessario che ogni dipendente imposti manualmente le parti condivise della configurazione e, in qualità di amministratore, puoi modificare facilmente queste configurazioni condivise, se necessario.

Per eseguire questa operazione, procedi nel seguente modo:

  1. Crea un file di configurazione boto centrale leggibile da tutti i dipendenti.

    Può farlo usando gcloud init.

    Il file di configurazione boto potrebbe contenere, ad esempio:

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. Chiedi ai dipendenti di installare Google Cloud CLI.

    Durante l'installazione, i dipendenti devono specificare l'ID progetto utilizzato dall'azienda. Devono inoltre generare singole credenziali di autenticazione, perché non dovresti mai condividere le credenziali di autenticazione a livello centrale.

  3. Chiedi ai dipendenti di aggiungere una variabile di ambiente BOTO_PATH.

    La variabile di ambiente BOTO_PATH elenca il percorso del file di configurazione in posizione centrale, seguito dal file di configurazione locale del dipendente. Ad esempio, se il file di configurazione centrale si trova nella directory centralhub/, per l'utente jane la variabile di ambiente BOTO_PATH potrebbe essere:

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

Quando i dipendenti eseguono gsutil, utilizzeranno automaticamente la configurazione specificata nel file boto centrale. Se necessario, l'amministratore può modificare le impostazioni del proxy, la soglia di caricamento composito parallelo e altre impostazioni nel file di configurazione centrale, in modo che le modifiche vengano applicate a tutti i dipendenti utilizzando il file di configurazione centrale.