2016-06-16 16 views
1

私は、AWSのドキュメントに従って、次のhttpリクエストを使用して、apiゲートウェイからAPI定義をエクスポートしようとしています。なぜそれが動作していないすべてのアイデア?httpリクエスト経由でapi gatewayからswagger api定義をエクスポートしますか?

curl -i -X GET -H "Accept: application/json" "https://apigateway.ap-northeast-1.amazonaws.com/restapis/<api-id>/stages/<stage-name>/exports/swagger"

エラー: HTTP/1.1 403 Forbidden {"message":"Missing Authentication Token"}

答えて

4

私はあなたの代わりに闊歩(http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-export.html)をエクスポートするのCLI AWSを使用することをお勧めします。

swaggerをエクスポートするためにcurlコマンドを使用する場合は、SigV4(http://docs.aws.amazon.com/general/latest/gr/sigv4_signing.html?shortFooter=true)でリクエストに署名する必要があります。私は以下のコマンドでスワッガーをうまく書き出すことができました。

curl -X GET -H "Accept: application/json" -H "Host: apigateway.us-east-1.amazonaws.com" -H "Authorization: AWS4-HMAC-SHA256 Credential=<ACCESS_ID>/20160616/us-east-1/apigateway/aws4_request, SignedHeaders=accept;content-type;host;x-amz-date, Signature=<SIG_V4_SIGNATURE>" -H "Content-Type: application/x-www-form-urlencoded" -H "X-Amz-Date: 20160616T173231Z" -H "Cache-Control: no-cache" "https://apigateway.us-east-1.amazonaws.com/restapis/<REST_API_ID>/stages/<STAGE_NAME>/exports/swagger" 
+0

ありがとう、私は推奨されるようにCLIを使用します。 –

関連する問題