从AWS Lambda调用AWS API网关 [英] Calling AWS API Gateway from AWS Lambda
本文介绍了从AWS Lambda调用AWS API网关的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
场景为:
- 我有一个睡觉接口网关,它在被触发时会调用lambda,后者处理请求并返回响应。
- 此API终结点是公共的。
- 我还有另一个lambda,它将调用此API网关/端点并从其获取响应。
现在查询:
- 我和其他API一样,直接调用API的调用url。那么这样做对吗?
- 当我将调用URL放入浏览器地址栏时,它提供的身份验证令牌缺失。
- 在调用lambda时如何实际调用url,我的意思是如何传递令牌;在Node.js中?
谢谢😊
推荐答案
嗯,问题相当广泛。我正在尝试尽可能多地回答。
首先,您现在遵循的睡觉API-&>lambda的设计,叫做‘集成类型’是‘lambda函数’,使用的是‘使用lambda代理集成’。
通读一下文档,我相信您会理解此模型的输入和输出。在较高级别,此模型API Gateway通过请求和响应传递,您(Lambda)将处理所有事情。问题1: 我直接调用API的调用URL,就像调用任何其他API一样。那么这是正确的做法吗?
[回答]此模式没有问题。是的,您可以将此接口(Lambda Proxy)作为任意睡觉接口调用。
问题2: 当我将调用url放入浏览器地址栏时,它给出了缺少的身份验证令牌
[应答]请检查您的接口设置。如下面的屏幕截图所示,我的API使用Cognito作为授权器。这意味着消费者在调用接口时需要提供‘Token’(例如OAuth2)。您可以使用Lambda authorizer或Cognito authroizer。由你决定。 如果您不需要任何授权者,则可以将其设置为None,以便您的API不需要身份验证令牌。
简而言之,您现在收到的消息表示您的API具有"Authorizer",并且您没有随请求一起发送令牌。
问题3: 在调用lambda时如何实际调用url,我的意思是如何传递令牌;在Node.js中?
这很常见。你可以在谷歌上搜索一下‘OAuth2 in Node.js’,它会给你提供大量的例子
https://stormpath.com/blog/talking-to-oauth2-services-with-nodejs
我希望这会有帮助。否则,请留下您的评论和问题。
谢谢,
这篇关于从AWS Lambda调用AWS API网关的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文