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:
- Configurar o gsutil para funcionar através de um proxy.
- Usando chaves de encriptação geridas ou fornecidas pelo cliente.
- Realizar a personalização especializada do comportamento global do gsutil.
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:
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
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.
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 utilizadorjane
, 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.