本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
自动生成 ETL 脚本 API
ETL 脚本生成 API 介绍用于在 Amazon Glue 中生成 ETL 脚本的数据类型和 API。
数据类型
CodeGenNode 结构
表示有向无环图 (DAG) 中的节点
字段
-
Id
– 必填:UTF-8 字符串,长度不少于 1 个字节或超过 255 个字节,与 Identifier string pattern 匹配。节点图中唯一的节点标识符。
-
NodeType
– 必填:UTF-8 字符串。该节点的类型。
-
Args
– 必填:CodeGenNodeArg 对象的数组,不超过 50 个结构。节点的属性,采用名称-值对形式。
-
LineNumber
– 数字(整数)。节点的行号。
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 结构
资源的位置。
字段
-
Jdbc
– CodeGenNodeArg 对象的数组,不超过 50 个结构。JDBC 位置。
-
S3
– CodeGenNodeArg 对象的数组,不超过 50 个结构。Amazon Simple Storage Service (Amazon S3) 位置
-
DynamoDB
– CodeGenNodeArg 对象的数组,不超过 50 个结构。Amazon DynamoDB 表位置。
CatalogEntry 结构
在 Amazon Glue Data Catalog 中指定表定义。
字段
-
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) 转换为代码。
请求
-
DagNodes
– CodeGenNode 对象的数组。DAG 中的节点的列表。
-
DagEdges
– CodeGenEdge 对象的数组。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 脚本。
响应
-
DagNodes
– CodeGenNode 对象的数组。生成的 DAG 中的节点的列表。
-
DagEdges
– CodeGenEdge 对象的数组。生成的 DAG 中的边缘的列表。
错误
InvalidInputException
InternalServiceException
OperationTimeoutException
GetMapping 操作(Python:get_mapping)
创建映射。
请求
-
Source
– 必填:一个 CatalogEntry 对象。指定源表。
-
Sinks
– CatalogEntry 对象的数组。目标表的列表。
-
Location
– 一个 位置 对象。映射的参数。
响应
-
Mapping
– 必填:MappingEntry 对象的数组。指定目标的映射的列表。
错误
InvalidInputException
InternalServiceException
OperationTimeoutException
EntityNotFoundException
GetPlan 操作(Python:get_plan)
获取代码以执行指定的映射。
请求
-
Mapping
– 必填:MappingEntry 对象的数组。从源表到目标表的映射的列表。
-
Source
– 必填:一个 CatalogEntry 对象。源表。
-
Sinks
– CatalogEntry 对象的数组。目标表。
-
Location
– 一个 位置 对象。映射的参数。
-
Language
– UTF-8 字符串(有效值:PYTHON
|SCALA
)。用于执行映射的代码的编程语言。
-
AdditionalPlanOptionsMap
– 键值对的映射数组。每个键是一个 UTF-8 字符串。
每个值是一个 UTF-8 字符串。
用于保存其他可选键值参数的映射。
目前支持以下键值对:
-
inferSchema
– 指定是否为 Amazon Glue 任务生成的默认脚本将inferSchema
设置为 true 或 false。例如,要将inferSchema
设置为 true,则传递以下键值对:--additional-plan-options-map '{"inferSchema":"true"}'
-
响应
-
PythonScript
– UTF-8 字符串。用于执行映射的 Python 脚本。
-
ScalaCode
– UTF-8 字符串。用于执行映射的 Scala 代码。
错误
InvalidInputException
InternalServiceException
OperationTimeoutException