Archivo de configuración de Boto

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

Descripción general del archivo de configuración

El archivo de configuración boto contiene valores que controlan el comportamiento de gsutil. Por ejemplo, la variable prefer_api determina la API que usará gsutil de forma preferencial. Las variables del archivo de configuración boto se pueden cambiar si se edita directamente el archivo de configuración. Aunque la mayoría de los usuarios no necesitan editar estas variables, por lo general, lo hacen por uno de los siguientes motivos:

Ubicación

La ubicación predeterminada del archivo de configuración boto está en el directorio de inicio del usuario, ~/.boto, para Linux y macOS, y en %HOMEDRIVE%%HOMEPATH%, para Windows. Puedes obtener la ubicación del archivo de configuración si ejecutas el comando de gsutil version -l.

Puedes anular la ubicación en la que gsutil espera encontrar el archivo de configuración si configuras la variable de entorno de BOTO_CONFIG. También puedes configurar una ruta de acceso de archivos de configuración boto para cargar mediante la configuración de la variable de entorno BOTO_PATH con una ruta de acceso delimitada por : (o ; en Windows). Por ejemplo, configura la variable de entorno BOTO_PATH en:

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

hace que gsutil cargue cada archivo de configuración que hay en la ruta de acceso en orden. Esto es útil si deseas configurar un estado de configuración compartido entre varios usuarios. Consulta el ejemplo de uso del archivo de configuración para este caso de colaboración y uso compartido de datos.

Estructura

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

[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 editar por error ninguno de los nombres de configuración, como gs_access_key_id, y no quites los delimitadores de sección, como [Credentials].

Actualiza al archivo de configuración más reciente

Las nuevas funciones de configuración controlables se agregan al archivo de configuración boto con el tiempo, 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 funciones nuevas no son aparentes cuando actualizas a una versión más reciente de gsutil. Si deseas obtener el archivo de configuración más reciente, que incluye la configuración y la documentación más recientes, cambia el nombre del archivo actual (p. ej., .boto_old), ejecuta gcloud init (o, si usas una versión de gsutil independiente heredada, gsutil config con las marcas -a o -e) y, luego, transfiere cualquier configuración que desees conservar de tu archivo anterior al archivo recientemente creado. Sin embargo, ten en cuenta que si usas las credenciales de OAuth2 y vuelves a su proceso de configuración, tus credenciales de OAuth2 anteriores dejarán de ser válidos.

Ejemplo del uso del archivo de configuración

En este ejemplo, una empresa pequeña quiere usar Cloud Storage como un sistema de almacenamiento para sus empleados. Como administrador de TI, creas un proyecto en la consola de Google Cloud y creas buckets para cada empleado. A fin de facilitarles el uso de Cloud Storage a los empleados, creas y almacenas configuración para toda la empresa, como una configuración proxy y umbrales de carga compuestos paralelos en un archivo central al que los empleados puedan apuntar su ruta de configuración BOTO. Esto es para que cada empleado no tenga que configurar las partes compartidas de la configuración de manera manual y te permite, como administrador, cambiar esas configuraciones compartidas con facilidad, si es necesario.

Para lograrlo, realiza los pasos siguientes:

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

    Esto se puede hacer con gcloud init.

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

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

    Durante la instalación, los empleados especifican el ID del proyecto que usa la empresa. También deben generar credenciales de autenticación individuales porque nunca debes compartirlas de forma centralizada.

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

    La variable de entorno BOTO_PATH hace una lista de la ruta del archivo de configuración ubicado de manera central, seguida del archivo de configuración local del empleado. Por ejemplo, si el archivo de configuración central se encuentra en el directorio centralhub/, entonces para el usuario jane, la variable de entorno BOTO_PATH podría ser la siguiente:

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

Cuando los empleados ejecutan gsutil, usan la configuración especificada en el archivo boto central de manera automática. Si es necesario, el administrador puede cambiar la configuración del proxy, el umbral de carga compuesto paralelo y otras configuraciones en el archivo de configuración central y hacer que los cambios se reflejen para todos los empleados que usan ese archivo.