[小ネタ] API Gateway でデプロイ済みの内容を確認する方法

ステージセクションのステージ名左横の三角アイコンをクリックすると、デプロイ内容が確認できます
2023.06.08

アノテーション・テクニカルサポートチームの hato です。

API Gateway の REST API では一部変更に再デプロイが必要ですが、
「この変更はデプロイ済みだっけ?」となった際に備えてデプロイ済みの内容を確認する方法を調べてみました。

最初にまとめ

少なくとも二つの方法があるようです。

  1. ステージセクションを確認する方法
  2. エクスポートした内容を確認する方法

①ステージセクションを確認する方法は、ステージ名左横の三角アイコンから確認する方法です。

②エクスポートした内容を確認する方法は、同じくステージセクション内の「エクスポート」タブからエクスポートしたファイルを確認する方法です。

エクスポートの場合は AWS CLI のget-exportコマンドでもエクスポートできます。

参考:API Gateway を Swagger 形式でエクスポートする方法を教えてください | DevelopersIO

確認してみた

「ステージセクションを確認する方法」をやってみます。
まず、再デプロイが必要になるリソース(/resources03)を追加します。

この状態ではまだリソースはデプロイされていないので、リクエストするとMissing Authentication Tokenが発生します。

$ curl -X POST https://abcdef123.execute-api.ap-northeast-1.amazonaws.com/prod/resources03
{
  "message": "Missing Authentication Token"
}

API Gateway REST API 403「Missing Authentication Token」(認証トークンが見つかりません) エラーを解決する | AWS re:Post

API リクエストが、存在しないメソッドまたはリソースに対して行われた。

次に「ステージ」セクションのデプロイ対象のステージ名左横の三角アイコンをクリックします。

追加したリソース(/resources03)が表示されず、デプロイ済みの内容が確認できます。

最後にデプロイを行い内容が反映されることを確認します。
アクションから「API のデプロイ」を選択して、

デプロイを行います。

再度「ステージ」セクションに戻ると、追加したリソース(/resources03)の表示が確認でき、

先ほどはMissing Authentication Tokenになったリクエストも、設定した内容で成功します。

$ curl -X POST https://abcdef123.execute-api.ap-northeast-1.amazonaws.com/prod/resources03
{
  "statusCode": 200,
  "message": "Hello, world!"
}

最後に

この記事が誰かのお役にたてば幸いです。

参考資料

アノテーション株式会社について

アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。