File di configurazione di Boto

In questa pagina viene spiegato in che modo gsutil utilizza un file di configurazione boto e fornisce un esempio di collaborazione che utilizza il file. Il file di configurazione boto è utilizzato anche da boto, che è l'SDK Amazon S3 per Python.

Panoramica del file di configurazione

Il file di configurazione boto contiene valori che controllano il comportamento di gsutil. Ad esempio, la variabile prefer_api determina quale API utilizza in modo preferito. Puoi modificare le variabili del file di configurazione Boto modificando direttamente il file. Sebbene la maggior parte degli utenti non abbia la necessità di modificare queste variabili, in genere ciò avviene per uno dei seguenti motivi:

Località

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

Puoi sostituire la posizione in cui gsutil prevede di trovare il file di configurazione impostando la variabile di ambiente BOTO_CONFIG. Puoi anche impostare un percorso dei file di configurazione del bot 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 ogni file di configurazione trovato nel percorso in ordine. Questo è utile se vuoi impostare alcuni stati di configurazione condivisi tra molti utenti. Consulta l'esempio di utilizzo del file di configurazione per uno scenario di condivisione e collaborazione dei dati di questo tipo.

Struttura

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 del bot 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
  default_project_id
  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 es. gs_access_key_id) e non rimuovere i delimitatori di sezione, ad esempio [Credentials].

Aggiornamento al file di configurazione più recente

Nel tempo, nel file di configurazione boto vengono aggiunte nuove funzionalità controllabili per la configurazione, ma la maggior parte degli utenti gsutil crea un file di configurazione una sola volta e poi lo conserva per un lungo periodo di tempo. Ciò significa che le nuove funzionalità non sono evidenti quando esegui l'aggiornamento a una versione più recente di gsutil. Se vuoi recuperare il file di configurazione più recente, che include la documentazione e le impostazioni più recenti, rinomina il file corrente (ad es. in .boto_old), esegui gsutil config o gcloud init, quindi trasferisci le impostazioni di configurazione che vuoi conservare dal file precedente al file appena creato. Tieni presente, tuttavia, che se utilizzi credenziali OAuth2 e torni al processo di configurazione di OAuth2, tale operazione invalida le credenziali OAuth2 precedenti.

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, puoi creare un progetto in Google Cloud Console e creare bucket per ogni dipendente. Per consentire ai dipendenti di utilizzare più facilmente Cloud Storage, ti consigliamo di 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 indirizzare nel loro percorso di configurazione BOTO. In questo modo, non sarà necessario impostare manualmente le parti condivise della configurazione e in qualità di amministratore potrai modificare facilmente queste configurazioni se necessario.

Per farlo, segui questi passaggi:

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

    A questo scopo, è possibile utilizzare gcloud init quando gsutil è installato come parte dell'interfaccia a riga di comando di Google Cloud.

    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 l'interfaccia a riga di comando di Google Cloud.

    Durante l'installazione, i dipendenti devono specificare l'ID progetto utilizzato dall'azienda. Inoltre, devono generare credenziali di autenticazione individuali, perché non dovresti 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 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 e fare in modo che le modifiche vengano applicate per tutti i dipendenti che utilizzano il file di configurazione centrale.