AWSのAPI Gatewayで任意のパスでアクセスしたい
"/"の直下にメソッドを追加するだけだとAPI GatewayのURLにパスを
{ステージ名}/dir1/dir2/dir3/file.txt
のように足しても正しくアクセスできない。
通常のリソースの作成やメソッドの設定と違うところをまとめる:
- リソースの作成
-
- プロキシリソースとして設定する
- 有効にする。
-
自動でリソース名とリソースパスが入力される:
- リソース名
- proxy
- リソースパス
- {proxy+}
- /{proxy+} - ANY - セットアップ
- 自動でメソッドをANYにされるが、後で別のメソッドで作ってもよい。
-
- エンドポイントURL
- 末尾に"{proxy}"をつける。
手順に沿ってリソースを追加すると、自動で入れられる項目がある:
- 統合リクエスト
-
- URLパスパラメータ
- エンドポイントURLにつけた{proxy}を解釈し、パスを保ってアクセスできる。
-
- 名前
- proxy
- マッピング元
- method.request.path.proxy
- メソッドリクエスト
-
- リクエストパス > proxyのキャッシュ
- 有効になっているが、無効でもよい。
手順に従うと自動で入れられるリソースパスは{proxy+}だったが、"proxy"が特別視されるわけでない。
"proxy"は別の文字列でもよい。
2019/08/16 09:44