2016-06-18 10 views
1

API-Gatewayへのリクエストが参照URLをLambdaに渡すことは可能ですか?たとえば、リクエストがドメイン「good.com」と「bad.com」のどちらから来たのかをラムダ関数に知らせたいと思っています。AWS API Gateway:Pass Referrer URL

私はsupported $context Variablesのリストをよく知っていて、私はリファラーURLがそこにないことを知っています。私は別の方法があるのだろうかと思っています。可能であれば、どのような措置を講じる必要がありますか?

答えて

2

ここでその方法を説明します。

  1. 結局のところ、マッピングテンプレートだけではなくlist of supported variables in the documentation、あなたがHTTP headersをマッピングすることができます。

  2. 参照元ドメインを含むHTTPヘッダーを「発信元」と呼びます。リファラーページのURLを含むヘッダーは、「Referer」と呼ばれます。

  3. したがって、たとえば、あなたがマッピングテンプレートでこれを置くことができ、それが関連するヘッダ情報をつかむだろう:

    { 
    "origin" : "$input.params('origin'), 
    "referer" : "$input.params('referer')" 
    } 
    

起源は、example.comをつかみます。 Referer graves example/pagename

+0

原点とリファラーヘッダーのnull値が返されます。 "$ input.params( 'something')は他のHTTPカスタムヘッダーでも機能しますが。すべてのヒント? – bazaglia

+0

@bazaglia上のコードに構文エラーがあるようです。原点値の二重引用符がないため、おそらくエラーになります。これを試してみてください: '{ " origin ":" $ input.params( 'origin') "、 " referer ":" $ input.params( 'referer') " } – Jordie

1

これはHTTPヘッダーなので、HTTPヘッダーをテンプレートにマッピングする場合は、ラムダ関数に渡されます。要求テンプレートにHTTPヘッダーをマップする方法の例については、this answerを参照してください。

+0

チップをありがとう。それは私が質問に答えるのを助け、私は以下の特定の答えを共有しました。 – user3303554

関連する問題