自动生成 ETL 脚本 API - AWS Glue
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

自动生成 ETL 脚本 API

ETL 脚本生成 API 介绍用于在 AWS Glue 中生成 ETL 脚本的数据类型和 API。

数据类型

CodeGenNode 结构

表示有向无环图 (DAG) 中的节点

字段

  • Id必需:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Identifier string pattern 匹配。

    节点图中唯一的节点标识符。

  • NodeType必需:UTF-8 字符串。

    该节点的类型。

  • Args必需:CodeGenNodeArg 对象的数组,不超过 50 个结构。

    节点的属性,采用名称-值对形式。

  • LineNumber – 数字 (integer)。

    节点的行号。

CodeGenNodeArg 结构

节点的参数或属性。

字段

  • Name必需:UTF-8 字符串。

    参数或属性的名称。

  • Value必需:UTF-8 字符串。

    参数或属性的值。

  • Param – 布尔值。

    如果值用作参数,则为 True。

CodeGenEdge 结构

表示有向无环图 (DAG) 中的方向边缘。

字段

  • Source必需:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Identifier string pattern 匹配。

    边缘开始的节点的 ID。

  • Target必需:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Identifier string pattern 匹配。

    边缘结束的节点的 ID。

  • TargetParameter – UTF-8 字符串。

    边缘的目标。

Location 结构

资源的位置。

字段

  • JdbcCodeGenNodeArg 对象的数组,不超过 50 个结构。

    JDBC 位置。

  • S3CodeGenNodeArg 对象的数组,不超过 50 个结构。

    Amazon Simple Storage Service (Amazon S3) 位置

  • DynamoDBCodeGenNodeArg 对象的数组,不超过 50 个结构。

    Amazon DynamoDB 表位置。

CatalogEntry 结构

在 AWS Glue 数据目录中指定表定义。

字段

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

    表元数据所在的数据库。

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

    相关表的名称。

MappingEntry 结构

定义映射。

字段

  • SourceTable – UTF-8 字符串。

    源表的名称。

  • SourcePath – UTF-8 字符串。

    源路径。

  • SourceType – UTF-8 字符串。

    源类型

  • TargetTable – UTF-8 字符串。

    目标表。

  • TargetPath – UTF-8 字符串。

    目标路径。

  • TargetType – UTF-8 字符串。

    目标类型。

操作

CreateScript 操作 (Python:create_script)

将有向无环图 (DAG) 转换为代码。

请求

  • DagNodesCodeGenNode 对象的数组。

    DAG 中的节点的列表。

  • DagEdgesCodeGenEdge 对象的数组。

    DAG 中的边缘的列表。

  • Language – UTF-8 字符串(有效值:PYTHON | SCALA)。

    从 DAG 生成的代码的编程语言。

响应

  • PythonScript – UTF-8 字符串。

    从 DAG 生成的 Python 脚本。

  • ScalaCode – UTF-8 字符串。

    从 DAG 生成的 Scala 代码。

错误

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

GetDataflowGraph 操作 (Python:get_dataflow_graph)

将 Python 脚本转换为有向无环图 (DAG)。

请求

  • PythonScript – UTF-8 字符串。

    要转换的 Python 脚本。

响应

  • DagNodesCodeGenNode 对象的数组。

    生成的 DAG 中的节点的列表。

  • DagEdgesCodeGenEdge 对象的数组。

    生成的 DAG 中的边缘的列表。

错误

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

GetMapping 操作 (Python:get_mapping)

创建映射。

请求

  • Source必需:一个 CatalogEntry 对象。

    指定源表。

  • SinksCatalogEntry 对象的数组。

    目标表的列表。

  • Location – 一个 位置 对象。

    映射的参数。

响应

  • Mapping必需: MappingEntry 对象的数组。

    指定目标的映射的列表。

错误

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • EntityNotFoundException

GetPlan 操作 (Python:get_plan)

获取代码以执行指定的映射。

请求

  • Mapping必需: MappingEntry 对象的数组。

    从源表到目标表的映射的列表。

  • Source必需:一个 CatalogEntry 对象。

    源表。

  • SinksCatalogEntry 对象的数组。

    目标表。

  • Location – 一个 位置 对象。

    映射的参数。

  • Language – UTF-8 字符串(有效值:PYTHON | SCALA)。

    用于执行映射的代码的编程语言。

响应

  • PythonScript – UTF-8 字符串。

    用于执行映射的 Python 脚本。

  • ScalaCode – UTF-8 字符串。

    用于执行映射的 Scala 代码。

错误

  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException