任务 - AWS Glue

任务

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

数据类型

Job 结构

指定作业定义。

字段
  • Name – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    您分配给该作业定义的名称。

  • JobMode – UTF-8 字符串(有效值:SCRIPT="" | VISUAL="" | NOTEBOOK="")。

    描述任务是如何创建的模式。有效值为:

    • SCRIPT – 该任务使用 AWS Glue Studio 脚本编辑器创建。

    • VISUAL – 该任务使用 AWS Glue Studio 可视化编辑器创建。

    • NOTEBOOK – 该任务使用交互式会话笔记本创建。

    JobMode 字段缺失或为空时,SCRIPT 将指定为默认值。

  • JobRunQueuingEnabled – 布尔值。

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

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

    如果此字段与作业运行中设置的值不匹配,则将使用作业运行字段中的值。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    作业的描述。

  • LogUri – UTF-8 字符串。

    该字段保留,以供将来使用。

  • Role – UTF-8 字符串。

    与此作业关联的 IAM 角色的名称或 Amazon 资源名称(ARN)。

  • CreatedOn – 时间戳。

    创建此作业定义的时间和日期。

  • LastModifiedOn – 时间戳。

    修改此作业定义时的最后一个时间点。

  • ExecutionProperty – 一个 ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command – 一个 JobCommand 对象。

    运行此任务的 JobCommand

  • DefaultArguments – 键值对的映射数组。

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

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

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

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

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

    有关如何指定和使用您自己的任务参数的信息,请参阅开发人员指南中的在 Python 中调用 AWS Glue API 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Special Parameters Used by AWS Glue 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Using job parameters in Ray jobs

  • NonOverridableArguments – 键值对的映射数组。

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

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

    在作业运行中提供作业参数时,此作业的参数不会被覆盖,而是指定为名称-值对。

  • Connections – 一个 ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 数字(整数)。

    在作业运行失败后重试此作业的最大次数。

  • AllocatedCapacity – 数字(整数)。

    此字段已弃用。请改用 MaxCapacity

    分配给此任务运行的 AWS Glue 数据处理单元(DPU)的数量。您可以分配至少 2 个 DPU;默认值为 10。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 价格页面

  • Timeout - 数字(整数),至少为 1。

    作业超时(以分钟为单位)。这是任务运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。批处理作业的默认值为 2880 分钟(48 小时)。

    流式传输任务的超时值必须小于 7 天或 10080 分钟。如果将该值留空,则如果您尚未设置维护窗口,则该任务将在 7 天后重新启动。如果您设置了维护时段,则该任务将在 7 天后的维护时段内重新启动。

  • MaxCapacity – 数字(double)。

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

    对于 Glue 版本 2.0 或更高版本的作业,则不能指定 Maximum capacity。而应指定 Worker typeNumber of workers

    如果使用 WorkerTypeNumberOfWorkers,请勿设置 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="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    任务运行时分配的预定义工作线程的类型。接受 G.1X、G.2X、G.4X、G.8X 或 G.025X for Spark 作业的值。接受 Ray 作业的值 Z.2X。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32GB 内存),128GB 磁盘(77GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.4X 工作线程类型,每个工作线程映射到 4 个 DPU(16 个 vCPU,64GB 内存),256GB 磁盘(235GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。

    • 对于 G.8X 工作线程类型,每个工作线程映射到 8 个 DPU(32 个 vCPU,128GB 内存),512GB 磁盘(487GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业,其区域与 G.4X 工作线程类型支持的 AWS 区域相同。

    • 对于 G.025X 工作线程类型,每个工作线程映射到 0.25 个 DPU(2 个 vCPU,4GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此 Worker 类型仅适用于 AWS Glue 版本 3.0 串流任务。

    • 对于 Z.2X 工作线程类型,每个工作线程映射到 2 个 M-DPU(8 个 vCPU,64GB 内存),128GB 磁盘(120GB 可用空间),基于自动缩放器,最多提供 8 个 Ray 工作线程。

  • NumberOfWorkers – 数字(整数)。

    任务运行时分配的定义 workerType 的工作线程数。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    该作业将使用的 SecurityConfiguration 结构的名称。

  • NotificationProperty – 一个 NotificationProperty 对象。

    指定作业通知的配置属性。

  • Running – 布尔值。

    该字段保留,以供将来使用。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

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

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

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。

  • CodeGenConfigurationNodes – 键值对的映射数组。

    每个键都是一个 UTF-8 字符串,与 Custom string pattern #42 匹配。

    每个值都是一个 CodeGenConfigurationNode 对象。

    定向非循环图表的表示形式,Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。

  • ExecutionClass – UTF-8 字符串,长度不超过 16 个字节(有效值:FLEX="" | STANDARD="")。

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

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

    只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 glueetl 的任务才允许将 ExecutionClass 设置为 FLEX。灵活的执行类可用于 Spark 任务。

  • SourceControlDetails – 一个 SourceControlDetails 对象。

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

  • MaintenanceWindow – UTF-8 字符串,与 Custom string pattern #30 匹配。

    此字段指定一周中的某一天和一小时,作为流式传输任务的维护时段。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 使用情况配置文件名称。

ExecutionProperty 结构

作业的执行属性。

字段
  • MaxConcurrentRuns – 数字(整数)。

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

NotificationProperty 结构

指定通知的配置属性。

字段
  • NotifyDelayAfter - 数字(整数),至少为 1。

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

JobCommand 结构

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

字段
  • 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 #21 匹配。

    运行 Python shell 任务所用的 Python 版本。允许的值为 2 或 3。

  • Runtime - UTF-8 字符串,长度不超过 64 个字节,与 Custom string pattern #29 匹配。

    在 Ray 作业中,运行时用于指定环境中可用的 Ray、Python 和其他库的版本。此字段不用于其他作业类型。有关支持的运行时环境值,请参阅《AWS Glue 开发人员指南》中的支持的 Ray 运行时环境

ConnectionsList 结构

指定作业所使用的连接。

字段
  • Connections – UTF-8 字符串数组。

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

JobUpdate 结构

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

字段
  • JobMode – UTF-8 字符串(有效值:SCRIPT="" | VISUAL="" | NOTEBOOK="")。

    描述任务是如何创建的模式。有效值为:

    • SCRIPT – 该任务使用 AWS Glue Studio 脚本编辑器创建。

    • VISUAL – 该任务使用 AWS Glue Studio 可视化编辑器创建。

    • NOTEBOOK – 该任务使用交互式会话笔记本创建。

    JobMode 字段缺失或为空时,SCRIPT 将指定为默认值。

  • JobRunQueuingEnabled – 布尔值。

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

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

    如果此字段与作业运行中设置的值不匹配,则将使用作业运行字段中的值。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    要定义的作业的描述。

  • LogUri – UTF-8 字符串。

    该字段保留,以供将来使用。

  • Role – UTF-8 字符串。

    与此作业关联的 IAM 角色的名称或 Amazon Resource Name (ARN)(必填)。

  • ExecutionProperty – 一个 ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command – 一个 JobCommand 对象。

    运行此任务的 JobCommand(必填)。

  • DefaultArguments – 键值对的映射数组。

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

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

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

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

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

    有关如何指定和使用您自己的任务参数的信息,请参阅开发人员指南中的在 Python 中调用 AWS Glue API 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Special Parameters Used by AWS Glue 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Using job parameters in Ray jobs

  • NonOverridableArguments – 键值对的映射数组。

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

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

    在作业运行中提供作业参数时,此作业的参数不会被覆盖,而是指定为名称-值对。

  • Connections – 一个 ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 数字(整数)。

    在该作业失败时重试的最大次数。

  • AllocatedCapacity – 数字(整数)。

    此字段已弃用。请改用 MaxCapacity

    要分配给该任务的 AWS Glue 数据处理单元(DPU)的数量。您可以分配至少 2 个 DPU;默认值为 10。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 价格页面

  • Timeout - 数字(整数),至少为 1。

    作业超时(以分钟为单位)。这是任务运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。批处理作业的默认值为 2880 分钟(48 小时)。

    流式传输任务的超时值必须小于 7 天或 10080 分钟。如果将该值留空,则如果您尚未设置维护窗口,则该任务将在 7 天后重新启动。如果您设置了维护时段,则该任务将在 7 天后的维护时段内重新启动。

  • MaxCapacity – 数字(double)。

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

    对于 Glue 版本 2.0+ 作业,不能指定 Maximum capacity。而应指定 Worker typeNumber of workers

    如果使用 WorkerTypeNumberOfWorkers,请勿设置 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="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    任务运行时分配的预定义工作线程的类型。接受 G.1X、G.2X、G.4X、G.8X 或 G.025X for Spark 作业的值。接受 Ray 作业的值 Z.2X。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32GB 内存),128GB 磁盘(77GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.4X 工作线程类型,每个工作线程映射到 4 个 DPU(16 个 vCPU,64GB 内存),256GB 磁盘(235GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。

    • 对于 G.8X 工作线程类型,每个工作线程映射到 8 个 DPU(32 个 vCPU,128GB 内存),512GB 磁盘(487GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业,其区域与 G.4X 工作线程类型支持的 AWS 区域相同。

    • 对于 G.025X 工作线程类型,每个工作线程映射到 0.25 个 DPU(2 个 vCPU,4GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此 Worker 类型仅适用于 AWS Glue 版本 3.0 串流任务。

    • 对于 Z.2X 工作线程类型,每个工作线程映射到 2 个 M-DPU(8 个 vCPU,64GB 内存),128GB 磁盘(120GB 可用空间),基于自动缩放器,最多提供 8 个 Ray 工作线程。

  • NumberOfWorkers – 数字(整数)。

    任务运行时分配的定义 workerType 的工作线程数。

  • SecurityConfiguration – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    该作业将使用的 SecurityConfiguration 结构的名称。

  • NotificationProperty – 一个 NotificationProperty 对象。

    指定作业通知的配置属性。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

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

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

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。

  • CodeGenConfigurationNodes – 键值对的映射数组。

    每个键都是一个 UTF-8 字符串,与 Custom string pattern #42 匹配。

    每个值都是一个 CodeGenConfigurationNode 对象。

    定向非循环图表的表示形式,Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。

  • ExecutionClass – UTF-8 字符串,长度不超过 16 个字节(有效值:FLEX="" | STANDARD="")。

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

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

    只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 glueetl 的任务才允许将 ExecutionClass 设置为 FLEX。灵活的执行类可用于 Spark 任务。

  • SourceControlDetails – 一个 SourceControlDetails 对象。

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

  • MaintenanceWindow – UTF-8 字符串,与 Custom string pattern #30 匹配。

    此字段指定一周中的某一天和一小时,作为流式传输任务的维护时段。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 使用情况配置文件名称。

SourceControlDetails 结构

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

字段
  • Provider – UTF-8 字符串。

    远程存储库的提供者。

  • 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 字符串。

    身份验证类型,可以是存储在 AWS Secrets Manager 中的身份验证令牌,也可以是个人访问令牌。

  • AuthToken – UTF-8 字符串,长度不少于 1 个字节或超过 512 个字节。

    授权令牌的值。

操作

CreateJob 操作(Python:create_job)

创建新的作业定义。

请求
  • Name必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    您分配给该作业定义的名称。它在您的 账户中必须是唯一的。

  • JobMode – UTF-8 字符串(有效值:SCRIPT="" | VISUAL="" | NOTEBOOK="")。

    描述任务是如何创建的模式。有效值为:

    • SCRIPT – 该任务使用 AWS Glue Studio 脚本编辑器创建。

    • VISUAL – 该任务使用 AWS Glue Studio 可视化编辑器创建。

    • NOTEBOOK – 该任务使用交互式会话笔记本创建。

    JobMode 字段缺失或为空时,SCRIPT 将指定为默认值。

  • JobRunQueuingEnabled – 布尔值。

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

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

    如果此字段与作业运行中设置的值不匹配,则将使用作业运行字段中的值。

  • Description – 描述字符串,长度不超过 2048 个字节,与 URI address multi-line string pattern 匹配。

    要定义的作业的描述。

  • LogUri – UTF-8 字符串。

    该字段保留,以供将来使用。

  • Role必填:UTF-8 字符串。

    与此作业关联的 IAM 角色的名称或 Amazon 资源名称(ARN)。

  • ExecutionProperty – 一个 ExecutionProperty 对象。

    一个 ExecutionProperty,指定该作业允许的最大并发运行数。

  • Command必填:一个 JobCommand 对象。

    运行此任务的 JobCommand

  • DefaultArguments – 键值对的映射数组。

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

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

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

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

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

    有关如何指定和使用您自己的任务参数的信息,请参阅开发人员指南中的在 Python 中调用 AWS Glue API 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Special Parameters Used by AWS Glue 主题。

    有关在配置 Spark 作业时可以为该字段提供的参数的信息,请参阅《开发人员指南》中的 Using job parameters in Ray jobs

  • NonOverridableArguments – 键值对的映射数组。

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

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

    在作业运行中提供作业参数时,此作业的参数不会被覆盖,而是指定为名称-值对。

  • Connections – 一个 ConnectionsList 对象。

    用于此作业的连接。

  • MaxRetries – 数字(整数)。

    在该作业失败时重试的最大次数。

  • AllocatedCapacity – 数字(整数)。

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

    要分配给该任务的 AWS Glue 数据处理单元(DPU)的数量。您可以分配至少 2 个 DPU;默认值为 10。DPU 是对处理能力的相对度量,它由 4 个 vCPU 的计算容量和 16GB 内存组成。有关更多信息,请参阅 AWS Glue 价格页面

  • Timeout - 数字(整数),至少为 1。

    作业超时(以分钟为单位)。这是任务运行在终止并进入 TIMEOUT 状态前可以使用资源的最长时间。批处理作业的默认值为 2880 分钟(48 小时)。

    流式传输任务的超时值必须小于 7 天或 10080 分钟。如果将该值留空,则如果您尚未设置维护窗口,则该任务将在 7 天后重新启动。如果您设置了维护时段,则该任务将在 7 天后的维护时段内重新启动。

  • MaxCapacity – 数字(double)。

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

    对于 Glue 版本 2.0+ 作业,不能指定 Maximum capacity。而应指定 Worker typeNumber of workers

    如果使用 WorkerTypeNumberOfWorkers,请勿设置 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 匹配。

    该作业将使用的 SecurityConfiguration 结构的名称。

  • Tags – 键值对的映射数组,不超过 50 对。

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

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

    要用于此作业的标签。您可以使用标签来限制对作业的访问。有关 AWS Glue 中的标签的更多信息,请参阅开发人员指南中的 AWS Glue 中的 AWS 标签

  • NotificationProperty – 一个 NotificationProperty 对象。

    指定作业通知的配置属性。

  • GlueVersion – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Custom string pattern #20 匹配。

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

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

    有关可用的 AWS Glue 版本以及相应的 Spark 和 Python 版本的更多信息,请参阅开发人员指南中的 Glue 版本

    在未指定 Glue 版本的情况下创建的任务默认为 Glue 0.9。

  • NumberOfWorkers – 数字(整数)。

    任务运行时分配的定义 workerType 的工作线程数。

  • WorkerType – UTF-8 字符串(有效值:Standard="" | G.1X="" | G.2X="" | G.025X="" | G.4X="" | G.8X="" | Z.2X="")。

    任务运行时分配的预定义工作线程的类型。接受 G.1X、G.2X、G.4X、G.8X 或 G.025X for Spark 作业的值。接受 Ray 作业的值 Z.2X。

    • 对于 G.1X 工作线程类型,每个工作线程映射到 1 个 DPU(4 个 vCPU,16GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.2X 工作线程类型,每个工作线程映射到 2 个 DPU(8 个 vCPU,32GB 内存),128GB 磁盘(77GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议将这种工作线程类型用于数据转换、联接和查询等工作负载,以提供一种可扩展且经济实惠的方式来运行大多数作业。

    • 对于 G.4X 工作线程类型,每个工作线程映射到 4 个 DPU(16 个 vCPU,64GB 内存),256GB 磁盘(235GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于以下 AWS 区域的 AWS Glue 3.0 版或更高版本的 Spark ETL 作业:美国东部(俄亥俄州)、美国东部(弗吉尼亚州北部)、美国西部(俄勒冈州)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和欧洲地区(斯德哥尔摩)。

    • 对于 G.8X 工作线程类型,每个工作线程映射到 8 个 DPU(32 个 vCPU,128GB 内存),512GB 磁盘(487GB 可用空间),并且每个工作线程提供 1 个执行程序。对于工作负载包含要求最高的转换、聚合、联接和查询的作业,我们建议使用这种工作线程类型。此工作线程类型仅适用于 AWS Glue 3.0 版或更高版本的 Spark ETL 作业,其区域与 G.4X 工作线程类型支持的 AWS 区域相同。

    • 对于 G.025X 工作线程类型,每个工作线程映射到 0.25 个 DPU(2 个 vCPU,4GB 内存),84GB 磁盘(34GB 可用空间),并且每个工作线程提供 1 个执行程序。我们建议为低容量串流任务使用此 Worker 类型。此 Worker 类型仅适用于 AWS Glue 版本 3.0 串流任务。

    • 对于 Z.2X 工作线程类型,每个工作线程映射到 2 个 M-DPU(8 个 vCPU,64GB 内存),128GB 磁盘(120GB 可用空间),基于自动缩放器,最多提供 8 个 Ray 工作线程。

  • CodeGenConfigurationNodes – 键值对的映射数组。

    每个键都是一个 UTF-8 字符串,与 Custom string pattern #42 匹配。

    每个值都是一个 CodeGenConfigurationNode 对象。

    定向非循环图表的表示形式,Glue Studio 可视化组件和 Glue Studio 代码生成都是基于该图表的。

  • ExecutionClass – UTF-8 字符串,长度不超过 16 个字节(有效值:FLEX="" | STANDARD="")。

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

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

    只有具有 AWS Glue 版本 3.0 和以上版本以及命令类型 glueetl 的任务才允许将 ExecutionClass 设置为 FLEX。灵活的执行类可用于 Spark 任务。

  • SourceControlDetails – 一个 SourceControlDetails 对象。

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

  • MaintenanceWindow – UTF-8 字符串,与 Custom string pattern #30 匹配。

    此字段指定一周中的某一天和一小时,作为流式传输任务的维护时段。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 使用情况配置文件名称。

响应
  • Name – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

错误
  • InvalidInputException

  • IdempotentParameterMismatchException

  • AlreadyExistsException

  • InternalServiceException

  • OperationTimeoutException

  • ResourceNumberLimitExceededException

  • ConcurrentModificationException

UpdateJob 操作(Python:update_job)

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

请求
  • JobName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

    要更新的作业定义的名称。

  • JobUpdate必填:一个 JobUpdate 对象。

    指定用于更新作业定义的值。未指定的配置已移除或重置为默认值。

  • ProfileName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

响应
  • JobName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

  • ConcurrentModificationException

GetJob 操作(Python:get_job)

检索现有的作业定义。

请求
  • JobName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

响应
  • Job – 一个 作业 对象。

    请求的作业定义。

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

GetJobs 操作(Python:get_jobs)

检索所有当前作业定义。

请求
  • NextToken – UTF-8 字符串。

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

  • MaxResults – 数字(整数),不小于 1 或大于 1000。

    响应的最大大小。

响应
  • Jobs作业 对象的数组。

    作业定义的列表。

  • NextToken – UTF-8 字符串。

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

错误
  • InvalidInputException

  • EntityNotFoundException

  • InternalServiceException

  • OperationTimeoutException

DeleteJob 操作(Python:delete_job)

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

请求
  • JobName必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

响应
  • JobName – UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Single-line string pattern 匹配。

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

错误
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

ListJobs 操作(Python:list_jobs)

检索此 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_get_jobs)

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

请求
  • JobNames必填:UTF-8 字符串数组。

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

响应
  • Jobs作业 对象的数组。

    作业定义的列表。

  • JobsNotFound – UTF-8 字符串数组。

    未找到作业名称的列表。

错误
  • InternalServiceException

  • OperationTimeoutException

  • InvalidInputException