我正在尝试在 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'