Python 如何为具有多个用户的数据项目设置AWS管道

Python 如何为具有多个用户的数据项目设置AWS管道,python,amazon-web-services,amazon-s3,amazon-ec2,Python,Amazon Web Services,Amazon S3,Amazon Ec2,我正在将一个完全用python编写的公司内部工具转移到AWS生态系统中,但在找出正确的方法来设置数据以使其保持有序方面遇到了问题。该工具被公司内的所有人使用,每个人都在自己的数据集上运行该工具(大小从几兆字节到几千兆字节不等)。目前,用户将代码克隆到本地机器上,然后在本地数据上运行该工具;我们现在正试图将这种用法转移到云上 对于一个人来说,让他们将数据上传到s3,然后将python代码指向该数据以运行该工具非常简单,但我担心随着越来越多的人开始使用该工具,s3存储将变得杂乱无章 此外,每个人都可

我正在将一个完全用python编写的公司内部工具转移到AWS生态系统中,但在找出正确的方法来设置数据以使其保持有序方面遇到了问题。该工具被公司内的所有人使用,每个人都在自己的数据集上运行该工具(大小从几兆字节到几千兆字节不等)。目前,用户将代码克隆到本地机器上,然后在本地数据上运行该工具;我们现在正试图将这种用法转移到云上

对于一个人来说,让他们将数据上传到s3,然后将python代码指向该数据以运行该工具非常简单,但我担心随着越来越多的人开始使用该工具,s3存储将变得杂乱无章

此外,每个人都可能对python工具进行轻微更改,以便对其数据进行自定义工作。我们的代码托管在bitbucket服务器中,用户将为他们的定制工作提供回购协议

我的问题是:

  • S3和EC2是支持此类项目所需的唯一AWS工具吗
  • 用户上传数据、运行代码、然后下载结果的正确方式是什么,以便数据在S3中保持有序
  • 在这种情况下使用EC2的最佳实践是什么?人们通常会为每一个作业创建一个新的EC2吗?或者在一个EC2上调度多个作业是否更有效
  • 有没有一种方法可以自动化数据上传过程,使用户无需知道如何编码就可以轻松地在数据上运行代码

  • 如果任何人对如何建立该项目有任何意见,或有任何相关指南/文件的链接,将不胜感激。谢谢

    你可以这样做

    a) A boto3 script to upload s3 data to specified bucket with maybe 
       timestamp appended to it.
    
    b) Configure S3 bucket to send notification over SQS when a new item comes
    
    c) Keep 2-3 EC2 machines running actively listening to SQS.
    
    d) When a new item comes, it gets key from SQS.Process it.
      Delete event from SQS after successful completion.
    
    e) Put processed data in some place, delete the key from Bucket.
       Notify user through mail.
    
    对于自定义用户,他们可以创建一个新分支,并在上载的数据中提供它,ec2从那里读取它并签出所需的分支。完成作业后,可以删除该分支。这可以是一行,上面有分支名称。这将涉及一次设置。您可能应该在EC2上使用一些流程管理器,如果流程崩溃,它将重新启动流程