amazon-web-services - 如何在 AWS lambda 函数中获取 API 网关 URL?
问题描述
我有一个使用 API URL 调用 lambda 函数的场景。调用 lambda 函数后,我想要 lambda 函数中的特定 URL。
https://******.execute-api.eu-west-1.amazonaws.com/test/first
https://******.execute-api.eu-west-1.amazonaws.com/test/second
从这个 URL,我想要在 lambda 中命名为 first 或 second 的资源。这里的测试是我部署 API 的阶段名称。我创建了多个资源,我想更改 lambda 的行为。我怎么能这样做?任何帮助,将不胜感激。
解决方案
events
您可以根据 Lambda 函数变量中的值重建完整的 url 。
events['headers']['Host'] = '******.execute-api.eu-west-1.amazonaws.com'
events['requestContext']['stage'] = 'test'
events['path'] = '/first'
所以总的来说,你可以https://******.execute-api.eu-west-1.amazonaws.com/test/first
把它们加在一起:
'https://' + events['headers']['Host'] + '/' + events['requestContext']['stage'] + events['path']
有关您可以从 events 变量中获得的其他信息的详细信息,请参阅 AWS 文档的Lambda 代理集成部分。
推荐阅读
- javascript - 向对象添加新数组
- sql - 我只是下载 Microsoft SQL 以使用它以及使用 Docker,但是当我尝试编写命令“sqlcmd”时出现错误
- node.js - 修复 Node.js 版本问题“请尝试重新编译或重新安装”
- mysql - MySQL 加入表然后按慢速排序
- azure-app-service-envrmnt - 工藤显示额外的过程
- sql - 带有子字符串的 SQL/400 更新
- javascript - Next.js 中的动态嵌套路由
- amazon-route53 - 使用 Amazon Route 53 我不知道如何从 mydomain.example 创建别名以阅读文档的 readthedocs.io
- c - 为什么我无法从此 C 代码访问在程序集中声明的 Tss 变量?
- wso2 - 在 Wso2 XACML 中获取如何获取自定义属性