gpt4 book ai didi

node.js - 如何知道我的 lambda 绑定(bind)到的自定义域?

转载 作者:太空宇宙 更新时间:2023-11-03 22:59:01 25 4
gpt4 key购买 nike

我有一个 lambda 函数,它有 api-gateway URL。另外,我在 CloudFront 中有一个与之关联的自定义域 URL ( https://abc.def.com/ghi )。我可以使用自定义域访问我的 lambda。现在,根据要求,我应该从 lambda 函数返回自定义域 URL,作为 JSON 响应的一部分。所以我的 lambda 响应正文应该如下所示:

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

如何获取 lambda 函数内的 URL?PS:我使用的是node 8.10环境。

最佳答案

首先,我会质疑这个要求。恕我直言,将域 url 作为响应的一部分返回给客户端是没有意义的,因为客户端已经知道它(否则它将无法首先发出请求)。

也就是说,解决问题的一种方法是将自定义域 URL 作为 Lambda environment variable 传递。 。如果您已使用AWS SAM设置您的应用程序/CloudFormation 您将值作为 Environment 的一部分传递属性(property),例如使用 SAM 时:

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

然后,CUSTOM_DOMAIN_URL 将在您的 Lambda 运行时中作为环境变量使用:

const CUSTOM_DOMAIN_URL = process.env.CUSTOM_DOMAIN_URL;

然后您只需将其添加到您的响应对象中即可。

关于node.js - 如何知道我的 lambda 绑定(bind)到的自定义域?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52823295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com