2017-05-23 13 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/configに私の地域を設定しています問題は、このエラーが表示されることです。

なぜ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の領域をeu-central-1に設定する必要があります。

あなたが設定ファイルからリージョンを使用する場合は、ヘルパーとしてこれを使用することができます:私は同じ問題に出くわしたhttps://github.com/aws/aws-sdk-cpp/blob/master/aws-cpp-sdk-core/include/aws/core/config/AWSProfileConfigLoader.h

1

は、私のawscliは私のデフォルトの領域はUS-」に設定されていることを確認しましたwest-2 "となりますが、SDKは〜/ .aws/configファイルのデフォルト設定を無視して、デフォルト領域として" us-east-1 "を選択します。回避策として

が、私はEC2クライアントサービスの呼び出しの前にセットアップにリージョンをClientConfigurationを使用し、コードのスニペットを以下に示します。

Aws::Client::ClientConfiguration clientConfig; 
    clientConfig.region = "us-west-2"; 
    Aws::EC2::EC2Client ec2(clientConfig); 
関連する問題