es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Configurar la variable de entorno https_proxy provoca un comportamiento diferente en comparación con la configuración de proxies en botocore.config al listar los distribuidores de CloudFront.

El siguiente código, configurando el proxy como una variable de entorno, funciona como se espera, por lo tanto cloudfront_client.list_distributions() devuelve la lista de distribuciones de CloudFront en formato json.

if configuration['egress_proxy_enabled']:
        proxy_host = f"{configuration['egress_proxy_host']}:{configuration['egress_proxy_port']}"
        os.environ["HTTPS_PROXY"] = proxy_host
        client = boto_session.client('cloudfront')

Mientras que el siguiente código, configurando el proxy en la función de boto3, parece no configurarlo correctamente, ya que el método list_distributions() agota el tiempo de espera:

if configuration['egress_proxy_enabled']:
        proxy_host = f"{configuration['egress_proxy_host']}:{configuration['egress_proxy_port']}"
        client = boto_session.client('cloudfront', config=botocore.config.Config(proxies={'https': proxy_host}))

¿Cuál puede ser la razón de tal discrepancia?

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    La razón de la discrepancia entre los dos bloques de código puede ser debido al hecho de que el primer bloque de código establece el proxy como variable de entorno utilizando el módulo os, mientras que el segundo bloque de código establece el proxy directamente en la configuración de la sesión de boto3. Es posible que la configuración del proxy en la configuración de la sesión no se esté pasando correctamente al cliente HTTP subyacente utilizado por boto3, lo que resulta en el problema de tiempo de espera. Puede valer la pena intentar establecer el proxy utilizando el módulo os en el segundo bloque de código para ver si eso resuelve el problema.

Comments are closed.