Как узнать собственный домен, к которому привязана моя лямбда? - PullRequest
0 голосов
/ 15 октября 2018

У меня есть лямбда-функция, у которой есть URL-адрес api-шлюза.Кроме того, у меня есть URL-адрес настраиваемого домена, связанный с ним в CloudFront (https://abc.def.com/ghi).. Я могу получить доступ к своей лямбде с помощью настраиваемого домена. Теперь в качестве требования я должен возвращать URL-адрес настраиваемого домена из функции лямбды как частьответ JSON. Таким образом, мое тело ответа от лямбды должно выглядеть так:

    {
    "response": "hi i am coming from lambda",
    "myurl": "https://abc.def.com/ghi"
    }

Как мне перехватить URL-адрес внутри лямбда-функции? PS: Я использую среду узла 8.10.

1 Ответ

0 голосов
/ 15 октября 2018

Во-первых, я бы оспаривал требование.ИМХО не имеет смысла возвращать URL-адрес домена клиенту как часть ответа, так как он уже знает его (иначе он не сможет выполнить запрос в первую очередь).

При этомОдин из способов решения вашей проблемы - передать URL-адрес пользовательского домена в виде Лямбда-переменной среды .Если вы настроили приложение с помощью AWS SAM / CloudFormation, вы передаете значение как часть свойства Environment , например, при использовании SAM:

ExampleLambda:
  Type: AWS::Serverless::Function
  Properties:
    Runtime: nodejs8.10
    CodeUri: .
    Handler: index.handler
    Environment:
      Variables:
        CUSTOM_DOMAIN_URL: !Sub CustomDomainUrl

Then CUSTOM_DOMAIN_URL будет доступен в качестве переменной среды в вашей среде выполнения Lambda:

const CUSTOM_DOMAIN_URL = process.env.CUSTOM_DOMAIN_URL;

А затем вы просто добавите ее в свой объект ответа.

...