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 di Boto viene utilizzato anche da Boto, ovvero l'SDK Amazon S3 per Python.

Panoramica del file di configurazione

Il file di configurazione boto contiene i 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 di Boto possono essere modificate modificando direttamente il file di configurazione. Sebbene la maggior parte degli utenti non debba modificare queste variabili, in genere lo fa per uno dei seguenti motivi:

Località

La posizione predefinita del file di configurazione di boto è nella directory home 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 sostituire la posizione in cui gsutil si aspetta di trovare il file di configurazione impostando la variabile di ambiente BOTO_CONFIG. Puoi anche impostare 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, impostando la variabile di ambiente BOTO_PATH su:

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

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

Strutturazione

Il file di configurazione contiene una serie di sezioni: [Credentials], [Boto], [GSUtil] e [OAuth2]. Di seguito sono riportate le impostazioni di configurazione attualmente definite, suddivise per sezione. Il loro utilizzo è documentato nel file di configurazione di boto stesso, 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 i nomi delle impostazioni, come gs_access_key_id, e non rimuovere i delimitatori di sezione, come [Credentials].

Aggiornamento all'ultimo file di configurazione

Nel tempo, al file di configurazione boto vengono aggiunte nuove funzionalità di configurazione controllabili, ma la maggior parte degli utenti di gsutil crea un file di configurazione una volta e poi 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 corrente (ad es. in .boto_old), esegui gcloud init (o, se utilizzi una versione autonoma precedente di gustil, gsutil config con i flag -a o -e) e poi trasferisci le impostazioni di configurazione che vuoi conservare dal vecchio file al file appena creato. Tieni presente, però, che se utilizzi le credenziali OAuth2 e ripercorri la procedura di configurazione OAuth2, le credenziali OAuth2 precedenti vengono invalidate.

Esempio di utilizzo del file di configurazione

In questo esempio, una piccola azienda vuole utilizzare Cloud Storage come sistema di archiviazione per i propri 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 da parte dei dipendenti, devi creare e archiviare le impostazioni a livello di azienda, ad esempio una configurazione proxy e le soglie di caricamento composito parallelo, in un file centrale a cui i dipendenti possono fare riferimento nel percorso di configurazione BOTO. In questo modo, non è necessario che ogni dipendente debba impostare manualmente le parti condivise della configurazione e tu, in qualità di amministratore, puoi modificarle facilmente, se necessario.

Per farlo, segui questi passaggi:

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

    Può farlo utilizzando gcloud init.

    Il file di configurazione di 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. Inoltre, devono generare credenziali di autenticazione individuali perché non devi mai condividere le credenziali di autenticazione in modo centralizzato.

  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 situato centralmente, seguito dal file di configurazione locale del dipendente. Ad esempio, se il file di configurazione centrale si trova nella directorycentralhub/, 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 e applicare le modifiche a tutti i dipendenti che utilizzano il file di configurazione centrale.