ETL スクリプト API の自動生成
ETL スクリプト生成 API では、AWS Glue で ETL スクリプトを生成するためのデータ型と API について説明します。
データ型
CodeGenNode 構造
Directed Acyclic Graph (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 構造
Directed Acyclic Graph (DAG) で方向のエッジを表します。
フィールド
-
Source
– 必須: UTF-8 文字列、1~255 バイト長、Identifier string pattern に一致。エッジが始まるノードの ID。
-
Target
– 必須: UTF-8 文字列、1~255 バイト長、Identifier string pattern に一致。エッジが終了するノードの ID。
-
TargetParameter
– UTF-8 文字列。エッジのターゲット。
場所の構造
リソースの場所。
フィールド
-
Jdbc
– CodeGenNodeArg オブジェクトの配列。構造 50 個以下。JDBC の場所。
-
S3
– CodeGenNodeArg オブジェクトの配列。構造 50 個以下。Amazon Simple Storage Service (Amazon S3) の場所。
-
DynamoDB
– CodeGenNodeArg オブジェクトの配列。構造 50 個以下。Amazon DynamoDB テーブルの場所。
CatalogEntry 構造
AWS 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)
Directed Acyclic Graph (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 スクリプトを Directed Acyclic Graph (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
– AWS Glue ジョブによって生成されたデフォルトスクリプトのinferSchema
の設定を true にするか false にするかを指定します。例えば、inferSchema
を true に設定するには、次のキーと値のペアを渡します。--additional-plan-options-map '{"inferSchema":"true"}'
-
レスポンス
-
PythonScript
– UTF-8 文字列。マッピングを実行する Python スクリプト。
-
ScalaCode
– UTF-8 文字列。マッピングを実行する Scala コード。
エラー
InvalidInputException
InternalServiceException
OperationTimeoutException