python - 如何参数化 AWS EMR 中的步骤名称?
问题描述
我试图用 Name 值连接一些东西-
step = {"Name": "what_you_do-" + time.strftime("%Y%m%d-%H:%M"),
'ActionOnFailure': 'CONTINUE',
'HadoopJarStep': {
'Jar': 's3n://elasticmapreduce/libs/script-runner/script-runner.jar',
'Args': 'sd'
}
但它给出了参数验证错误-
"errorMessage": "Parameter validation failed:\nInvalid type for parameter Steps[0].HadoopJarStep.Args, value: sd, type: <class 'str'>, valid types: <class 'list'>, <class 'tuple'>",
"errorType": "ParamValidationError",
当我尝试以下方法时,它也会引发参数验证错误-
{"Name.$": "$.variable",
'ActionOnFailure': 'CONTINUE',
'HadoopJarStep': {
'Jar': 's3n://elasticmapreduce/libs/script-runner/script-runner.jar',
'Args': 'sd'
}
}
解决方案
Args 必须是下面的数组示例
'HadoopJarStep': {
'Jar': 's3n://elasticmapreduce/libs/script-runner/script-runner.jar',
'Args': ['sd']
}
推荐阅读
- twitter-bootstrap - 引导程序:引导程序网格
- python - 在数据库中插入具有相同组合框的 2 个函数的字段。只保存第一个函数的数据
- javascript - 不显示内容丰富的文本图像的盖茨比
- python - 从另一个文本文件复制/粘贴后如何格式化文本文件?
- command - DDD - 在您的命令处理程序中注入集成事件服务 - 好还是坏?
- javascript - 我的 JavaScript 只能在小提琴或 Codepen 中工作
- regex - 正则表达式提取以集合字符串开头并以该行结尾或以 ; 结尾的单词
- javascript - p5.js:让电脑画点东西
- android-studio - 无法将 gradle 从 4.0.0 升级到 4.1.2
- vue.js - Vue v-tabs 作为模板组件不呈现 v-item 内容