2017-05-23 1 views
0

AWS C++ SDK를 테스트하고 있습니다. https://github.com/awsdocs/aws-doc-sdk-examples/blob/master/cpp/example_code/s3/put_object.cppAWS C++ SDK에서 지역을 설정할 수 없습니다.

: http://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-credentials.html

내가 AWS에서 제공하는이 예제 코드를 테스트입니다 : 그것은 여기 말했다처럼 나는 (유럽 연합 (EU) - 중앙-1) 환경 변수로와 ~/.aws/설정에서 내 영역을 설정 한 문제는이 오류가 나타납니다.

왜 eu-central-1 지역을 사용하지 않습니까?

+0

C++는 ~/.aws를 사용하지 않습니다에 대한 AWS SDK를 용의자/설정 파일 또는 환경 변수. http://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/client-config.html을 참조하십시오. – jarmod

답변

0

SDK는 설정 파일을 사용하지만 자동으로 지역을 설정하지는 않습니다. 기본 영역은 us-east-1입니다. 버킷이 eu-central-1에 있다고 가정하므로, ClientConfiguration의 region을 eu-central-1로 설정해야합니다.

당신이 당신의 config 파일에서 영역을 사용하려는 경우, 당신은 도우미로 사용할 수 있습니다 https://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-core/include/aws/core/config/AWSProfileConfigLoader.h 나는이 같은 문제를 건너 왔어요

1

, 내 awscli이 내 기본 영역에 "미국 - 설정되어있는 것을 확인했다 west-2 "이지만 SDK는 여전히 ~/.aws/config 파일의 기본 설정을 무시하면서"us-east-1 "을 기본 영역으로 선택합니다. 해결 방법으로

, 내가 EC2 클라이언트 서비스 호출하기 전에 설정에 지역을 ClientConfiguration을 사용, 코드 조각은 다음과 같습니다

Aws::Client::ClientConfiguration clientConfig; 
    clientConfig.region = "us-west-2"; 
    Aws::EC2::EC2Client ec2(clientConfig); 
관련 문제