REST-APIとHTTP-APIのイベントペイロード名称


 一般的にはURL上のパスになります。REST-APIではリソースとなっており、event.resourceで取得しますが、HTTP-APIではその項目はなくevent.routekey(またはrrawPath)に表示されます。名称が異なるだけで内容としては同じものでした。

 以下、AWSへの問い合わせ内容です。
API Gateway の HTTP API におけるルートは、REST API の場合におけるリソースパスと HTTP メソッドに相当致します。
そのため、すでにご認識を頂いておりますように、HTTP API の Lambda 統合では、入力イベントに含まれる routeKey や rawPath を通じて REST API の入力イベントにおける resource や path と同様の値を取得頂けます。

  • HTTP API のルートの使用 – Amazon API Gateway
    https://docs.aws.amazon.com/ja_jp/apigateway/latest/developerguide/http-api-develop-routes.html
    (抜粋)
    「ルートは、HTTP メソッドとリソースパスという 2 つの部分で構成されます (例: GET /pets)。」

なお、routeKey や rawPath といった名称より、当該の HTTP API における Lambda 統合では、デフォルト設定であるペイロード形式バージョン 2.0 を選択頂いているものとお見受けをしておりますが、入力イベントに含まれるこれらの要素名は Lambda 統合で選択頂くペイロード形式バージョンに応じて異なります。
また、routeKey につきましては、REST API の場合における resource と同様に、API 上のルート設定に応じて、API クライアントからの具体的なリクエストパスではなく $default や {proxy+} といった複数のリクエストパスに合致し得る値が保持される場合がございます点にご注意をお願い申し上げます。


PAGE TOP