API Gateway を Swagger 形式でエクスポートする方法を教えてください
困っていた内容
Amazon API Gateway に関する問い合わせでサポートに確認したところ「Swagger + API Gateway Extensions の YAML 形式でエクスポートしたファイルをご提供ください」と言われましたが、取得方法がわかりません。取得方法を教えてください。
どう対応すればいいの?
API Gateway コンソールの場合は「ステージ」の「エクスポート」タブから取得できます。
AWS CLI の場合はget-exportコマンドから取得できます。
参考:API Gateway から REST API をエクスポートする - Amazon API Gateway
API Gateway コンソールの場合
API Gateway コンソールを開き、取得対象の API をクリック
ステージ -> 取得対象のステージ -> エクスポートタブの順にクリック
「Export as...」はSwagger
を選択し、「Swagger +API Gateway 拡張の形式でエクスポート」のYAML
をクリック
指定した形式でファイルがエクスポートされます。
--- swagger: "2.0" info: description: "Technical Support Notes" version: "2022-01-01T01:01:01Z" title: "hato-apigw" ...
AWS CLIの場合
get-exportコマンドを実行すると、指定したファイル名でエクスポートされます。
$ aws apigateway get-export \ --parameters extensions='apigateway' \ --rest-api-id 【API ID】 \ --stage-name 【ステージ名】 \ --export-type swagger \ --accepts "application/yaml" \ 【出力ファイル名】 { "contentType": "application/octet-stream", "contentDisposition": "attachment; filename=\"swagger_2022-01-01T01:01:01Z.yaml\"" }