如何在AWS之外调用AWS Lambda

时间:2017-03-31 06:20:04

标签: http amazon-web-services aws-lambda

这是一个非常基本的问题,但我无法找到它:如何在不使用EC2实例或类似的必须全天候运行的情况下通过https调用lambda。这样我就可以通过应用程序,CURL或支持http的每个工具调用我的方法。

我发现了一些网关API的引用,但我不知道如何调用它们。我还需要设置一些访问权限吗?我是否可以设置访问控制,还是需要在lambda中实现?

3 个答案:

答案 0 :(得分:2)

当您访问其API时,AWS并不关心代码的运行位置。

服务端点都可以通过Internet访问。

从"内部,"访问API没有什么不可思议的。因为在最合乎逻辑的意义上,当您在EC2上运行代码时,这并不是您正在做的事情。

从技术上讲,API请求总是转到Internet。如果您正在访问同一AWS区域内的AWS服务,您的请求仍然会在逻辑上传到Internet,即使您的应用程序和API端点之间的流量实际上从未离开AWS IP基础架构......但如果您有EC2无法访问互联网的实例,也无法访问服务API端点。

(如果您配置了S3 VPC端点,则存在一个例外,但这是您必须配置的,并且它只允许访问同一区域内的S3存储桶。)

相同的代码,无需修改,应该在内部和外部工作。

答案 1 :(得分:1)

您可以使用APICLI执行此操作 API方式非常耗时,但通常更加强大和可维护。

答案 2 :(得分:0)

我假设您已将API网关与Lambda连接,并且测试调用按预期工作。您缺少的最后一步是部署。您必须部署API网关才能从外部调用它。在“ API网关”部分中,单击“操作”按钮,然后单击“部署API”。部署后,您将收到一个URL,可以通过CURL调用该URL来调用Lambda。 希望对您有所帮助。