我是AWS的新手,不知道如何执行以下操作。当我在S3中放置一个对象时,我想启动一个python脚本,该脚本进行一些转换并将其返回到S3中的另一个路径。我尝试了lambda函数,但是该过程需要300秒钟以上。我也用Glue作业尝试过它,但是当我将文件放入S3时我不知道如何触发它。
有人知道怎么做吗?也许我使用了错误的AWS工具。
答案 0 :(得分:0)
一种选择是使用SQS:
能否将Python处理分解为更小的步骤?如果可以让您的代码在Lambda限制内运行,我绝对建议您使用Lambda而不是管理EC2。
答案 1 :(得分:0)
您的问题的简单解决方案在这里: 既然您已经提到,您需要执行AWS Glue作业来执行此操作。而且,您所不知道的是将文件放置在s3中时如何触发粘合作业,我正在回答这个问题。 您可以使用boto3模块编写一个AWS lambda,该模块可以基于s3事件触发,并在lambda函数中设置setup.start_job_run命令。
response = client.start_job_run(
JobName='string')
https://boto3.readthedocs.io/en/latest/reference/services/glue.html#Glue.Client.start_job_run
注意::我坚信Glue是正确的工具,而不是lambda来满足您提到的要求,因为AWS lambda有超时限制。 300秒后将超时。