Archivo de configuración boto

En esta página se describe cómo usa gsutil un archivo de configuración de boto y se proporciona un ejemplo de colaboración que utiliza el archivo. El archivo de configuración de boto también lo usa boto, que es el SDK de Amazon S3 para Python.

Información general sobre los archivos de configuración

El archivo de configuración de boto contiene valores que controlan el comportamiento de gsutil. Por ejemplo, la variable prefer_api determina qué API usa gsutil de forma preferente. Las variables del archivo de configuración de boto se pueden cambiar editando directamente el archivo de configuración. Aunque la mayoría de los usuarios no tendrán que editar estas variables, quienes lo hagan suelen hacerlo por uno de los siguientes motivos:

Ubicación

La ubicación predeterminada del archivo de configuración de boto es el directorio principal del usuario, ~/.boto, en Linux y macOS, y %HOMEDRIVE%%HOMEPATH% en Windows. Para obtener la ubicación del archivo de configuración, ejecuta el comando gsutil version -l.

Puedes anular la ubicación en la que gsutil espera encontrar el archivo de configuración definiendo la variable de entorno BOTO_CONFIG. También puedes configurar una ruta de archivos de configuración de boto para cargarla definiendo la variable de entorno BOTO_PATH mediante una ruta delimitada por : (o ; en Windows). Por ejemplo, si se asigna el valor siguiente a la variable de entorno BOTO_PATH:

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

hace que gsutil cargue cada archivo de configuración que se encuentre en la ruta en orden. Esto resulta útil si quieres configurar un estado de configuración compartido entre muchos usuarios. Consulta el ejemplo de uso del archivo de configuración para un caso práctico de uso compartido de datos y colaboración.

Estructura

El archivo de configuración contiene varias secciones: [Credentials], [Boto], [GSUtil] y [OAuth2]. A continuación, se muestran los ajustes de configuración definidos actualmente, desglosados por sección. Su uso se documenta en el propio archivo de configuración de boto, en los comentarios que preceden a cada ajuste:

[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

Cuando edites el archivo, ten cuidado de no modificar por error ninguno de los nombres de los ajustes, como gs_access_key_id, y no elimines los delimitadores de sección, como [Credentials].

Actualizar al archivo de configuración más reciente

Con el tiempo, se irán añadiendo nuevas funciones configurables al archivo de configuración de boto, pero la mayoría de los usuarios de gsutil crean un archivo de configuración una vez y lo conservan durante mucho tiempo. Esto significa que las nuevas funciones no son evidentes cuando actualizas a una versión más reciente de gsutil. Si quieres obtener el archivo de configuración más reciente, que incluye los ajustes y la documentación más recientes, cambia el nombre del archivo actual (por ejemplo, a .boto_old), ejecuta gcloud init (o gsutil config con las marcas -a o -e si usas una versión independiente antigua de gustil) y, a continuación, transfiere los ajustes de configuración que quieras conservar del archivo antiguo al archivo recién creado. Sin embargo, ten en cuenta que, si usas credenciales de OAuth2 y vuelves a completar el proceso de configuración de OAuth2, las credenciales anteriores dejarán de ser válidas.

Ejemplo de uso del archivo de configuración

En este ejemplo, una pequeña empresa quiere usar Cloud Storage como sistema de almacenamiento para sus empleados. Como administrador de TI, crea un proyecto en la Google Cloud consola y crea contenedores para cada empleado. Para que los empleados puedan usar Cloud Storage más fácilmente, quieres crear y almacenar ajustes de toda la empresa, como una configuración de proxy y umbrales de subida compuesta paralela, en un archivo central al que puedan hacer referencia en su ruta de configuración de BOTO. De esta forma, no es necesario que cada empleado configure manualmente las partes compartidas de la configuración y, como administrador, puedes cambiar fácilmente estas configuraciones compartidas si es necesario.

Para ello, sigue estos pasos:

  1. Crea un archivo de configuración de boto central que puedan leer todos los empleados.

    Para ello, puedes usar gcloud init.

    El archivo de configuración de boto podría contener, por ejemplo, lo siguiente:

    [Boto]
    proxy = yourproxy.com
    proxy_port = 8080
    proxy_type = http
     
    [GSUtil]
    parallel_composite_upload_threshold = 150M
    
  2. Indica a los empleados que instalen Google Cloud CLI.

    Durante la instalación, los empleados deben especificar el ID de proyecto que utiliza la empresa. También deben generar credenciales de autenticación individuales, ya que nunca se deben compartir credenciales de autenticación de forma centralizada.

  3. Indica a los empleados que añadan una variable de entorno BOTO_PATH.

    La variable de entorno BOTO_PATH muestra la ruta del archivo de configuración ubicado de forma centralizada, seguido del archivo de configuración local del empleado. Por ejemplo, si el archivo de configuración central se encuentra en el directorio centralhub/, la variable de entorno BOTO_PATH del usuario jane podría ser la siguiente:

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

Cuando los empleados ejecuten gsutil, usarán automáticamente la configuración especificada en el archivo boto central. Si es necesario, el administrador puede cambiar la configuración del proxy, el umbral de subida compuesta paralela y otros ajustes en el archivo de configuración central, y los cambios se reflejarán para todos los empleados que usen el archivo de configuración central.