繁体   English   中英

如何在 AWS 之外调用 AWS Lambda

[英]How to call a AWS Lambda outside of AWS

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

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

您可以使用APICLI 来完成。API 方式将是耗时的,但通常更健壮和可维护。

当您访问其 API 时,AWS 并不关心您的代码在哪里运行。

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

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

从技术上讲,API 请求总是发送到 Internet。 如果您正在访问同一 AWS 区域内的 AWS 服务,即使您的应用程序和 API 终端节点之间的流量实际上从未离开 AWS IP 基础设施……但如果您有 EC2无法访问 Internet 的实例,那么它也无法访问服务 API 端点。

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

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

您还可以将专用的 URL 直接分配给您的 Lambda,而无需使用 API 网关。

https://docs.aws.amazon.com/lambda/latest/dg/urls-invocation.html

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM