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:
- Configurar gsutil para que funcione a través de un proxy.
- Usar claves de cifrado gestionadas o proporcionadas por el cliente.
- Realizar personalizaciones especializadas del comportamiento global de gsutil.
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:
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
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.
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 usuariojane
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.