繁体   English   中英

使用 AWS lambda [CDK] 访问 S3 中的对象

[英]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 个选择:

  1. 使用由 cloudwatch 事件触发的相同 lambda 来处理 S3 中的文件。

  2. 使用由 cloudwatch 事件触发的 lambda 读取 S3 中的文件并将 object 详细信息传递到队列。 另一个 lambda function 可用于查询队列以进一步处理文件。 队列可以是 SNS 或 SQS,具体取决于用例。

在这里查看架构: https://youtu.be/43PhZC3WD8s?t=967用于选项 2。不完全相同的用例,但可能有用!

暂无
暂无

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

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