Lambda関数からのJSON出力をAPIGateway呼び出しのヘッダーにマッピングしようとしています。ここでの例として、リダイレクトシナリオを検討できます。そこで、APIGateway呼び出しからの応答にLocation
ヘッダーを追加したいと思います。
Lambda関数からのJSON出力:
{
Location: 'http://google.com'
}
「メソッド応答」->「応答ヘッダー」で、Location
ヘッダーを目的のHTTPステータスコードに追加できます。
次に、「統合応答」->「ヘッダーマッピング」で、Location
ヘッダーのマッピングをsomethingに追加できます。
今私の質問は、これ何かはどうあるべきかということです。
注:integration.response.header.Location
を試したか、「マッピングテンプレート」を使用しましたが、今のところうまくいきません。
現時点では不可能な可能性があります( https://forums.aws.Amazon.com/thread.jspa?messageID=651482 )が、API Gateway/Lambdaは進化しているため、とにかくすぐに聞いてみます。
今日(2015年9月25日)のAWS開発者フォーラムから、これはまだ可能ではありませんが、将来的に行われる可能性があります。
API Gatewayは現在、統合応答本文から応答ヘッダーへのマッピングをサポートしていませんが、将来的にはこれのサポートを追加する予定です。
2015年12月の編集:上記のリンク先のスレッドでのAWS従業員による投稿に従って追加された機能。それを指摘してくれた Peter Fox に感謝します。
本日(2016年1月)現在、ケースにintegration.response.body.Location
を指定するだけで機能します。
実際には、元の応答によって提供されたすべてのヘッダーにアクセスできるようです(Content-typeが含まれている場合は、次のように入力できます:integration.response.header.Content-type)。ただし、新しいヘッダーを追加する方法がわかりません(静的な場合を除く)。