如何使用 AWS CloudFormation 在 AWS Glue 作业中启用特殊参数?

上次更新时间:2019 年 5 月 20 日

我想为 AWS Glue 中的作业启用特殊参数,例如 --enable-metrics。但是,当我尝试运行作业时,遇到 AWS CloudFormation 模板验证或“空值”错误。如何解决这些错误?

简短描述

要为 AWS Glue 中的作业启用特殊参数,您必须为 AWS CloudFormation 中的 AWS::Glue::Job 资源的 DefaultArguments 属性提供键值对。如果仅在作业定义中提供键,则 AWS CloudFormation 将返回验证错误。

解决方法

1.    在 AWS CloudFormation 模板中,对于作业定义的 DefaultArguments 属性,将特殊参数的值设置为空字符串。

在以下 JSON 和 YAML 示例模板中,--enable-metrics 的值设置为空字符串。

JSON:

    "MyJob": {
      "Type": "AWS::Glue::Job",
      "Properties": {
        "Command": {
          "Name": "glueetl",
          "ScriptLocation": "s3://my-test//test-job1"
        },
        "DefaultArguments": {
          "--job-bookmark-option": "job-bookmark-enable",
	  "--enable-metrics": ""
        },
        "ExecutionProperty": {
          "MaxConcurrentRuns": 2
        },
        "MaxRetries": 0,
        "Name": "cf-job3",
        "Role": {
          "Ref": "MyJobRole"
        }
      }
    }

YAML:

MyJob:
  Type: 'AWS::Glue::Job'
  Properties:
    Command:
      Name: glueetl
      ScriptLocation: 's3://my-test//test-job1'
    DefaultArguments:
      '--job-bookmark-option': job-bookmark-enable
      '--enable-metrics': ''
    ExecutionProperty:
      MaxConcurrentRuns: 
    MaxRetries: 0
    Name: cf-job3
    Role: !Ref MyJobRole

空字符串验证模板并启动配置了特殊参数的资源。

2.    要激活特殊参数,运行您的作业


这篇文章对您有帮助吗?

您觉得我们哪些地方需要改进?


需要更多帮助?