services example aws python amazon-web-services boto3

example - python s3 bucket



Cómo elegir un perfil de AWS cuando se usa boto3 para conectarse a CloudFront (4)

Creo que los documentos no son maravillosos para exponer cómo hacer esto. Sin embargo, ha sido una característica compatible durante algún tiempo, y hay algunos detalles en esta solicitud de extracción . Entonces, hay tres formas de hacer esto:

a) Crear una nueva sesión con el perfil

dev = boto3.session.Session(profile_name=''dev'')

b) Cambiar el perfil de la sesión predeterminada en el código

boto3.setup_default_session(profile_name=''dev'')

c) Cambiar el perfil de la sesión predeterminada con una variable de entorno

$ AWS_PROFILE=dev ipython >>> import boto3 >>> s3dev = boto3.resource(''s3'')

Estoy usando la biblioteca Python Boto 3 y quiero conectarme a AWS CloudFront. Necesito especificar el perfil de AWS correcto (credenciales de AWS), pero mirando la documentación oficial, no veo forma de especificarlo.

Estoy inicializando el cliente usando el código: client = boto3.client(''cloudfront'')

Sin embargo, esto hace que use el perfil predeterminado para conectarse. No pude encontrar un método donde pueda especificar qué perfil usar.


Haga esto para usar un perfil con el nombre ''dev'':

session = boto3.session.Session(profile_name=''dev'') s3 = session.resource(''s3'') for bucket in s3.buckets.all(): print(bucket.name)


Simplemente agregue el perfil a la configuración de la sesión antes de llamar al cliente. boto3.session.Session(profile_name=''YOUR_PROFILE_NAME'').client(''cloudwatch'')


Esta sección de la documentación de boto3 es útil.

Esto es lo que funcionó para mí:

session = boto3.Session(profile_name=''dev'') client = session.client(''cloudfront'')