【问题标题】:AWS add Lambda to SQS Queue programmaticallyAWS 以编程方式将 Lambda 添加到 SQS 队列
【发布时间】:2021-07-15 13:12:18
【问题描述】:

我正在以编程方式为我的每个客户创建 SQS 队列。现在我想向该 SQS-Queues 添加一个已经创建的 Lambda 触发器。这可能吗,还是我必须通过 AWS 控制台手动添加这些 Lambda?我没有找到任何有用的文档。

谢谢

【问题讨论】:

  • 您可以在控制台中执行的所有操作都使用可用于编程访问的 AWS API。 CreateEventSourceMapping 在你的情况下。
  • @luk2302 不。您无法使用 API 在启用了默认存储桶加密的存储桶中将加密的 S3 对象设为未加密。
  • 谢谢你们! @luk2302 CreateEventSourceMapping 正是我所需要的!现在可以了。

标签: php amazon-web-services lambda amazon-sqs


【解决方案1】:

您无法将 Lambda 添加到 SQS-Queue,但可以将 SQS-Queue 添加到现有 Lambda。例如:

$lambdaClient = new LambdaClient([
                    'region'      => ***REGION***,
                    'version'     => 'latest',
                    'credentials' => [
                        'key'    => ***KEY***,
                        'secret' => ***SECRET***,
                    ]
                ]);
                
                $createEventSourceMapping = $lambdaClient->createEventSourceMapping([
                    'BatchSize'      => 10,
                    'EventSourceArn' => ***ARN-OF-SQS-QUEUE***,
                    'FunctionName'   => ***FUNCTION NAME OF LAMBDA***
                ]);

【讨论】:

  • “您不能将 Lambda 添加到 SQS-Queue,但可以添加 SQS-Queue” - 是的,因为对于某些服务,Lambda 服务本身实现轮询、订阅和调用 lambda 函数。但对于其他服务,例如S3 那个服务本身需要触发lambda。
猜你喜欢
  • 2020-04-27
  • 2016-04-13
  • 2018-09-24
  • 2020-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-10-24
相关资源
最近更新 更多