首页 文章

如何在AWS lambda函数中获取API网关URL?

提问于
浏览
1

我有一个场景,我使用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的行为 . 我怎么能这样做?任何帮助,将不胜感激 .

1 回答

  • 0

    您可以从Lambda函数的 events 变量中的值重建完整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']
    

    有关您从事件变量中获得的其他信息的详细信息,请参阅AWS文档的Lambda Proxy integration部分 .

相关问题