首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >远程运行Python代码(Boto3) (AWS)

远程运行Python代码(Boto3) (AWS)
EN

Stack Overflow用户
提问于 2019-05-21 03:04:03
回答 1查看 169关注 0票数 1

我有将项目从一个s3存储桶移动到另一个存储桶的代码。我正在本地计算机上运行它。但是,由于存储桶中的项目很多,因此需要很长时间才能完成运行。

代码语言:javascript
复制
import boto3
#Get resource
s3 = boto3.resource('s3')
#Get reference to buckets
src = s3.Bucket('src')
dst = s3.Bucket('dst')

#Iterate through the items in the source bucket
for item in src.objects.all():
    #Creates a copy of the item?
    copy_source = {
        'Bucket' : 'src',
        'Key' : item.key
    }
    #Places the copy of the item in the destination bucket
    dst.copy(copy_source,'Images/'+item.key)

有没有办法让我可以远程运行这段代码,这样我就不必监视它了?我尝试过AWS lambda,但它的最大运行时间为15分钟。有没有类似的东西我可以用更长的时间。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-21 03:38:29

你可以使用Data Pipeline。数据管道会产生一个EC2实例,您可以在该实例中运行作业。您可以安排管道至少每15分钟运行一次。(但不是更少)也可以选择创建一个您可以按需运行的管道。它还提供了一个控制台,您可以在其中查看作业及其结果,并有机会重新运行失败的作业。

对于这类活动,您可能应该使用以下代码:

https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-shellcommandactivity.html

另一种选择是启动一个EC2实例,运行作业,然后停止它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56226742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档