【问题标题】:CSV to AWS to DynamoDB on a scheduled basis按计划将 CSV 到 AWS 到 DynamoDB
【发布时间】:2019-03-16 04:54:22
【问题描述】:

如果可能,我想就安排 CSV 文件按计划上传到 DynamoDB 的最佳方式征求您的反馈和意见。

我们有一个从 CRM 导出的姓名列表(导出的 CSV 列表每天都会更新,如果我们从 CRM 中删除姓名,它会缩小)

我们每天通过 SFTP 接收 CSV 文件,我想将其上传到 DynamoDB 以在我们的云程序中使用。我对 AWS 服务非常陌生,在我的工作场所也是新手,经过一些研究后,我认为我可以使用如下流程:

AWS Transfer for SFTP -> S3 Bucket -> (Schedule) ->DynamoDB

对于我正在考虑使用 Data Pipeline 或计划的 Lambda 操作的计划。

期待您的回复和建议,如果我能提供更多信息,请告诉我。

【问题讨论】:

    标签: amazon-web-services csv amazon-dynamodb


    【解决方案1】:

    您的方法已经设计得很好。您仍然可以优化一个细节,这就是您的 AWS Lambda 函数被触发的方式。您提到了数据管道或计划函数调用,但更好更简单的方法是使用S3 Events to trigger your AWS Lambda function。这样,您就可以在新对象到达 S3 时触发您的 AWS Lambda 函数。

    如果您使用 AWS SAM 预置您的 AWS 资源,SAM Github 存储库中有一个针对该用例的示例:https://github.com/awslabs/serverless-application-model/blob/master/examples/2016-10-31/s3_processor/template.yaml

    【讨论】:

    • 非常感谢 Dunedan,当新文件到达 S3 时,我一定会使用 S3 Event 来触发 AWS Lambda 函数。我不知道 AWS SAM 来预置资源。非常感谢您分享链接和知识,我将学习它。关于将 CSV 上传到 DynamoDB,我看到了一个:youtube 使用 Boto3。您有什么建议,或者可以建议/反对吗?
    • Python 和 boto3 是我首选的 AWS Lambda 函数组合,听起来它也适合您的用例。虽然您可以使用一个库来抽象出与 DynamoDB 交互的一些细节(如 PynamoDB),但我不建议将其用于您的用例,因为它可能需要更多的努力来设置并限制您正确使用某些 DynamoDB 功能的能力。
    • 太好了,非常感谢 Dunedan,我将使用 Python 和 boto3。衷心感谢您的帮助和指导。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-11-23
    • 1970-01-01
    • 2021-08-15
    • 1970-01-01
    • 2019-07-13
    • 2017-07-21
    • 1970-01-01
    相关资源
    最近更新 更多