AWS Lambda 函数从 S3 读取并写入 Elastic Cache

AWS Lambda function to read from S3 and write to Elastic Cache

我必须使用两个单独的 Lambda 函数 - 一个用于从 S3 存储桶读取文件并写入 memcache 集群。他们单独工作得很好。但是,我无法'merge'将它们组合在一起。

首先,从 S3 读取的函数在 'No VPC' 设置下起作用,而写入 Elastic Cache 的函数仅在函数和集群位于同一 VPC 中时起作用。

其次,从 S3 读取的函数只应用了 AmazonS3FullAccess 策略。虽然我现在也应用了 AWSLambdaVPCAccessExecutionRole,但由于上述 VPC 差异,我不确定此设置是否有效。

AWS Step 函数是答案吗?如何构建从 S3 读取文件并写入 Elastic Cache 集群的无服务器应用程序?

您不需要步骤函数。 运行 使用 ElastiCache 集群的 VPC 中的函数。将 S3 端点添加到您的 VPC 或 NAT 网关。 S3 端点是最简单的解决方案。然后您的函数将可以访问 ElastiCache 和 S3。

对于 IAM 角色,您需要进入 IAM 并创建一个具有 AWSLambdaVPCAccessExecutionRole 权限以及必要的 S3 权限的新角色。如有必要,您可以将多个策略分配给一个角色。然后将该角色分配给 Lambda 函数。