2017-08-10 5 views
0

AWS AMIの製品コードを取得しようとしていますが、http://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeImageAttribute.htmlに応じてリクエストを生成して解凍しました。 と私はこの応答を取得します。アクションDescribeImageAttributeはこのWebサービスに対して無効です

<Response> 
<Errors> 
<Error> 
<Code>InvalidAction</Code> 
<Message> 
The action DescribeImageAttribute is not valid for this web service. 
</Message> 
</Error> 
</Errors> 
<RequestID>b17b3f04-f7e6-47c7-a379-cb3d9a902865</RequestID> 
</Response> 

生成されたURLは次のとおりです。https://ec2.amazonaws.com/?AWSAccessKeyId=MYKEY&Action=DescribeImageAttribute&Attribute=productCodes&ImageId=ami-823919e7&SignatureMethod=HmacSHA256&SignatureVersion=2&Timestamp=2017-08-10T07%3A39%3A47Z&Signature=MY_SIGNATURE

答えて

1

リクエストがVersion属性が不足しているように見えるので、サービスは明らかに、あなただけのEC2 APIの非常に古いバージョンを知っているいくつかの非常に古いコードであることを前提としていそのリクエストを、そのリクエストハンドラに渡します。これはあなたが何を求めているのかわからず、エラーで応答します。

リクエストに署名する前に、クエリに&Version=2016-11-15が必要です。ここで、2016-11-15はAPIリファレンスマニュアルの各ページの上部に示されている現在のAPIリリースバージョンです。日付は各AWSサービスごとに異なります。

これはAWSがAPIレベルで問題を解決しない方法の1つです。要求と応答の互換性のない変更は、新しいAPIバージョンとして展開されるため、古いコードは失敗しません。

+0

答えをありがとう。それは助けました。 –

関連する問題