作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
您可以通过 --arguments
参数将参数传递给 AWS Glue 作业(请参阅 here )。
CloudFormation documentation表示 DefaultArguments 是“UTF-8 字符串到 UTF-8 字符串键值对”,并且它们的类型是“JSON 对象”。由于 YAML 是 JSON 的 super 集,我希望能够在 (YAML) CloudFormation 模板中传递这样的参数:
DefaultArguments:
"--arguments": {"--test_argument": "foo"}
但是,它在 CloudFormation 部署期间引发此错误:
Property validation failure: [Value of property {/DefaultArguments/--arguments=} does not match type {String}]
如何正确指定值?
最佳答案
传递多个参数的正确方法是
DefaultArguments:
"--argument1": value1
"--argument2": value2
然后在作业中访问它们(例如在 Python 中),如下所示:
from awsglue.utils import getResolvedOptions
args = getResolvedOptions(sys.argv, ['argument1', 'argument2'])
print args['argument1']
print args['argument2']
令我困惑的是,为了使用 AWS CLI 传递参数,您使用显式的 --arguments='--argument1="value1"'
结构,但在 CloudFormation 中,您通过以下方式指定参数之一一个。
关于yaml - 如何将参数传递给 CloudFormation YAML 中的 Glue 作业?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52749953/
我是一名优秀的程序员,十分优秀!