IT story

boto3 클라이언트 NoRegionError : 때때로 지역 오류를 지정해야합니다.

hot-time 2020. 9. 2. 20:47
반응형

boto3 클라이언트 NoRegionError : 때때로 지역 오류를 지정해야합니다.


boto3 클라이언트가 있습니다.

boto3.client('kms')

그러나 그것은 새로운 기계에서 발생합니다. 그들은 동적으로 열리고 닫힙니다.

    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()

왜 이런 일이 발생합니까? 왜 시간의 일부일까요?


어떤 방법 으로든 kms클라이언트를 생성 할 지역을 boto3에 알려야합니다 . 이는 다음 region_name과 같이 매개 변수를 사용하여 명시 적으로 수행 할 수 있습니다 .

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

또는 다음과 같이 파일에서 프로필과 연결된 기본 지역을 가질 수 있습니다 ~/.aws/config.

[default]
region=us-west-2

또는 다음과 같이 환경 변수를 사용할 수 있습니다.

export AWS_DEFAULT_REGION=us-west-2

그러나 사용할 지역을 boto3에 알려야합니다.


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

제 경우에는 감도가 중요했습니다.


기본적으로 boto는 aws cli에 설정된 지역을 선택합니다. #aws configure 명령을 실행하고 Enter (리전과 함께 aws cli에 설정 한 자격 증명을 보여줌)를 두 번 눌러 리전을 확인할 수 있습니다.


region_name 매개 변수를 전달하는 대신 스크립트 자체에서 환경 변수를 설정할 수도 있습니다.

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

대소 문자 구분이 중요 할 수 있습니다.

참고 URL : https://stackoverflow.com/questions/40377662/boto3-client-noregionerror-you-must-specify-a-region-error-only-sometimes

반응형