Dockerized Localstack EMR 步骤创建语法

问题描述 投票:0回答:0

我正在尝试在 Mac OS 上的 localstack 中运行一些应用程序。我能够创建集群,但在配置步骤时遇到一些问题。

理想情况下,我想使用 JSON 来配置我的步骤。当我跑

aws emr add-steps --cluster-id j-some-cluster --steps '[{"Name": "hello world","ActionOnFailure": "CONTINUE","Jar": "s3://hello-world.jar","Properties": "","Args": ["foo"],"Type": "CUSTOM_JAR"}]'

我的脚步创造了,EMR 很开心

{
    "StepIds": [
        "s-some-step-id"
    ]
}

然而,当我对我的 localstack 运行相同的命令时

aws --endpoint-url=http://localhost:4566 emr add-steps --cluster-id j-some-cluster --steps '[{"Name": "hello world","ActionOnFailure": "CONTINUE","Jar": "s3://hello-world.jar","Properties": "","Args": ["foo"],"Type": "CUSTOM_JAR"}]'

我得到以下错误-

调用 AddJobFlowSteps 操作时发生错误 (InternalError) (reached max retries: 2): exception while calling emr.AddJobFlowSteps: FakeStep.init() got an unexpected keyword argument 'hadoop_jar_step._properties.member.1._key'

我还可以使用其他语法在 localstack 上创建我的步骤 -

aws --endpoint-url=http://localhost:4566 emr add-steps --cluster-id j-localstack-cluster-id --steps 'Type=CUSTOM_JAR,Name="hello world",ActionOnFailure=CONTINUE,Jar=s3://hello-world.jar,Args=["foo"]'

所以看起来 localstack 出于某种原因不喜欢 JSON,这并不理想。任何想法如何让它工作?

编辑:码头工人吐出的文字墙上也没有明显的东西。这是我得到的唯一相关线路 -

uruyqbsgy7un-localstack-1            | 2023-04-28T17:32:04.934 ERROR --- [   asgi_gw_6] l.aws.handlers.logging     : exception during call chain: FakeStep.__init__() got an unexpected keyword argument 'hadoop_jar_step._properties.member.1._key'
amazon-web-services amazon-emr localstack
© www.soinside.com 2019 - 2024. All rights reserved.