AWS Lambda - 访问API网关API密钥信息

时间:2016-12-15 14:35:03

标签: amazon-web-services aws-lambda aws-api-gateway

从AWS Lambda和API Gateway开始,创建了一个小功能,通过API网关使用API​​密钥公开。

一切都很好 - 我可以看到apiKey通过了。我想要做的是使用该API密钥加载我在API网关中存储的信息。

我的想法是,我可以在API网关中创建新的API密钥,并在描述框中放置一个电子邮件地址。当第三方使用他们的密钥调用我的API时,我希望AWS Lambda能够通过加载针对API密钥存储的详细信息并使用AWS SES发送电子邮件来从描述字段获取此电子邮件地址。

这可能吗?

2 个答案:

答案 0 :(得分:0)

正如您在评论中已经提到的,您可以使用Amazon API Gateway REST API来获取此信息。请注意,Amazon API Gateway REST API是用于管理API的控制平面API。因此,它不能扩展到针对已部署API的调用请求级别。 Amazon API Gateway REST API实施了相当低的速率限制,无法增加它们。如果您需要大规模地执行此操作,那么您最好在DynammoDB,RDS或Aurora中自行管理信息。

答案 1 :(得分:0)

您应该能够使用AWS CLI从Lambda中访问API密钥信息(要发送的参数是API密钥ID,而不是密钥值本身): http://docs.aws.amazon.com/cli/latest/reference/apigateway/get-api-key.html

根据您用来调用API的方法,您必须找到一种方法来查找调用的API-Key-ID,以执行CLI命令。