

# 作业 API
<a name="aws-glue-api-jobs"></a>

任务 API 介绍任务数据类型，并包含用于在 AWS Glue 中处理任务、任务运行和触发器的 API。

**Topics**
+ [作业](aws-glue-api-jobs-job.md)
+ [任务运行](aws-glue-api-jobs-runs.md)
+ [触发](aws-glue-api-jobs-trigger.md)

# 作业
<a name="aws-glue-api-jobs-job"></a>

任务 API 介绍与在 AWS Glue 中创建、更新、删除或查看任务相关的数据类型和 API。

## 数据类型
<a name="aws-glue-api-jobs-job-objects"></a>
+ [作业结构](#aws-glue-api-jobs-job-Job)
+ [ExecutionProperty 结构](#aws-glue-api-jobs-job-ExecutionProperty)
+ [NotificationProperty 结构](#aws-glue-api-jobs-job-NotificationProperty)
+ [JobCommand 结构](#aws-glue-api-jobs-job-JobCommand)
+ [ConnectionsList 结构](#aws-glue-api-jobs-job-ConnectionsList)
+ [JobUpdate 结构](#aws-glue-api-jobs-job-JobUpdate)
+ [SourceControlDetails 结构](#aws-glue-api-jobs-job-SourceControlDetails)

## 作业结构
<a name="aws-glue-api-jobs-job-Job"></a>

指定作业定义。

**字段**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  您分配给该作业定义的名称。
+ `JobMode` – UTF-8 字符串（有效值：`SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`）。

  描述任务是如何创建的模式。有效值为：
  + `SCRIPT` – 该任务使用 AWS Glue Studio 脚本编辑器创建。
  + `VISUAL` – 该任务使用 AWS Glue Studio 可视化编辑器创建。
  + `NOTEBOOK` – 该任务使用交互式会话笔记本创建。

  当 `JobMode` 字段缺失或为空时，`SCRIPT` 将指定为默认值。
+ `JobRunQueuingEnabled`：布尔值。

  指定是否为此作业的作业运行启用作业运行排队。

  值为 true 表示已为作业运行启用作业运行排队。如果为 false 或未填充任何选项，则不会启用作业运行排队。

  如果此字段与作业运行中设置的值不匹配，则将使用作业运行字段中的值。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  作业的描述。
+ `LogUri` – UTF-8 字符串。

  该字段保留，以供将来使用。
+ `Role` – UTF-8 字符串。

  与此作业关联的 IAM 角色的名称或 Amazon 资源名称（ARN）。
+ `CreatedOn` – 时间戳。

  创建此作业定义的时间和日期。
+ `LastModifiedOn` – 时间戳。

  修改此作业定义时的最后一个时间点。
+ `ExecutionProperty` – 一个 [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) 对象。

  一个 `ExecutionProperty`，指定该作业允许的最大并发运行数。
+ `Command` – 一个 [JobCommand](#aws-glue-api-jobs-job-JobCommand) 对象。

  运行此任务的 `JobCommand`。
+ `DefaultArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  此作业每个运行的默认参数，指定为名称-值对。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在任务内，则请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) 主题。

  有关在配置 Ray 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)。
+ `NonOverridableArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  在作业运行中提供作业参数时，此作业的参数不会被覆盖，而是指定为名称-值对。
+ `Connections` – 一个 [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) 对象。

  用于此作业的连接。
+ `MaxRetries` – 数字（整数）。

  在作业运行失败后重试此作业的最大次数。
+ `AllocatedCapacity` – 数字（整数）。

  此字段已弃用。请改用 `MaxCapacity`。

  分配给此任务运行的 AWS Glue 数据处理单元（DPU）的数量。您可以分配至少 2 个 DPU；默认值为 10。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  
+ `Timeout` - 数字（整数），至少为 1。

  作业超时（以分钟为单位）。这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `MaxCapacity` – 数字（double）。

  对于 Glue 版本 1.0 或更早版本的任务，使用标准工件类型，表示此任务运行时可分配的 AWS Glue 数据处理单元（DPU）的数量。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  对于 Glue 版本 2.0 或更高版本的作业，则不能指定 `Maximum capacity`。而应指定 `Worker type` 和 `Number of workers`。

  如果使用 `WorkerType` 和 `NumberOfWorkers`，请勿设置 `MaxCapacity`。

  可为 `MaxCapacity` 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业，还是 Apache Spark 流 ETL 作业：
  + 当您指定 Python shell 作业 (`JobCommand.Name`="pythonshell")，您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。
  + 当您指定 Apache Spark ETL 作业 (`JobCommand.Name`="glueetl") 或 Apache Spark 流 ETL 作业 (`JobCommand.Name`="gluestreaming") 时，您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此任务类型不能具有小数 DPU 分配。
+ `WorkerType`：UTF-8 字符串（有效值：`Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`）。

  任务运行时分配的预定义工作线程的类型。

  AWS Glue 提供多种 Worker 类型以适应不同的工作负载要求：

  G Worker 类型（通用计算 Worker）：
  + G.025X：0.25 个 DPU（2 个 vCPU，4 GB 内存，84 GB 磁盘）
  + G.1X：1 个 DPU（4 个 vCPU，16 GB 内存，94 GB 磁盘）
  + G.2X：2 个 DPU（8 个 vCPU，32 GB 内存，138 GB 磁盘）
  + G.4X：4 个 DPU（16 个 vCPU，64 GB 内存，256 GB 磁盘）
  + G.8X：8 个 DPU（32 个 vCPU，128 GB 内存，512 GB 磁盘）
  + G.12X：12 个 DPU（48 个 vCPU、192 GB 内存、768 GB 磁盘）
  + G.16X：16 个 DPU（64 个 vCPU、256 GB 内存、1024 GB 磁盘）

  R Worker 类型（内存优化型 Worker）：
  + R.1X：1 个 DPU（4 个 vCPU，32 GB 内存，94 GB 磁盘）
  + R.2X：2 个 DPU（8 个 vCPU，64 GB 内存，128 GB 磁盘）
  + R.4X：4 个 DPU（16 个 vCPU，128 GB 内存，256 GB 磁盘）
  + R.8X：8 个 DPU（32 个 vCPU，256 GB 内存，512 GB 磁盘）
+ `NumberOfWorkers` – 数字（整数）。

  任务运行时分配的定义 `workerType` 的工作线程数。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  该作业将使用的 `SecurityConfiguration` 结构的名称。
+ `NotificationProperty` – 一个 [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定作业通知的配置属性。
+ `Running`：布尔值。

  该字段保留，以供将来使用。
+ `GlueVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Custom string pattern #48](aws-glue-api-common.md#regex_48) 匹配。

  在 Spark 作业中，`GlueVersion` 确定作业中 AWS Glue 可用的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。

  Ray 作业应将 `GlueVersion` 设置为 `4.0` 或更高。但是，Ray 作业中可用的 Ray、Python 和其他库的版本由 Job 命令的 `Runtime` 参数决定。

  有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息，请参阅开发人员指南中的 [Glue 版本](https://docs.aws.amazon.com/glue/latest/dg/add-job.html)。

  在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。
+ `CodeGenConfigurationNodes` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，与 [Custom string pattern #60](aws-glue-api-common.md#regex_60) 匹配。

  每个值都是一个 [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) 对象。

  定向非循环图表的表示形式，Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。
+ `ExecutionClass` – UTF-8 字符串，长度不超过 16 个字节（有效值：`FLEX=""` \$1 `STANDARD=""`）。

  指示任务是使用标准执行类还是灵活执行类运行的。标准执行类非常适合需要快速任务启动和专用资源的时间敏感型工作负载。

  灵活执行类适用于启动和完成时间可能不同的时间不敏感型作业。

  只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 `glueetl` 的任务才允许将 `ExecutionClass` 设置为 `FLEX`。灵活的执行类可用于 Spark 任务。
+ `SourceControlDetails` – 一个 [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) 对象。

  作业源代码控制配置的详细信息，允许将作业构件同步到远程存储库或从远程存储库同步。
+ `MaintenanceWindow` – UTF-8 字符串，与 [Custom string pattern #34](aws-glue-api-common.md#regex_34) 匹配。

  此字段指定一周中的某一天和一小时，作为流式传输任务的维护时段。AWS Glue 会定期执行维护活动。在这些维护时段内，AWS Glue 需要重新启动您的流式传输任务。

  AWS Glue 将在指定维护时段后的 3 小时内重新启动任务。例如，如果您将维护时段设置为 GMT 时间星期一上午 10:00，则您的任务将在 GMT 时间上午 10:00 至下午 1:00 之间重新启动。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业关联的 AWS Glue 使用情况配置文件名称。

## ExecutionProperty 结构
<a name="aws-glue-api-jobs-job-ExecutionProperty"></a>

作业的执行属性。

**字段**
+ `MaxConcurrentRuns` – 数字（整数）。

  作业允许的最大并发运行数。默认 为 1。达到此阈值时，将返回一个错误。可以指定的最大值由服务限制控制。

## NotificationProperty 结构
<a name="aws-glue-api-jobs-job-NotificationProperty"></a>

指定通知的配置属性。

**字段**
+ `NotifyDelayAfter` - 数字（整数），至少为 1。

  在作业运行开始后，发送作业运行延迟通知之前等待的分钟数。

## JobCommand 结构
<a name="aws-glue-api-jobs-job-JobCommand"></a>

指定任务运行时运行的代码。

**字段**
+ `Name` – UTF-8 字符串。

  作业命令的名称。对于 Apache Spark ETL 作业，这必须是 `glueetl`。对于 Python shell 作业，它必须为 `pythonshell`。对于 Apache Spark 流 ETL 作业，这必须是 `gluestreaming`。对于 Ray 作业，必须是 `glueray`。
+ `ScriptLocation` – UTF-8 字符串，长度不超过 400000 个字节。

  指定运行任务的脚本的 Amazon Simple Storage Service（Amazon S3）路径。
+ `PythonVersion` – UTF-8 字符串，与 [Custom string pattern #49](aws-glue-api-common.md#regex_49) 匹配。

  运行 Python shell 任务所用的 Python 版本。允许的值为 2 或 3。
+ `Runtime` - UTF-8 字符串，长度不超过 64 个字节，与 [Custom string pattern #33](aws-glue-api-common.md#regex_33) 匹配。

  在 Ray 作业中，运行时用于指定环境中可用的 Ray、Python 和其他库的版本。此字段不用于其他作业类型。有关支持的运行时环境值，请参阅《AWS Glue 开发人员指南》中的[支持的 Ray 运行时环境](https://docs.aws.amazon.com/glue/latest/dg/ray-jobs-section.html)。

## ConnectionsList 结构
<a name="aws-glue-api-jobs-job-ConnectionsList"></a>

指定作业所使用的连接。

**字段**
+ `Connections` – UTF-8 字符串数组，不超过 1000 个字符串。

  作业所使用的连接的列表。

## JobUpdate 结构
<a name="aws-glue-api-jobs-job-JobUpdate"></a>

指定用于更新现有作业定义的信息。此信息会完全覆盖先前的作业定义。

**字段**
+ `JobMode` – UTF-8 字符串（有效值：`SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`）。

  描述任务是如何创建的模式。有效值为：
  + `SCRIPT` – 该任务使用 AWS Glue Studio 脚本编辑器创建。
  + `VISUAL` – 该任务使用 AWS Glue Studio 可视化编辑器创建。
  + `NOTEBOOK` – 该任务使用交互式会话笔记本创建。

  当 `JobMode` 字段缺失或为空时，`SCRIPT` 将指定为默认值。
+ `JobRunQueuingEnabled`：布尔值。

  指定是否为此作业的作业运行启用作业运行排队。

  值为 true 表示已为作业运行启用作业运行排队。如果为 false 或未填充任何选项，则不会启用作业运行排队。

  如果此字段与作业运行中设置的值不匹配，则将使用作业运行字段中的值。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  要定义的作业的描述。
+ `LogUri` – UTF-8 字符串。

  该字段保留，以供将来使用。
+ `Role` – UTF-8 字符串。

  与此作业关联的 IAM 角色的名称或 Amazon Resource Name (ARN)（必填）。
+ `ExecutionProperty` – 一个 [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) 对象。

  一个 `ExecutionProperty`，指定该作业允许的最大并发运行数。
+ `Command` – 一个 [JobCommand](#aws-glue-api-jobs-job-JobCommand) 对象。

  运行此任务的 `JobCommand`（必填）。
+ `DefaultArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  此作业每个运行的默认参数，指定为名称-值对。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在任务内，则请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) 主题。

  有关在配置 Ray 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)。
+ `NonOverridableArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  在作业运行中提供作业参数时，此作业的参数不会被覆盖，而是指定为名称-值对。
+ `Connections` – 一个 [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) 对象。

  用于此作业的连接。
+ `MaxRetries` – 数字（整数）。

  在该作业失败时重试的最大次数。
+ `AllocatedCapacity` – 数字（整数）。

  此字段已弃用。请改用 `MaxCapacity`。

  要分配给该任务的 AWS Glue 数据处理单元（DPU）的数量。您可以分配至少 2 个 DPU；默认值为 10。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。
+ `Timeout` - 数字（整数），至少为 1。

  作业超时（以分钟为单位）。这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `MaxCapacity` – 数字（double）。

  对于 Glue 版本 1.0 或更早版本的任务，使用标准工件类型，表示此任务运行时可分配的 AWS Glue 数据处理单元（DPU）的数量。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  对于 Glue 版本 2.0\$1 作业，不能指定 `Maximum capacity`。而应指定 `Worker type` 和 `Number of workers`。

  如果使用 `WorkerType` 和 `NumberOfWorkers`，请勿设置 `MaxCapacity`。

  可为 `MaxCapacity` 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业，还是 Apache Spark 流 ETL 作业：
  + 当您指定 Python shell 作业 (`JobCommand.Name`="pythonshell")，您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。
  + 当您指定 Apache Spark ETL 作业 (`JobCommand.Name`="glueetl") 或 Apache Spark 流 ETL 作业 (`JobCommand.Name`="gluestreaming") 时，您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此任务类型不能具有小数 DPU 分配。
+ `WorkerType`：UTF-8 字符串（有效值：`Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`）。

  任务运行时分配的预定义工作线程的类型。接受 G.025X、G.1X、G.2X、G.4X、G.8X、G.12X、G.16X、R.1X、R.2X、R.4X 或 R.8X 的值，用于 Spark 任务。接受 Ray 作业的值 Z.2X。有关更多信息，请参阅[定义 Spark 作业的作业属性](https://docs.aws.amazon.com/glue/latest/dg/add-job.html#create-job)。
+ `NumberOfWorkers` – 数字（整数）。

  任务运行时分配的定义 `workerType` 的工作线程数。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  该作业将使用的 `SecurityConfiguration` 结构的名称。
+ `NotificationProperty` – 一个 [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定作业通知的配置属性。
+ `GlueVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Custom string pattern #48](aws-glue-api-common.md#regex_48) 匹配。

  在 Spark 作业中，`GlueVersion` 确定作业中 AWS Glue 可用的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。

  Ray 作业应将 `GlueVersion` 设置为 `4.0` 或更高。但是，Ray 作业中可用的 Ray、Python 和其他库的版本由 Job 命令的 `Runtime` 参数决定。

  有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息，请参阅开发人员指南中的 [Glue 版本](https://docs.aws.amazon.com/glue/latest/dg/add-job.html)。

  在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。
+ `CodeGenConfigurationNodes` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，与 [Custom string pattern #60](aws-glue-api-common.md#regex_60) 匹配。

  每个值都是一个 [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) 对象。

  定向非循环图表的表示形式，Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。
+ `ExecutionClass` – UTF-8 字符串，长度不超过 16 个字节（有效值：`FLEX=""` \$1 `STANDARD=""`）。

  指示任务是使用标准执行类还是灵活执行类运行的。标准执行类非常适合需要快速任务启动和专用资源的时间敏感型工作负载。

  灵活执行类适用于启动和完成时间可能不同的时间不敏感型作业。

  只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 `glueetl` 的任务才允许将 `ExecutionClass` 设置为 `FLEX`。灵活的执行类可用于 Spark 任务。
+ `SourceControlDetails` – 一个 [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) 对象。

  作业源代码控制配置的详细信息，允许将作业构件同步到远程存储库或从远程存储库同步。
+ `MaintenanceWindow` – UTF-8 字符串，与 [Custom string pattern #34](aws-glue-api-common.md#regex_34) 匹配。

  此字段指定一周中的某一天和一小时，作为流式传输任务的维护时段。AWS Glue 会定期执行维护活动。在这些维护时段内，AWS Glue 需要重新启动您的流式传输任务。

  AWS Glue 将在指定维护时段后的 3 小时内重新启动任务。例如，如果您将维护时段设置为 GMT 时间星期一上午 10:00，则您的任务将在 GMT 时间上午 10:00 至下午 1:00 之间重新启动。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业关联的 AWS Glue 使用情况配置文件名称。

## SourceControlDetails 结构
<a name="aws-glue-api-jobs-job-SourceControlDetails"></a>

作业源代码控制配置的详细信息，允许将作业构件同步到远程存储库或从远程存储库同步。

**字段**
+ `Provider` – UTF-8 字符串（有效值：`GITHUB` \$1 `AWS_CODE_COMMIT`）。

  远程存储库的提供者。
+ `Repository` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  包含作业构件的远程存储库的名称。
+ `Owner` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  包含作业构件的远程存储库的所有者。
+ `Branch` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  远程存储库中的可选分支。
+ `Folder` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  远程存储库中的可选文件夹。
+ `LastCommitId` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  远程存储库中提交的最后一次提交 ID。
+ `LastSyncTimestamp` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  上次执行作业同步的日期和时间。
+ `AuthStrategy` – UTF-8 字符串（有效值：`PERSONAL_ACCESS_TOKEN` \$1 `AWS_SECRETS_MANAGER`）。

  身份验证类型，可以是存储在 AWS Secrets Manager 中的身份验证令牌，也可以是个人访问令牌。
+ `AuthToken` – UTF-8 字符串，长度不少于 1 个字节或超过 512 个字节。

  授权令牌的值。

## 操作
<a name="aws-glue-api-jobs-job-actions"></a>
+ [CreateJob 操作（Python：create\$1job）](#aws-glue-api-jobs-job-CreateJob)
+ [UpdateJob 操作（Python：update\$1job）](#aws-glue-api-jobs-job-UpdateJob)
+ [GetJob 操作（Python：get\$1job）](#aws-glue-api-jobs-job-GetJob)
+ [GetJobs 操作（Python：get\$1jobs）](#aws-glue-api-jobs-job-GetJobs)
+ [DeleteJob 操作（Python：delete\$1job）](#aws-glue-api-jobs-job-DeleteJob)
+ [ListJobs 操作（Python：list\$1jobs）](#aws-glue-api-jobs-job-ListJobs)
+ [BatchGetJobs 操作（Python：batch\$1get\$1jobs）](#aws-glue-api-jobs-job-BatchGetJobs)

## CreateJob 操作（Python：create\$1job）
<a name="aws-glue-api-jobs-job-CreateJob"></a>

创建新的作业定义。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  您分配给该作业定义的名称。它在您的 账户中必须是唯一的。
+ `JobMode` – UTF-8 字符串（有效值：`SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`）。

  描述任务是如何创建的模式。有效值为：
  + `SCRIPT` – 该任务使用 AWS Glue Studio 脚本编辑器创建。
  + `VISUAL` – 该任务使用 AWS Glue Studio 可视化编辑器创建。
  + `NOTEBOOK` – 该任务使用交互式会话笔记本创建。

  当 `JobMode` 字段缺失或为空时，`SCRIPT` 将指定为默认值。
+ `JobRunQueuingEnabled`：布尔值。

  指定是否为此作业的作业运行启用作业运行排队。

  值为 true 表示已为作业运行启用作业运行排队。如果为 false 或未填充任何选项，则不会启用作业运行排队。

  如果此字段与作业运行中设置的值不匹配，则将使用作业运行字段中的值。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  要定义的作业的描述。
+ `LogUri` – UTF-8 字符串。

  该字段保留，以供将来使用。
+ `Role` – *必填：*UTF-8 字符串。

  与此作业关联的 IAM 角色的名称或 Amazon 资源名称（ARN）。
+ `ExecutionProperty` – 一个 [ExecutionProperty](#aws-glue-api-jobs-job-ExecutionProperty) 对象。

  一个 `ExecutionProperty`，指定该作业允许的最大并发运行数。
+ `Command` – *必填：*一个 [JobCommand](#aws-glue-api-jobs-job-JobCommand) 对象。

  运行此任务的 `JobCommand`。
+ `DefaultArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  此作业每个运行的默认参数，指定为名称-值对。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在任务内，则请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) 主题。

  有关在配置 Ray 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)。
+ `NonOverridableArguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  在作业运行中提供作业参数时，此作业的参数不会被覆盖，而是指定为名称-值对。
+ `Connections` – 一个 [ConnectionsList](aws-glue-api-interactive-sessions.md#aws-glue-api-interactive-sessions-ConnectionsList) 对象。

  用于此作业的连接。
+ `MaxRetries` – 数字（整数）。

  在该作业失败时重试的最大次数。
+ `AllocatedCapacity` – 数字（整数）。

  此参数已被弃用。请改用 `MaxCapacity`。

  要分配给该任务的 AWS Glue 数据处理单元（DPU）的数量。您可以分配至少 2 个 DPU；默认值为 10。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。
+ `Timeout` - 数字（整数），至少为 1。

  作业超时（以分钟为单位）。这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `MaxCapacity` – 数字（double）。

  对于 Glue 版本 1.0 或更早版本的任务，使用标准工件类型，表示此任务运行时可分配的 AWS Glue 数据处理单元（DPU）的数量。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  对于 Glue 版本 2.0\$1 作业，不能指定 `Maximum capacity`。而应指定 `Worker type` 和 `Number of workers`。

  如果使用 `WorkerType` 和 `NumberOfWorkers`，请勿设置 `MaxCapacity`。

  可为 `MaxCapacity` 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业，还是 Apache Spark 流 ETL 作业：
  + 当您指定 Python shell 作业 (`JobCommand.Name`="pythonshell")，您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。
  + 当您指定 Apache Spark ETL 作业 (`JobCommand.Name`="glueetl") 或 Apache Spark 流 ETL 作业 (`JobCommand.Name`="gluestreaming") 时，您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此任务类型不能具有小数 DPU 分配。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  该作业将使用的 `SecurityConfiguration` 结构的名称。
+ `Tags` – 键值对的映射数组，不超过 50 对。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值是一个 UTF-8 字符串，不超过 256 个字节。

  要用于此作业的标签。您可以使用标签来限制对作业的访问。有关 AWS Glue 中的标签的更多信息，请参阅开发人员指南中的 [AWS Glue 中的 AWS 标签](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html)。
+ `NotificationProperty` – 一个 [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定作业通知的配置属性。
+ `GlueVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Custom string pattern #48](aws-glue-api-common.md#regex_48) 匹配。

  在 Spark 作业中，`GlueVersion` 确定作业中 AWS Glue 可用的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。

  Ray 作业应将 `GlueVersion` 设置为 `4.0` 或更高。但是，Ray 作业中可用的 Ray、Python 和其他库的版本由 Job 命令的 `Runtime` 参数决定。

  有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息，请参阅开发人员指南中的 [Glue 版本](https://docs.aws.amazon.com/glue/latest/dg/add-job.html)。

  在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。
+ `NumberOfWorkers` – 数字（整数）。

  任务运行时分配的定义 `workerType` 的工作线程数。
+ `WorkerType`：UTF-8 字符串（有效值：`Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`）。

  任务运行时分配的预定义工作线程的类型。接受 G.025X、G.1X、G.2X、G.4X、G.8X、G.12X、G.16X、R.1X、R.2X、R.4X 或 R.8X 的值，用于 Spark 任务。接受 Ray 作业的值 Z.2X。
  + 对于 `G.025X` 工作线程类型，每个工作线程映射到 0.25 个 DPU（2 个 vCPU，4GB 内存），84GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此工作线程类型仅适用于 AWS Glue 版本 3.0 或更高版本的流式处理作业。
  + 对于 `G.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，16GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，32GB 内存），138GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，64GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此 Worker 类型仅适用于以下 AWS 区域的 AWS Glue 3.0 或更高版本 Spark ETL 作业：美国东部（俄亥俄州）、美国东部（弗吉尼亚州北部）、美国西部（北加利福尼亚）、美国西部（俄勒冈州）、亚太地区（孟买）、亚太地区（首尔）、亚太地区（新加坡）、亚太地区（悉尼）、亚太地区（东京）、加拿大（中部）、欧洲地区（法兰克福）、欧洲地区（爱尔兰）、欧洲地区（伦敦）、欧洲（西班牙）、欧洲地区（斯德哥尔摩）和 
  + 对于 `G.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，128GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业，其区域与 `G.4X` 工作线程类型支持的 AWS 区域相同。
  + 对于 `G.12X` 工作线程类型，每个工作线程映射到 12 个 DPU（48 个 vCPU，192GB 内存），768GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `G.16X` 工作线程类型，每个工作线程映射到 16 个 DPU（64 个 vCPU，256GB 内存），1024GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，32GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，64GB 内存），128GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，128GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，256GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `Z.2X` 工作线程类型，每个工作线程映射到 2 个 M-DPU（8 个 vCPU，64GB 内存），128GB 磁盘，基于自动缩放器最多提供 8 个 Ray 工作线程。
+ `CodeGenConfigurationNodes` – 键值对的映射数组。

  每个键都是一个 UTF-8 字符串，与 [Custom string pattern #60](aws-glue-api-common.md#regex_60) 匹配。

  每个值都是一个 [CodeGenConfigurationNode](aws-glue-api-visual-job-api.md#aws-glue-api-visual-job-api-CodeGenConfigurationNode) 对象。

  定向非循环图表的表示形式，Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。
+ `ExecutionClass` – UTF-8 字符串，长度不超过 16 个字节（有效值：`FLEX=""` \$1 `STANDARD=""`）。

  指示任务是使用标准执行类还是灵活执行类运行的。标准执行类非常适合需要快速任务启动和专用资源的时间敏感型工作负载。

  灵活执行类适用于启动和完成时间可能不同的时间不敏感型作业。

  只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 `glueetl` 的任务才允许将 `ExecutionClass` 设置为 `FLEX`。灵活的执行类可用于 Spark 任务。
+ `SourceControlDetails` – 一个 [SourceControlDetails](#aws-glue-api-jobs-job-SourceControlDetails) 对象。

  作业源代码控制配置的详细信息，允许将作业构件同步到远程存储库或从远程存储库同步。
+ `MaintenanceWindow` – UTF-8 字符串，与 [Custom string pattern #34](aws-glue-api-common.md#regex_34) 匹配。

  此字段指定一周中的某一天和一小时，作为流式传输任务的维护时段。AWS Glue 会定期执行维护活动。在这些维护时段内，AWS Glue 需要重新启动您的流式传输任务。

  AWS Glue 将在指定维护时段后的 3 小时内重新启动任务。例如，如果您将维护时段设置为 GMT 时间星期一上午 10:00，则您的任务将在 GMT 时间上午 10:00 至下午 1:00 之间重新启动。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业关联的 AWS Glue 使用情况配置文件名称。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  为此作业定义提供的唯一名称。

**错误**
+ `InvalidInputException`
+ `IdempotentParameterMismatchException`
+ `AlreadyExistsException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`

## UpdateJob 操作（Python：update\$1job）
<a name="aws-glue-api-jobs-job-UpdateJob"></a>

更新现有的作业定义。此信息会完全覆盖先前的作业定义。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要更新的作业定义的名称。
+ `JobUpdate` – *必填：*一个 [JobUpdate](#aws-glue-api-jobs-job-JobUpdate) 对象。

  指定用于更新作业定义的值。未指定的配置已移除或重置为默认值。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业关联的 AWS Glue 使用情况配置文件名称。

**响应**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  返回更新的作业定义的名称。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## GetJob 操作（Python：get\$1job）
<a name="aws-glue-api-jobs-job-GetJob"></a>

检索现有的作业定义。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索的作业定义的名称。

**响应**
+ `Job` – 一个 [任务](#aws-glue-api-jobs-job-Job) 对象。

  请求的作业定义。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobs 操作（Python：get\$1jobs）
<a name="aws-glue-api-jobs-job-GetJobs"></a>

检索所有当前作业定义。

**请求**
+ `NextToken` – UTF-8 字符串。

  延续标记 (如果这是延续调用)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  响应的最大大小。

**响应**
+ `Jobs` – [任务](#aws-glue-api-jobs-job-Job) 对象的数组。

  作业定义的列表。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果尚未返回所有作业定义)。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## DeleteJob 操作（Python：delete\$1job）
<a name="aws-glue-api-jobs-job-DeleteJob"></a>

删除指定的作业定义。如果找不到该作业定义，则不会引发异常。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的作业定义的名称。

**响应**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已删除的作业定义的名称。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## ListJobs 操作（Python：list\$1jobs）
<a name="aws-glue-api-jobs-job-ListJobs"></a>

检索此 AWS 账户中所有任务资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。

此操作采用可选的 `Tags` 字段，您可以将其用作响应的筛选器，以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选，则仅检索带标签的资源。

**请求**
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果这是延续请求)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 1000。

  要返回的列表的最大大小。
+ `Tags` – 键值对的映射数组，不超过 50 对。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值是一个 UTF-8 字符串，不超过 256 个字节。

  指定仅返回这些已标记的资源。

**响应**
+ `JobNames` – UTF-8 字符串数组。

  账户中所有作业的名称或带指定标签的作业。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果返回的列表不包含上一个可用的指标)。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchGetJobs 操作（Python：batch\$1get\$1jobs）
<a name="aws-glue-api-jobs-job-BatchGetJobs"></a>

返回给定作业名称列表的资源元数据的列表。调用 `ListJobs` 操作后，您可以调用此操作来访问您有权访问的数据。此操作支持所有 IAM 权限，包括使用标签的权限条件。

**请求**
+ `JobNames` – *必填*：UTF-8 字符串数组。

  作业名称列表，这些名称可能是通过 `ListJobs` 操作返回的名称。

**响应**
+ `Jobs` – [任务](#aws-glue-api-jobs-job-Job) 对象的数组。

  作业定义的列表。
+ `JobsNotFound` – UTF-8 字符串数组。

  未找到作业名称的列表。

**错误**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`

# 任务运行
<a name="aws-glue-api-jobs-runs"></a>

 任务运行 API 介绍与在 AWS Glue 中开启、停止或查看任务运行以及重置任务书签相关的数据类型和 API。您可以在 90 天内访问工作流和任务运行的任务运行历史记录。

## 数据类型
<a name="aws-glue-api-jobs-runs-objects"></a>
+ [JobRun 结构](#aws-glue-api-jobs-runs-JobRun)
+ [Predecessor 结构](#aws-glue-api-jobs-runs-Predecessor)
+ [JobBookmarkEntry 结构](#aws-glue-api-jobs-runs-JobBookmarkEntry)
+ [BatchStopJobRunSuccessfulSubmission 结构](#aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission)
+ [BatchStopJobRunError 结构](#aws-glue-api-jobs-runs-BatchStopJobRunError)
+ [NotificationProperty 结构](#aws-glue-api-jobs-runs-NotificationProperty)

## JobRun 结构
<a name="aws-glue-api-jobs-runs-JobRun"></a>

包含有关任务运行的信息。

**字段**
+ `Id` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  此任务运行的 ID。
+ `Attempt` – 数字（整数）。

  尝试运行此任务的次数。
+ `PreviousRunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  此任务以前运行时的 ID。例如，`StartJobRun` 操作中指定的 `JobRunId`。
+ `TriggerName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  启动此任务运行的触发器的名称。
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  此运行中使用的任务定义的名称。
+ `JobMode` – UTF-8 字符串（有效值：`SCRIPT=""` \$1 `VISUAL=""` \$1 `NOTEBOOK=""`）。

  描述任务是如何创建的模式。有效值为：
  + `SCRIPT` – 该任务使用 AWS Glue Studio 脚本编辑器创建。
  + `VISUAL` – 该任务使用 AWS Glue Studio 可视化编辑器创建。
  + `NOTEBOOK` – 该任务使用交互式会话笔记本创建。

  当 `JobMode` 字段缺失或为空时，`SCRIPT` 将指定为默认值。
+ `JobRunQueuingEnabled`：布尔值。

  指定是否为作业运行启用作业运行排队。

  值为 true 表示已为作业运行启用作业运行排队。如果为 false 或未填充任何选项，则不会启用作业运行排队。
+ `StartedOn` – 时间戳。

  此任务运行的启动日期和时间。
+ `LastModifiedOn` – 时间戳。

  此作业运行的上次修改时间。
+ `CompletedOn` – 时间戳。

  此任务运行的完成日期和时间。
+ `JobRunState` - UTF-8 字符串（有效值：`STARTING` \$1 `RUNNING` \$1 `STOPPING` \$1 `STOPPED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `TIMEOUT` \$1 `ERROR` \$1 `WAITING` \$1 `EXPIRED`）。

  任务运行的当前状态。有关异常终止的任务的状态的更多信息，请参阅 [AWS Glue 任务运行状态](https://docs.aws.amazon.com/glue/latest/dg/job-run-statuses.html)。
+ `Arguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  与此运行关联的任务参数。对于此任务运行，它们会替换任务定义本身中的默认参数集。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在任务内，则请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) 主题。

  有关在配置 Ray 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)。
+ `ErrorMessage` – UTF-8 字符串。

  与此任务运行关联的错误消息。
+ `PredecessorRuns` – [Predecessor](#aws-glue-api-jobs-runs-Predecessor) 对象的数组。

  此任务运行的前身列表。
+ `AllocatedCapacity` – 数字（整数）。

  此字段已弃用。请改用 `MaxCapacity`。

  分配给此 JobRun 的 AWS Glue 数据处理单元（DPU）的数量。可以分配 2 到 100 个 DPU；默认值为 10。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。
+ `ExecutionTime` – 数字（整数）。

  作业运行使用资源的时间长度 (以秒为单位)。
+ `Timeout` - 数字（整数），至少为 1。

  `JobRun` 超时（分钟） 这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。此值会覆盖父任务中设置的超时值。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `MaxCapacity` – 数字（double）。

  对于 Glue 版本 1.0 或更早版本的任务，使用标准工件类型，表示此任务运行时可分配的 AWS Glue 数据处理单元（DPU）的数量。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  对于 Glue 版本 2.0\$1 作业，不能指定 `Maximum capacity`。而应指定 `Worker type` 和 `Number of workers`。

  如果使用 `WorkerType` 和 `NumberOfWorkers`，请勿设置 `MaxCapacity`。

  可为 `MaxCapacity` 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业，还是 Apache Spark 流 ETL 作业：
  + 当您指定 Python shell 作业 (`JobCommand.Name`="pythonshell")，您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。
  + 当您指定 Apache Spark ETL 作业 (`JobCommand.Name`="glueetl") 或 Apache Spark 流 ETL 作业 (`JobCommand.Name`="gluestreaming") 时，您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此任务类型不能具有小数 DPU 分配。
+ `WorkerType`：UTF-8 字符串（有效值：`Standard=""` \$1 `G.025X=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `G.12X=""` \$1 `G.16X=""` \$1 `R.1X=""` \$1 `R.2X=""` \$1 `R.4X=""` \$1 `R.8X=""` \$1 `Z.2X=""`）。

  任务运行时分配的预定义工作线程的类型。接受 G.025X、G.1X、G.2X、G.4X、G.8X、G.12X、G.16X、R.1X、R.2X、R.4X 或 R.8X 的值，用于 Spark 任务。接受 Ray 作业的值 Z.2X。
  + 对于 `G.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，16GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，32GB 内存），138GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，64GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业：美国东部（俄亥俄州）、美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、亚太地区（新加坡）、亚太地区（悉尼）、亚太地区（东京）、加拿大（中部）、欧洲地区（法兰克福）、欧洲地区（爱尔兰）和欧洲地区（斯德哥尔摩）。
  + 对于 `G.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，128GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业，其区域与 `G.4X` 工作线程类型支持的 AWS 区域相同。
  + 对于 `G.12X` 工作线程类型，每个工作线程映射到 12 个 DPU（48 个 vCPU，192GB 内存），768GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `G.16X` 工作线程类型，每个工作线程映射到 16 个 DPU（64 个 vCPU，256GB 内存），1024GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `G.025X` 工作线程类型，每个工作线程映射到 0.25 个 DPU（2 个 vCPU，4GB 内存），84GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此工作线程类型仅适用于 AWS Glue 版本 3.0 或更高版本的流式处理作业。
  + 对于 `R.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，32GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，64GB 内存），128GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，128GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，256GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `Z.2X` 工作线程类型，每个工作线程映射到 2 个 M-DPU（8 个 vCPU，64 GB 内存），128 GB 磁盘，基于自动缩放器最多提供 8 个 Ray 工作线程。
+ `NumberOfWorkers` – 数字（整数）。

  任务运行时分配的定义 `workerType` 的工作线程数。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  运行该任务将使用的 `SecurityConfiguration` 结构的名称。
+ `LogGroupName` – UTF-8 字符串。

  用于进行安全日志记录的日志组的名称，可在 Amazon CloudWatch 中使用 AWS KMS 进行服务器端加密。此名称可以是 `/aws-glue/jobs/`，在这种情况下，默认加密为 `NONE`。如果您添加角色名称和 `SecurityConfiguration` 名称（换句话说，`/aws-glue/jobs-yourRoleName-yourSecurityConfigurationName/`），则该安全配置将用于加密该日志组。
+ `NotificationProperty` – 一个 [NotificationProperty](#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定任务运行通知的配置属性。
+ `GlueVersion` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Custom string pattern #48](aws-glue-api-common.md#regex_48) 匹配。

  在 Spark 作业中，`GlueVersion` 确定作业中 AWS Glue 可用的 Apache Spark 和 Python 版本。Python 版本指示了 Spark 类型的任务支持的版本。

  Ray 作业应将 `GlueVersion` 设置为 `4.0` 或更高。但是，Ray 作业中可用的 Ray、Python 和其他库的版本由 Job 命令的 `Runtime` 参数决定。

  有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息，请参阅开发人员指南中的 [Glue 版本](https://docs.aws.amazon.com/glue/latest/dg/add-job.html)。

  在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。
+ `DPUSeconds` – 数字（double）。

  此字段可针对使用 `FLEX` 执行类运行的任务设置，也可以在启用自动扩缩功能时设置，等于任务运行生命周期内每个执行器运行的总时间（以秒为单位）乘以 DPU 因子（`G.1X` 个工作线程时为 1，`G.2X` 个工作线程时为 2，`G.025X` 个工作线程时为 0.25）。此值可能不同于弹性伸缩任务中的 `executionEngineRuntime` \$1 `MaxCapacity`，因为在给定时间运行的执行程序数量可能少于 `MaxCapacity`。因此，`DPUSeconds` 的值可能小于 `executionEngineRuntime` \$1 `MaxCapacity`。
+ `ExecutionClass` – UTF-8 字符串，长度不超过 16 个字节（有效值：`FLEX=""` \$1 `STANDARD=""`）。

  指示任务是使用标准执行类还是灵活执行类运行的。标准执行类非常适合需要快速任务启动和专用资源的时间敏感型工作负载。

  灵活执行类适用于启动和完成时间可能不同的时间不敏感型作业。

  只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 `glueetl` 的任务才允许将 `ExecutionClass` 设置为 `FLEX`。灵活的执行类可用于 Spark 任务。
+ `MaintenanceWindow` – UTF-8 字符串，与 [Custom string pattern #34](aws-glue-api-common.md#regex_34) 匹配。

  此字段指定一周中的某一天和一小时，作为流式传输任务的维护时段。AWS Glue 会定期执行维护活动。在这些维护时段内，AWS Glue 需要重新启动您的流式传输任务。

  AWS Glue 将在指定维护时段后的 3 小时内重新启动任务。例如，如果您将维护时段设置为 GMT 时间星期一上午 10:00，则您的任务将在 GMT 时间上午 10:00 至下午 1:00 之间重新启动。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业运行关联的 AWS Glue 使用情况配置文件名称。
+ `StateDetail` – UTF-8 字符串，长度不超过 400000 个字节。

  此字段包含与作业运行状态相关的详细信息。此字段可以为空。

  例如，当作业运行由于任务运行排队而处于等待状态时，该字段会包含作业运行处于该状态的原因。
+ `ExecutionRoleSessionPolicy`：UTF-8 字符串，长度不少于 2 个字节，不超过 2048 个字节。

  StartJobRun API 的此内联会话策略可以动态限制指定执行角色对作业范围的权限，而无需创建额外的 IAM 角色。

## Predecessor 结构
<a name="aws-glue-api-jobs-runs-Predecessor"></a>

在触发此任务运行的条件触发器的谓词中使用的任务运行。

**字段**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  任务运行前身使用的任务定义的名称。
+ `RunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  任务运行前身的任务运行 ID。

## JobBookmarkEntry 结构
<a name="aws-glue-api-jobs-runs-JobBookmarkEntry"></a>

定义任务可以恢复处理的点。

**字段**
+ `JobName` – UTF-8 字符串。

  相关任务的名称。
+ `Version` – 数字（整数）。

  任务的版本。
+ `Run` – 数字（整数）。

  运行 ID 号。
+ `Attempt` – 数字（整数）。

  尝试 ID 号。
+ `PreviousRunId` – UTF-8 字符串。

  与上次任务运行关联的唯一运行标识符。
+ `RunId` – UTF-8 字符串。

  运行 ID 号。
+ `JobBookmark` – UTF-8 字符串。

  书签本身。

## BatchStopJobRunSuccessfulSubmission 结构
<a name="aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission"></a>

记录成功的对停止指定 `JobRun` 的请求。

**字段**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已停止的任务运行中使用的任务定义的名称。
+ `JobRunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已停止的任务运行的 `JobRunId`。

## BatchStopJobRunError 结构
<a name="aws-glue-api-jobs-runs-BatchStopJobRunError"></a>

记录在尝试停止指定的任务运行时出现的错误。

**字段**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  相关任务运行中使用的任务业定义的名称。
+ `JobRunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  相关任务运行的 `JobRunId`。
+ `ErrorDetail` – 一个 [ErrorDetail](aws-glue-api-common.md#aws-glue-api-common-ErrorDetail) 对象。

  指定有关遇到的错误的详细信息。

## NotificationProperty 结构
<a name="aws-glue-api-jobs-runs-NotificationProperty"></a>

指定通知的配置属性。

**字段**
+ `NotifyDelayAfter` - 数字（整数），至少为 1。

  在作业运行开始后，发送作业运行延迟通知之前等待的分钟数。

## 操作
<a name="aws-glue-api-jobs-runs-actions"></a>
+ [StartJobRun 操作（Python：start\$1job\$1run）](#aws-glue-api-jobs-runs-StartJobRun)
+ [BatchStopJobRun 操作（Python：batch\$1stop\$1job\$1run）](#aws-glue-api-jobs-runs-BatchStopJobRun)
+ [GetJobRun 操作（Python：get\$1job\$1run）](#aws-glue-api-jobs-runs-GetJobRun)
+ [GetJobRuns 操作（Python：get\$1job\$1runs）](#aws-glue-api-jobs-runs-GetJobRuns)
+ [GetJobBookmark 操作（Python：get\$1job\$1bookmark）](#aws-glue-api-jobs-runs-GetJobBookmark)
+ [GetJobBookmarks 操作（Python：get\$1job\$1bookmarks）](#aws-glue-api-jobs-runs-GetJobBookmarks)
+ [ResetJobBookmark 操作（Python：reset\$1job\$1bookmark）](#aws-glue-api-jobs-runs-ResetJobBookmark)

## StartJobRun 操作（Python：start\$1job\$1run）
<a name="aws-glue-api-jobs-runs-StartJobRun"></a>

使用任务定义启动任务运行。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要使用的任务定义的名称。
+ `JobRunQueuingEnabled`：布尔值。

  指定是否为作业运行启用作业运行排队。

  值为 true 表示已为作业运行启用作业运行排队。如果为 false 或未填充任何选项，则不会启用作业运行排队。
+ `JobRunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要重试的以前的 `JobRun` 的 ID。
+ `Arguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  与此运行关联的任务参数。对于此任务运行，它们会替换任务定义本身中的默认参数集。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在任务内，则请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Special Parameters Used by AWS Glue](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html) 主题。

  有关在配置 Spark 作业时可以为该字段提供的参数的信息，请参阅《开发人员指南》中的 [Using job parameters in Ray jobs](https://docs.aws.amazon.com/glue/latest/dg/author-job-ray-job-parameters.html)。
+ `AllocatedCapacity` – 数字（整数）。

  此字段已弃用。请改用 `MaxCapacity`。

  要分配给此 JobRun 的 AWS Glue 数据处理单元（DPU）的数量。您可以分配至少 2 个 DPU；默认值为 10。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。
+ `Timeout` - 数字（整数），至少为 1。

  `JobRun` 超时（分钟） 这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。此值会覆盖父任务中设置的超时值。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `MaxCapacity` – 数字（double）。

  对于 Glue 版本 1.0 或更早版本的任务，使用标准工件类型，表示此任务运行时可分配的 AWS Glue 数据处理单元（DPU）的数量。DPU 是对处理能力的相对度量，它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息，请参阅 [AWS Glue 价格页面](https://aws.amazon.com/glue/pricing/)。

  对于 Glue 版本 2.0\$1 作业，不能指定 `Maximum capacity`。而应指定 `Worker type` 和 `Number of workers`。

  如果使用 `WorkerType` 和 `NumberOfWorkers`，请勿设置 `MaxCapacity`。

  可为 `MaxCapacity` 分配的值取决于您运行的是 Python shell 作业、Apache Spark ETL 作业，还是 Apache Spark 流 ETL 作业：
  + 当您指定 Python shell 作业 (`JobCommand.Name`="pythonshell")，您可以分配 0.0625 或 1 DPU。默认值为 0.0625 DPU。
  + 当您指定 Apache Spark ETL 作业 (`JobCommand.Name`="glueetl") 或 Apache Spark 流 ETL 作业 (`JobCommand.Name`="gluestreaming") 时，您可以分配 2 到 100 个 DPU。默认为 10 个 DPU。此任务类型不能具有小数 DPU 分配。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  运行该任务将使用的 `SecurityConfiguration` 结构的名称。
+ `NotificationProperty` – 一个 [NotificationProperty](#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定任务运行通知的配置属性。
+ `WorkerType` – UTF-8 字符串（有效值：`Standard=""` \$1 `G.1X=""` \$1 `G.2X=""` \$1 `G.025X=""` \$1 `G.4X=""` \$1 `G.8X=""` \$1 `Z.2X=""`）。

  任务运行时分配的预定义工作线程的类型。接受 G.1X、G.2X、G.4X、G.8X 或 G.025X 作为 Spark 作业的值。接受 Ray 作业的值 Z.2X。
  + 对于 `G.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，16GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，32GB 内存），138GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载，以提供一种可扩展且经济实惠的方式来运行大多数作业。
  + 对于 `G.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，64GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业：美国东部（俄亥俄州）、美国东部（弗吉尼亚州北部）、美国西部（俄勒冈州）、亚太地区（新加坡）、亚太地区（悉尼）、亚太地区（东京）、加拿大（中部）、欧洲地区（法兰克福）、欧洲地区（爱尔兰）和欧洲地区（斯德哥尔摩）。
  + 对于 `G.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，128GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业，我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业，其区域与 `G.4X` 工作线程类型支持的 AWS 区域相同。
  + 对于 `G.12X` 工作线程类型，每个工作线程映射到 12 个 DPU（48 个 vCPU，192GB 内存），768GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `G.16X` 工作线程类型，每个工作线程映射到 16 个 DPU（64 个 vCPU，256GB 内存），1024GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于工作负载非常大的任务。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `G.025X` 工作线程类型，每个工作线程映射到 0.25 个 DPU（2 个 vCPU，4GB 内存），84GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此工作线程类型仅适用于 AWS Glue 版本 3.0 或更高版本的流式处理作业。
  + 对于 `R.1X` 工作线程类型，每个工作线程映射到 1 个 DPU（4 个 vCPU，32GB 内存），94GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.2X` 工作线程类型，每个工作线程映射到 2 个 DPU（8 个 vCPU，64GB 内存），128GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.4X` 工作线程类型，每个工作线程映射到 4 个 DPU（16 个 vCPU，128GB 内存），256GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `R.8X` 工作线程类型，每个工作线程映射到 8 个 DPU（32 个 vCPU，256GB 内存），512GB 磁盘，并且每个工作线程提供 1 个执行程序。我们建议将此工作线程类型用于内存密集型工作负载。此工作线程类型仅适用于 AWS Glue 版本 4.0 或更高版本的 Spark ETL 任务。
  + 对于 `Z.2X` 工作线程类型，每个工作线程映射到 2 个 M-DPU（8 个 vCPU，64 GB 内存），128 GB 磁盘，基于自动缩放器最多提供 8 个 Ray 工作线程。
+ `NumberOfWorkers` – 数字（整数）。

  任务运行时分配的定义 `workerType` 的工作线程数。
+ `ExecutionClass` – UTF-8 字符串，长度不超过 16 个字节（有效值：`FLEX=""` \$1 `STANDARD=""`）。

  指示任务是使用标准执行类还是灵活执行类运行的。标准执行类非常适合需要快速任务启动和专用资源的时间敏感型工作负载。

  灵活执行类适用于启动和完成时间可能不同的时间不敏感型作业。

  只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 `glueetl` 的任务才允许将 `ExecutionClass` 设置为 `FLEX`。灵活的执行类可用于 Spark 任务。
+ `ProfileName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与作业运行关联的 AWS Glue 使用情况配置文件名称。
+ `ExecutionRoleSessionPolicy`：UTF-8 字符串，长度不少于 2 个字节，不超过 2048 个字节。

  StartJobRun API 的此内联会话策略可以动态限制指定执行角色对作业范围的权限，而无需创建额外的 IAM 角色。

**响应**
+ `JobRunId` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  分配给此任务运行的 ID。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentRunsExceededException`

## BatchStopJobRun 操作（Python：batch\$1stop\$1job\$1run）
<a name="aws-glue-api-jobs-runs-BatchStopJobRun"></a>

停止指定的任务定义的一个或多次任务运行。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要停止其任务运行的任务定义的名称。
+ `JobRunIds` – *必填：*UTF-8 字符串数组，不少于 1 个或不超过 25 个字符串。

  应为该任务定义停止的 `JobRunIds` 列表。

**响应**
+ `SuccessfulSubmissions` – [BatchStopJobRunSuccessfulSubmission](#aws-glue-api-jobs-runs-BatchStopJobRunSuccessfulSubmission) 对象的数组。

  已成功提交的要停止的 JobRun 列表。
+ `Errors` – [BatchStopJobRunError](#aws-glue-api-jobs-runs-BatchStopJobRunError) 对象的数组。

  尝试停止 `JobRuns` 时遇到的错误列表，包括遇到每个错误的 `JobRunId` 和有关错误的详细信息。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobRun 操作（Python：get\$1job\$1run）
<a name="aws-glue-api-jobs-runs-GetJobRun"></a>

检索给定任务运行的元数据。您可以在 365 天内访问工作流和作业运行的作业运行历史记录。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  正在运行的任务定义的名称。
+ `RunId` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  任务运行的 ID。
+ `PredecessorsIncluded`：布尔值。

  如果应返回运行前身的列表，则为 True。

**响应**
+ `JobRun` – 一个 [JobRun](#aws-glue-api-jobs-runs-JobRun) 对象。

  请求的任务运行元数据。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobRuns 操作（Python：get\$1job\$1runs）
<a name="aws-glue-api-jobs-runs-GetJobRuns"></a>

检索给定任务定义的所有运行的元数据。

`GetJobRuns` 按时间顺序返回作业运行，首先返回最新作业。

**请求**
+ `JobName` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索其所有任务运行的作业定义的名称。
+ `NextToken` – UTF-8 字符串。

  延续标记 (如果这是延续调用)。
+ `MaxResults` – 数字（整数），不小于 1 或大于 200。

  响应的最大大小。

**响应**
+ `JobRuns` – [JobRun](#aws-glue-api-jobs-runs-JobRun) 对象的数组。

  任务运行元数据对象的列表。
+ `NextToken` – UTF-8 字符串。

  延续令牌（如果尚未返回所有请求的任务运行）。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetJobBookmark 操作（Python：get\$1job\$1bookmark）
<a name="aws-glue-api-jobs-runs-GetJobBookmark"></a>

返回有关任务书签条目的信息。

更多有关启用和使用作业书签的信息，请参阅：
+ [使用作业书签跟踪已处理的数据](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [AWS Glue 使用的作业参数](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [作业结构](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**请求**
+ `JobName` – *必填：*UTF-8 字符串。

  相关任务的名称。
+ `Version` – 数字（整数）。

  任务的版本。
+ `RunId` – UTF-8 字符串。

  与此任务运行关联的唯一运行标识符。

**响应**
+ `JobBookmarkEntry` – 一个 [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) 对象。

  用于定义任务可以恢复处理的点的结构。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ValidationException`

## GetJobBookmarks 操作（Python：get\$1job\$1bookmarks）
<a name="aws-glue-api-jobs-runs-GetJobBookmarks"></a>

返回有关任务书签条目的信息。该列表按版本号递减的顺序排列。

更多有关启用和使用作业书签的信息，请参阅：
+ [使用作业书签跟踪已处理的数据](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [AWS Glue 使用的作业参数](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [作业结构](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**请求**
+ `JobName` – *必填：*UTF-8 字符串。

  相关任务的名称。
+ `MaxResults` – 数字（整数）。

  响应的最大大小。
+ `NextToken` – 数字（整数）。

  延续标记 (如果这是延续调用)。

**响应**
+ `JobBookmarkEntries` – [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) 对象的数组。

  用于定义任务可以恢复处理的点的任务书签条目列表。
+ `NextToken` – 数字（整数）。

  延续令牌，如果返回所有条目，则其值为 1；如果未返回所有请求的任务运行，则其值 > 1。

**错误**
+ `InvalidInputException`
+ `EntityNotFoundException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## ResetJobBookmark 操作（Python：reset\$1job\$1bookmark）
<a name="aws-glue-api-jobs-runs-ResetJobBookmark"></a>

重置书签条目。

更多有关启用和使用作业书签的信息，请参阅：
+ [使用作业书签跟踪已处理的数据](https://docs.aws.amazon.com/glue/latest/dg/monitor-continuations.html)
+ [AWS Glue 使用的作业参数](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)
+ [作业结构](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-jobs-job.html#aws-glue-api-jobs-job-Job)

**请求**
+ `JobName` – *必填：*UTF-8 字符串。

  相关任务的名称。
+ `RunId` – UTF-8 字符串。

  与此任务运行关联的唯一运行标识符。

**响应**
+ `JobBookmarkEntry` – 一个 [JobBookmarkEntry](#aws-glue-api-jobs-runs-JobBookmarkEntry) 对象。

  重置的书签条目。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

# 触发
<a name="aws-glue-api-jobs-trigger"></a>

触发器 API 介绍与在 AWS Glue 中创建、更新或删除以及开启和停止任务触发器相关的数据类型和 API。

## 数据类型
<a name="aws-glue-api-jobs-trigger-objects"></a>
+ [Trigger 结构](#aws-glue-api-jobs-trigger-Trigger)
+ [TriggerUpdate 结构](#aws-glue-api-jobs-trigger-TriggerUpdate)
+ [Predicate 结构](#aws-glue-api-jobs-trigger-Predicate)
+ [Condition 结构](#aws-glue-api-jobs-trigger-Condition)
+ [Action 结构](#aws-glue-api-jobs-trigger-Action)
+ [EventBatchingCondition 结构](#aws-glue-api-jobs-trigger-EventBatchingCondition)

## Trigger 结构
<a name="aws-glue-api-jobs-trigger-Trigger"></a>

有关特定触发器的信息。

**字段**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  触发器的名称。
+ `WorkflowName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与触发器关联的工作流程的名称。
+ `Id` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  留待将来使用。
+ `Type` – UTF-8 字符串（有效值：`SCHEDULED` \$1`CONDITIONAL` \$1 `ON_DEMAND` \$1 `EVENT`）。

  触发器的类型。
+ `State` – UTF-8 字符串（有效值：`CREATING` \$1 `CREATED` \$1 `ACTIVATING` \$1 `ACTIVATED` \$1 `DEACTIVATING` \$1 `DEACTIVATED` \$1 `DELETING` \$1 `UPDATING`）。

  触发器的当前状态。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  此触发器的描述。
+ `Schedule` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。
+ `Actions` – [操作](#aws-glue-api-jobs-trigger-Action) 对象的数组。

  通过此触发器发起的操作。
+ `Predicate` – 一个 [谓词](#aws-glue-api-jobs-trigger-Predicate) 对象。

  此触发器的谓词，用于定义触发器将在何时触发。
+ `EventBatchingCondition` – 一个 [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 对象。

  在 EventBridge 事件触发器触发之前必须满足的批处理条件（接收的事件数量或批处理时间段已过期）。

## TriggerUpdate 结构
<a name="aws-glue-api-jobs-trigger-TriggerUpdate"></a>

提供用于更新触发器的信息的结构。此对象通过完全覆盖以前的触发器定义来更新以前的触发器定义。

**字段**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  留待将来使用。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  此触发器的描述。
+ `Schedule` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。
+ `Actions` – [操作](#aws-glue-api-jobs-trigger-Action) 对象的数组。

  通过此触发器发起的操作。
+ `Predicate` – 一个 [谓词](#aws-glue-api-jobs-trigger-Predicate) 对象。

  此触发器的谓词，用于定义触发器将在何时触发。
+ `EventBatchingCondition` – 一个 [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 对象。

  在 EventBridge 事件触发器触发之前必须满足的批处理条件（接收的事件数量或批处理时间段已过期）。

## Predicate 结构
<a name="aws-glue-api-jobs-trigger-Predicate"></a>

定义触发器的谓词，确定触发器何时触发。

**字段**
+ `Logical` – UTF-8 字符串（有效值：`AND` \$1 `ANY`）。

  如果只列出了一个条件，则为可选字段。如果列出了多个条件，则此字段为必需字段。
+ `Conditions` – [状况](#aws-glue-api-jobs-trigger-Condition) 对象数组，不超过 500 个结构。

  确定触发器将何时触发的条件列表。

## Condition 结构
<a name="aws-glue-api-jobs-trigger-Condition"></a>

定义触发器将触发的条件。

**字段**
+ `LogicalOperator` – UTF-8 字符串（有效值：`EQUALS`）。

  一个逻辑运算符。
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  此条件应用于其 `JobRuns` 并且此触发器在其上等待的作业的名称。
+ `State` - UTF-8 字符串（有效值：`STARTING` \$1 `RUNNING` \$1 `STOPPING` \$1 `STOPPED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `TIMEOUT` \$1 `ERROR` \$1 `WAITING` \$1 `EXPIRED`）。

  条件状态。目前，触发器可侦听的仅有作业为 `SUCCEEDED`、`STOPPED`、`FAILED` 和 `TIMEOUT`。触发器可侦听的仅有爬网程序状态为 `SUCCEEDED`、`FAILED` 和 `CANCELLED`。
+ `CrawlerName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  此条件应用于的爬网程序的名称。
+ `CrawlState` – UTF-8 字符串（有效值：`RUNNING` \$1 `CANCELLING` \$1 `CANCELLED` \$1 `SUCCEEDED` \$1 `FAILED` \$1 `ERROR`）。

  此条件应用于的爬网程序的状态。

## Action 结构
<a name="aws-glue-api-jobs-trigger-Action"></a>

定义触发器发起的操作。

**字段**
+ `JobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要运行的任务的名称。
+ `Arguments` – 键值对的映射数组。

  每个键是一个 UTF-8 字符串。

  每个值是一个 UTF-8 字符串。

  此触发器触发时使用的作业参数。对于此任务运行，它们会替换任务定义本身中的默认参数集。

  可以在此处指定您自己的任务执行脚本使用的参数以及 AWS Glue 本身使用的参数。

  有关如何指定和使用您自己的任务参数的信息，请参阅开发人员指南中的[在 Python 中调用 AWS Glue API ](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-python-calling.html)主题。

  有关 AWS Glue 用于设置任务的键值对的信息，请参阅开发人员指南中的[由 AWS Glue 使用的特殊参数](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-programming-etl-glue-arguments.html)主题。
+ `Timeout` - 数字（整数），至少为 1。

  `JobRun` 超时（分钟） 这是任务运行在终止并进入 `TIMEOUT` 状态前可以使用资源的最长时间。此值会覆盖父任务中设置的超时值。

  作业的超时值必须小于 7 天或 10080 分钟。否则，作业会引发异常。

  该值留空时，超时值默认为 2880 分钟。

  任何超时值大于 7 天的现有 AWS Glue 作业，该值默认为 7 天。例如，若为批处理作业指定了 20 天的超时值，则该作业将在第 7 天停止。

  对于流式传输作业，如果设置了维护时段，则将于 7 天后在维护时段内重新启动。
+ `SecurityConfiguration` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  该操作将使用的 `SecurityConfiguration` 结构的名称。
+ `NotificationProperty` – 一个 [NotificationProperty](aws-glue-api-jobs-runs.md#aws-glue-api-jobs-runs-NotificationProperty) 对象。

  指定任务运行通知的配置属性。
+ `CrawlerName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要用于此操作的爬网程序的名称。

## EventBatchingCondition 结构
<a name="aws-glue-api-jobs-trigger-EventBatchingCondition"></a>

在 EventBridge 事件触发器触发之前必须满足的批处理条件（接收的事件数量或批处理时间段已过期）。

**字段**
+ `BatchSize` – *必填*：数字（整数），不小于 1 或大于 100。

  在 EventBridge 事件触发器触发之前，必须从 Amazon EventBridge 接收的事件数。
+ `BatchWindow` – 数字（整数），不小于 1 或大于 900。

  EventBridge 事件触发器触发的时段（以秒为单位）。时段在收到第一个事件时开始计算。

## 操作
<a name="aws-glue-api-jobs-trigger-actions"></a>
+ [CreateTrigger 操作（Python：create\$1trigger）](#aws-glue-api-jobs-trigger-CreateTrigger)
+ [StartTrigger 操作（Python：start\$1trigger）](#aws-glue-api-jobs-trigger-StartTrigger)
+ [GetTrigger 操作（Python：get\$1trigger）](#aws-glue-api-jobs-trigger-GetTrigger)
+ [GetTriggers 操作（Python：get\$1triggers）](#aws-glue-api-jobs-trigger-GetTriggers)
+ [UpdateTrigger 操作（Python：update\$1trigger）](#aws-glue-api-jobs-trigger-UpdateTrigger)
+ [StopTrigger 操作（Python：stop\$1trigger）](#aws-glue-api-jobs-trigger-StopTrigger)
+ [DeleteTrigger 操作（Python：delete\$1trigger）](#aws-glue-api-jobs-trigger-DeleteTrigger)
+ [ListTriggers 操作（Python：list\$1triggers）](#aws-glue-api-jobs-trigger-ListTriggers)
+ [BatchGetTriggers 操作（Python：batch\$1get\$1triggers）](#aws-glue-api-jobs-trigger-BatchGetTriggers)

## CreateTrigger 操作（Python：create\$1trigger）
<a name="aws-glue-api-jobs-trigger-CreateTrigger"></a>

创建新的触发器。

可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在作业内，请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  触发器的名称。
+ `WorkflowName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  与触发器关联的工作流程的名称。
+ `Type` – *必填*：UTF-8 字符串（有效值：`SCHEDULED` \$1 `CONDITIONAL` \$1 `ON_DEMAND` \$1 `EVENT`）。

  新触发器的类型。
+ `Schedule` – UTF-8 字符串。

  用于指定计划的 `cron` 表达式 (请参阅[用于作业和爬网程序的基于时间的计划](https://docs.aws.amazon.com/glue/latest/dg/monitor-data-warehouse-schedule.html)）。例如，要每天 12:15 UTC 运行某些任务，您应该指定：`cron(15 12 * * ? *)`。

  当触发类型为 SCHEDULED 时，此字段为必需字段。
+ `Predicate` – 一个 [谓词](#aws-glue-api-jobs-trigger-Predicate) 对象。

  指定新的触发器应何时触发的谓词。

  当触发类型为 `CONDITIONAL` 时，此字段为必需字段。
+ `Actions` – *必填：*[操作](#aws-glue-api-jobs-trigger-Action) 对象的数组。

  触发器触发时所发起的操作。
+ `Description` – 描述字符串，长度不超过 2048 个字节，与 [URI address multi-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-uri) 匹配。

  新触发器的描述。
+ `StartOnCreation` – 布尔值。

  设置 `true` 为，可在创建时开启 `SCHEDULED` 和 `CONDITIONAL` 触发器。`ON_DEMAND` 触发器不支持 True。
+ `Tags` – 键值对的映射数组，不超过 50 对。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值是一个 UTF-8 字符串，不超过 256 个字节。

  要用于此触发器的标签。您可以使用标签来限制对触发器的访问。有关 AWS Glue 中的标签的更多信息，请参阅开发人员指南中的 [AWS Glue 中的 AWS 标签](https://docs.aws.amazon.com/glue/latest/dg/monitor-tags.html)。
+ `EventBatchingCondition` – 一个 [EventBatchingCondition](#aws-glue-api-jobs-trigger-EventBatchingCondition) 对象。

  在 EventBridge 事件触发器触发之前必须满足的批处理条件（接收的事件数量或批处理时间段已过期）。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  触发器的名称。

**错误**
+ `AlreadyExistsException`
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `IdempotentParameterMismatchException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentModificationException`

## StartTrigger 操作（Python：start\$1trigger）
<a name="aws-glue-api-jobs-trigger-StartTrigger"></a>

启动现有触发器。请参阅[触发作业](https://docs.aws.amazon.com/glue/latest/dg/trigger-job.html)了解有关如何启动不同类型的触发器的信息。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要启动的触发器名称。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已启动的触发器名称。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ResourceNumberLimitExceededException`
+ `ConcurrentRunsExceededException`

## GetTrigger 操作（Python：get\$1trigger）
<a name="aws-glue-api-jobs-trigger-GetTrigger"></a>

检索触发器的定义。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要检索的触发器名称。

**响应**
+ `Trigger` – 一个 [触发器](#aws-glue-api-jobs-trigger-Trigger) 对象。

  请求的触发器定义。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## GetTriggers 操作（Python：get\$1triggers）
<a name="aws-glue-api-jobs-trigger-GetTriggers"></a>

获取与一个作业关联的所有触发器。

**请求**
+ `NextToken` – UTF-8 字符串。

  延续标记 (如果这是延续调用)。
+ `DependentJobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要为其检索触发器的作业的名称。返回可以启动此作业的触发器，如果没有这样的触发器，则返回所有触发器。
+ `MaxResults` – 数字（整数），不小于 1 或大于 200。

  响应的最大大小。

**响应**
+ `Triggers` – [触发器](#aws-glue-api-jobs-trigger-Trigger) 对象的数组。

  指定作业的触发器列表。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果尚未返回所有请求的触发器)。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## UpdateTrigger 操作（Python：update\$1trigger）
<a name="aws-glue-api-jobs-trigger-UpdateTrigger"></a>

更新触发器定义。

可能会记录任务参数。不要将明文密钥作为参数传递。如果您想要将密钥保留在作业内，请通过 AWS Glue 连接、AWS Secrets Manager 或其他密钥管理机制检索密钥。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要更新的触发器的名称。
+ `TriggerUpdate` – *必填：*一个 [TriggerUpdate](#aws-glue-api-jobs-trigger-TriggerUpdate) 对象。

  用来更新触发器的新值。

**响应**
+ `Trigger` – 一个 [触发器](#aws-glue-api-jobs-trigger-Trigger) 对象。

  生成的触发器定义。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## StopTrigger 操作（Python：stop\$1trigger）
<a name="aws-glue-api-jobs-trigger-StopTrigger"></a>

停止指定的触发器。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要停止的触发器名称。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已停止的触发器名称。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `EntityNotFoundException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## DeleteTrigger 操作（Python：delete\$1trigger）
<a name="aws-glue-api-jobs-trigger-DeleteTrigger"></a>

删除指定的触发器。未找到该触发器不会引发异常。

**请求**
+ `Name` – *必填：*UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  要删除的触发器的名称。

**响应**
+ `Name` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

  已删除的触发器的名称。

**错误**
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `ConcurrentModificationException`

## ListTriggers 操作（Python：list\$1triggers）
<a name="aws-glue-api-jobs-trigger-ListTriggers"></a>

检索此 AWS 账户中所有触发器资源的名称或带指定标签的资源。此操作可让您查看您账户中可用的资源及其名称。

此操作采用可选的 `Tags` 字段，您可以将其用作响应的筛选器，以便将标记的资源作为一个组进行检索。如果您选择使用标签筛选，则仅检索带标签的资源。

**请求**
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果这是延续请求)。
+ `DependentJobName` – UTF-8 字符串，长度不少于 1 个字节或超过 255 个字节，与 [Single-line string pattern](aws-glue-api-common.md#aws-glue-api-regex-oneLine) 匹配。

   要为其检索触发器的作业的名称。返回可启动此作业的触发器。如果没有这样的触发器，则返回所有触发器。
+ `MaxResults` – 数字（整数），不小于 1 或大于 200。

  要返回的列表的最大大小。
+ `Tags` – 键值对的映射数组，不超过 50 对。

  每个键都是一个 UTF-8 字符串，长度不少于 1 个字节或超过 128 个字节。

  每个值是一个 UTF-8 字符串，不超过 256 个字节。

  指定仅返回这些已标记的资源。

**响应**
+ `TriggerNames` – UTF-8 字符串数组。

  账户中所有触发器的名称或带指定标签的触发器。
+ `NextToken` – UTF-8 字符串。

  延续令牌 (如果返回的列表不包含上一个可用的指标)。

**错误**
+ `EntityNotFoundException`
+ `InvalidInputException`
+ `InternalServiceException`
+ `OperationTimeoutException`

## BatchGetTriggers 操作（Python：batch\$1get\$1triggers）
<a name="aws-glue-api-jobs-trigger-BatchGetTriggers"></a>

返回给定触发器名称列表的资源元数据的列表。调用 `ListTriggers` 操作后，您可以调用此操作来访问您有权访问的数据。此操作支持所有 IAM 权限，包括使用标签的权限条件。

**请求**
+ `TriggerNames` – *必填*：UTF-8 字符串数组。

  触发器名称列表，这些名称可能是通过 `ListTriggers` 操作返回的名称。

**响应**
+ `Triggers` – [触发器](#aws-glue-api-jobs-trigger-Trigger) 对象的数组。

  触发器定义的列表。
+ `TriggersNotFound` – UTF-8 字符串数组。

  未找到触发器名称的列表。

**错误**
+ `InternalServiceException`
+ `OperationTimeoutException`
+ `InvalidInputException`