Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

180
Vistas
cliente boto3 NoRegionError: debe especificar un error de región solo algunas veces

Tengo un cliente de boto3:

 boto3.client('kms')

Pero sucede en máquinas nuevas, se abren y cierran dinámicamente.

 if endpoint is None: if region_name is None: # Raise a more specific error message that will give # better guidance to the user what needs to happen. raise NoRegionError()

¿Por qué está pasando esto? y ¿por qué sólo una parte del tiempo?

over 4 years ago · Santiago Trujillo
8 Respuestas
Responde la pregunta

0

Alternativamente, puede ejecutar lo siguiente (aws cli)

 aws configure --profile $PROFILE_NAME

te pedirá la región.

observe en ~/.aws/config que es:

 [default] region = ap-southeast-1 output = json [profile prod] region = ap-southeast-1 output = json

[ nombre del perfil del perfil ] entre corchetes

over 4 years ago · Santiago Trujillo Denunciar

0

Si está usando lambdas, entonces probablemente querrá usar la región en la que está implementada la lambda. Puede usar lo siguiente

 import boto3 import json import os def lambda_handler(event, context): region = os.environ['AWS_REGION'] print('Lambda region: ', region) kms = boto3.client('kms', region_name=region)
over 4 years ago · Santiago Trujillo Denunciar

0

también puede establecer variables de entorno en el propio script, en lugar de pasar el parámetro region_name

os.environ['AWS_DEFAULT_REGION'] = 'your_region_name'

la distinción entre mayúsculas y minúsculas puede ser importante.

over 4 years ago · Santiago Trujillo Denunciar

0

os.environ['AWS_DEFAULT_REGION'] = 'your_region_name'

En mi caso la sensibilidad importaba.

over 4 years ago · Santiago Trujillo Denunciar

0

Para Python 2, descubrí que la biblioteca boto3 no obtiene la región de ~/.aws/config si la región está definida en un perfil diferente al predeterminado. Así que tienes que definirlo en la creación de la sesión.

 session = boto3.Session( profile_name='NotDefault', region_name='ap-southeast-2' ) print(session.available_profiles) client = session.client( 'ec2' )

Donde mi archivo ~/.aws/config se ve así:

 [default] region=ap-southeast-2 [NotDefault] region=ap-southeast-2

Hago esto porque uso diferentes perfiles para diferentes inicios de sesión en AWS, Personal y Work.

over 4 years ago · Santiago Trujillo Denunciar

0

Para aquellos que usan la plantilla de CloudFormation. Puede configurar la variable de entorno AWS_DEFAULT_REGION utilizando UserData y AWS::Region . Por ejemplo,

 MyInstance1: Type: AWS::EC2::Instance Properties: ImageId: ami-04b9e92b5572fa0d1 #ubuntu InstanceType: t2.micro UserData: Fn::Base64: !Sub | #!/bin/bash -x echo "export AWS_DEFAULT_REGION=${AWS::Region}" >> /etc/profile
over 4 years ago · Santiago Trujillo Denunciar

0

Creo que, de forma predeterminada, boto elige la región que está configurada en aws cli. Puede ejecutar el comando #aws configure y presionar enter (muestra qué credenciales ha establecido en aws cli con la región) dos veces para confirmar su región.

over 4 years ago · Santiago Trujillo Denunciar

0

De una forma u otra debes indicarle a boto3 en qué región quieres que se cree el cliente kms . Esto podría hacerse explícitamente usando el parámetro region_name como en:

 kms = boto3.client('kms', region_name='us-west-2')

o puede tener una región predeterminada asociada con su perfil en su archivo ~/.aws/config como en:

 [default] region=us-west-2

o puede usar una variable de entorno como en:

 export AWS_DEFAULT_REGION=us-west-2

pero necesita decirle a boto3 qué región usar.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda