Ficheiro de configuração do Boto

Esta página descreve como o gsutil usa um ficheiro de configuração do boto e fornece um exemplo de colaboração que usa o ficheiro. O ficheiro de configuração do boto também é usado pelo boto, que é o SDK do Amazon S3 para Python.

Vista geral do ficheiro de configuração

O ficheiro de configuração do boto contém valores que controlam o comportamento do gsutil. Por exemplo, a variável prefer_api determina que API o gsutil usa preferencialmente. As variáveis do ficheiro de configuração do Boto podem ser alteradas editando o ficheiro de configuração diretamente. Embora a maioria dos utilizadores não precise de editar estas variáveis, normalmente, os que o fazem têm um dos seguintes motivos:

Localização

A localização predefinida do ficheiro de configuração do boto é o diretório inicial do utilizador, ~/.boto, para Linux e macOS, e %HOMEDRIVE%%HOMEPATH% para Windows. Pode obter a localização do ficheiro de configuração executando o comando gsutil version -l.

Pode substituir a localização onde o gsutil espera encontrar o ficheiro de configuração definindo a variável de ambiente BOTO_CONFIG. Também pode configurar um caminho de ficheiros de configuração do boto para carregar definindo a variável de ambiente BOTO_PATH com um caminho delimitado por : (ou ; para Windows). Por exemplo, definir a variável de ambiente BOTO_PATH para:

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

faz com que o gsutil carregue cada ficheiro de configuração encontrado no caminho por ordem. Isto é útil se quiser configurar um estado de configuração partilhado entre muitos utilizadores. Consulte o exemplo de utilização do ficheiro de configuração para um cenário de partilha de dados e colaboração deste tipo.

Estrutura

O ficheiro de configuração contém várias secções: [Credentials], [Boto], [GSUtil] e [OAuth2]. Seguem-se as definições de configuração atualmente definidas, discriminadas por secção. A respetiva utilização está documentada no próprio ficheiro de configuração do boto, em comentários que precedem cada definição:

[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 editar o ficheiro, tenha cuidado para não editar incorretamente nenhum dos nomes das definições, como gs_access_key_id, e não remova os delimitadores de secções, como [Credentials].

Atualizar para o ficheiro de configuração mais recente

As novas funcionalidades controláveis de configuração são adicionadas ao ficheiro de configuração do boto ao longo do tempo, mas a maioria dos utilizadores do gsutil cria um ficheiro de configuração uma vez e, em seguida, mantém-no durante muito tempo. Isto significa que as novas funcionalidades não são evidentes quando atualiza para uma versão mais recente do gsutil. Se quiser obter o ficheiro de configuração mais recente, que inclui as definições e a documentação mais recentes, mude o nome do ficheiro atual (por exemplo, para .boto_old), execute gcloud init (ou, se estiver a usar uma versão autónoma antiga do gustil, gsutil config com os indicadores -a ou -e) e, em seguida, transfira todas as definições de configuração que quer manter do ficheiro antigo para o ficheiro recém-criado. No entanto, se estiver a usar credenciais do OAuth2 e voltar a passar pelo processo de configuração do OAuth2, as suas credenciais do OAuth2 anteriores são invalidadas.

Exemplo de utilização do ficheiro de configuração

Neste exemplo, uma pequena empresa quer usar o Cloud Storage como um sistema de armazenamento para os seus funcionários. Enquanto administrador de TI, cria um projeto na Google Cloud consola e cria contentores para cada funcionário. Para facilitar a utilização do Cloud Storage aos funcionários, quer criar e armazenar definições ao nível da empresa, como uma configuração de proxy e limites de carregamento composto paralelo, num ficheiro central ao qual os funcionários possam fazer referência no respetivo caminho de configuração do BOTO. Isto elimina a necessidade de cada funcionário definir manualmente as partes partilhadas da configuração e permite-lhe, como administrador, alterar facilmente estas configurações partilhadas, se necessário.

Para isso, siga estes passos:

  1. Crie um ficheiro de configuração do boto central que seja legível por todos os funcionários.

    Pode fazê-lo através do gcloud init.

    O ficheiro de configuração do boto pode conter, por exemplo:

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. Instrua os funcionários a instalarem a CLI gcloud.

    Durante a instalação, os funcionários têm de especificar o ID do projeto que a empresa está a usar. Também têm de gerar credenciais de autenticação individuais, uma vez que nunca deve partilhar credenciais de autenticação de forma centralizada.

  3. Instrua os funcionários a adicionar uma variável de ambiente BOTO_PATH.

    A variável de ambiente BOTO_PATH indica o caminho do ficheiro de configuração localizado centralmente, seguido do ficheiro de configuração local do funcionário. Por exemplo, se o ficheiro de configuração central estiver localizado no diretório centralhub/, para o utilizador jane, a variável de ambiente BOTO_PATH pode ser:

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

Quando os funcionários executam o gsutil, usam automaticamente a configuração especificada no ficheiro boto central. Se necessário, o administrador pode alterar as definições de proxy, o limite de carregamento composto paralelo e outras definições no ficheiro de configuração central e fazer com que as alterações se reflitam para todos os funcionários que usam o ficheiro de configuração central.