Amazon web services 将aws lambda公开使用

Amazon web services 将aws lambda公开使用,amazon-web-services,aws-lambda,boto3,Amazon Web Services,Aws Lambda,Boto3,有没有办法向公众公开某些lambda函数?我知道这可以通过API网关实现,但我希望避免使用该服务 基本上,我正在编写一个python脚本,它使用了一些bot3函数。问题是,使用其中一些证书的唯一方法是创建一个会话,该会话在代码中包含我不想要的AWS凭据。我使用的lambda函数不是“不安全的”(它们不与任何其他东西交互),因此公开它们不会有太大问题 我的计划是能够使用invoke()调用带有bot3库的lambda函数,它只需要函数name或ARN就可以工作(以及有效负载) 另外,您可以直接向l

有没有办法向公众公开某些lambda函数?我知道这可以通过API网关实现,但我希望避免使用该服务

基本上,我正在编写一个python脚本,它使用了一些
bot3
函数。问题是,使用其中一些证书的唯一方法是创建一个会话,该会话在代码中包含我不想要的AWS凭据。我使用的lambda函数不是“不安全的”(它们不与任何其他东西交互),因此公开它们不会有太大问题

我的计划是能够使用
invoke()
调用带有
bot3
库的lambda函数,它只需要函数
name
ARN
就可以工作(以及
有效负载


另外,您可以直接向lambda端点发送HTTP/HTTPS请求吗?或者必须通过前面提到的API网关。

Lambda函数只能通过“”API调用执行。此API调用可以通过三个选项进行-

  • 通过另一个AWS服务,将其添加为触发器—API网关、S3、CloudWatch等
  • SDK(boto3、节点等)或AWS CLI
  • 通过控制台的“测试”按钮
  • 要回答您的问题,您可以使用boto3,而不需要在代码中显式传递凭据。如果您在运行Python代码的计算机上配置了AWS CLI,则可以如上所述创建boto客户端或会话


    最后,Lambda没有HTTP/HTTPS端点。可以将其视为EC2实例,但其IP地址不为您所知(它是的一部分,但可以是任意值)。通过HTTPS端点调用Lambda的唯一方法是使用API网关。

    您确实需要API网关,因为它允许匿名访问。此外,它还可以设置为限制吞吐量/调用次数,这样您就不会在醒来时发现有人调用了您的API 10^10次,并且为此向您收费。根据您的使用情况,小型EC2可能更简单、更便宜。谢谢您的推荐!