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:
- Configurar gsutil para que funcione a través de un proxy
- Usar claves de encriptación administradas o proporcionadas por el cliente
- Realizar una personalización especializada del comportamiento global de gsutil
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:
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
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.
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 usuariojane
, 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.