API Gateway を Swagger 形式(API Gateway 拡張機能あり)でエクスポートする方法を教えてください

API Gateway を Swagger 形式(API Gateway 拡張機能あり)でエクスポートする方法を教えてください

Clock Icon2024.11.29

困っていた内容

Amazon API Gateway(REST API)に関する問い合わせでサポートに確認したところ「Swagger + API Gateway 拡張機能ありの YAML 形式でエクスポートしたファイルをご提供ください」と言われましたが、取得方法がわかりません。取得方法を教えてください。

どう対応すればいいの?

API Gateway コンソールの場合は「ステージ」の「ステージアクション」から「エクスポート」で取得できます。

AWS CLI の場合はget-exportコマンドから取得できます。

参考:API Gateway から REST API をエクスポートする - Amazon API Gateway

API Gateway コンソールの場合

API Gateway コンソールを開き、取得対象の API を選択

API Gateway Export Of Swagger 1

「ステージ」から取得対象のステージ名を選択

API Gateway Export Of Swagger 2

「ステージアクション」の「エクスポート」を選択

API Gateway Export Of Swagger 3

次の値を指定して「API をエクスポート」の選択

  • API 仕様タイプ:Swagger
  • 形式:YAML
  • 拡張機能:API Gateway 拡張機能ありでエクスポート

API Gateway Export Of Swagger 4

指定した形式でファイルがエクスポートされます。

---
swagger: "2.0"
info:
  description: "Technical Support Notes"
  version: "2024-11-29T01:02:03Z"
  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_2024-11-29T01:02:03Z.yaml\""
}

参考資料

Share this article

facebook logohatena logotwitter logo

© Classmethod, Inc. All rights reserved.