从AWS Lambda和API Gateway开始,创建了一个小功能,通过API网关使用API密钥公开。
一切都很好 - 我可以看到apiKey通过了。我想要做的是使用该API密钥加载我在API网关中存储的信息。
我的想法是,我可以在API网关中创建新的API密钥,并在描述框中放置一个电子邮件地址。当第三方使用他们的密钥调用我的API时,我希望AWS Lambda能够通过加载针对API密钥存储的详细信息并使用AWS SES发送电子邮件来从描述字段获取此电子邮件地址。
这可能吗?
答案 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命令。