![](/img/trans.png)
[英]Create VPC endpoint for S3 bucket lambda access using AWS CDK
[英]Access objects in S3 using AWS lambda [CDK]
我的用例是每天触发 AWS lambda,这可以通过 cloudwatch 触发,每次触发 lambda 时,我都必须访问 S3 中的特定位置(前缀)。
此位置包含许多文件,我必须分别处理这些文件。 这可以通过 AWS-CDK 实现吗?
我试图在线检查,但找不到任何解决方案来解决我的用例
PS:Lambda 不应由 S3 触发
您可以创建 2 个具有 S3 存储桶读取权限的 lambda。
Lambda1:每天都会被 CloudWatch/EventBridge 事件触发。 它将读取所有文件并推送所有需要在 SNS 中处理的 object 详细信息。
Lambda2 将由 SNS 触发,它将单独处理所有文件。
S3 中的特定位置(前缀)是固定的还是可以在应用程序的生命周期内更改?
根据您的用例,您可能希望对由 cloudwatch 事件触发的 lambda 中的前缀进行硬编码,或者将前缀存储在 dynamodb 之类的数据库中,并在 lambda 之后使用 Z945F3FC449518A73CZ 查询数据库。
之后,您有 2 个选择:
使用由 cloudwatch 事件触发的相同 lambda 来处理 S3 中的文件。
使用由 cloudwatch 事件触发的 lambda 读取 S3 中的文件并将 object 详细信息传递到队列。 另一个 lambda function 可用于查询队列以进一步处理文件。 队列可以是 SNS 或 SQS,具体取决于用例。
在这里查看架构: https://youtu.be/43PhZC3WD8s?t=967用于选项 2。不完全相同的用例,但可能有用!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.