Amazon web services 按需AWS EMR群集的自动化-在AWS CLI上使用Python(boto3)

Amazon web services 按需AWS EMR群集的自动化-在AWS CLI上使用Python(boto3),amazon-web-services,command-line-interface,boto3,emr,Amazon Web Services,Command Line Interface,Boto3,Emr,我们正在自动启动按需电子病历集群。这将在AWS S3中的某些文件到达时触发。在这方面,我们正在评估两种选择: 1.将调用AWS CLI以启动所需EMR群集的Shell脚本 2.将调用EMR方法的Python脚本开始,停止使用boto3 使用一个选项是否比使用另一个选项更可取? 前者看起来更容易,因为我们可以从AWS控制台从手动创建的EMR获取CLI,并将其打包到shell脚本中。虽然后一个选项很复杂,没有这样一个起点,方法必须从头开始编写 感谢您在这方面的投入。虽然两者都可以实现您想要的,但我建

我们正在自动启动按需电子病历集群。这将在AWS S3中的某些文件到达时触发。在这方面,我们正在评估两种选择: 1.将调用AWS CLI以启动所需EMR群集的Shell脚本 2.将调用EMR方法的Python脚本开始,停止使用boto3

使用一个选项是否比使用另一个选项更可取? 前者看起来更容易,因为我们可以从AWS控制台从手动创建的EMR获取CLI,并将其打包到shell脚本中。虽然后一个选项很复杂,没有这样一个起点,方法必须从头开始编写


感谢您在这方面的投入。

虽然两者都可以实现您想要的,但我建议使用Lambda(Python)

在需要数据的S3位置创建一个事件触发器——这将调用lambda(python代码),lambda可以反过来启动EMR

s3->lambda->EMR

另一个选项是从lambda触发一个数据管道,它将为您创建EMR

s3->lambda->pipeline->EMR

使用管道与lambda创建EMR的优势

  • 基于GUI:您可以选择所需的组件,如资源、活动、时间表等
  • 最小Python:在lambda中,您只需配置要触发的管道,不需要实现错误处理、重试、成功或失败电子邮件等。所有这些都内置在管道中
  • 灵活:由于管道组件是模块化和可配置的,因此您可以快速更改任何配置。代码更改通常需要更多的时间
你可以在这里阅读更多关于它的信息-