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

1 分钟阅读
0

我想在 AWS Glue 中使用特殊参数,例如 --enable-metrics。当运行作业时,我收到来自 AWS CloudFormation 的模板验证或“null values”(空值)错误。

解决方法

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

要解决此问题,请完成以下步骤:

  1. 在您的 CloudFormation 模板中,将作业定义的 DefaultArguments 属性的特殊参数值设置为空字符串。
    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: 2
        MaxRetries: 0
        Name: cf-job3
        Role: !Ref MyJobRole
    注意:在前面的 JSON 和 YAML 模板示例中,--enable-metrics 的字符串值为空。空字符串验证模板并启动使用特殊参数配置的资源。
  2. 要激活您的特殊参数,请运行您的作业
AWS 官方
AWS 官方已更新 6 个月前