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 コード。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException
GetDataflowGraph アクション (Python: get_dataflow_graph)
Python スクリプトを Directed Acyclic Graph (DAG) に変換します。
リクエスト
-
PythonScript– UTF-8 文字列。変換する Python スクリプト。
応答
-
DagNodes– CodeGenNode オブジェクトの配列。結果の DAG 内のノードのリスト。
-
DagEdges– CodeGenEdge オブジェクトの配列。結果の DAG 内のエッジのリスト。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException
GetMapping アクション (Python: get_mapping)
マッピングを作成します。
リクエスト
-
Source– 必須: CatalogEntry オブジェクト。ソーステーブルを指定します。
-
Sinks– CatalogEntry オブジェクトの配列。ターゲットテーブルのリスト。
-
Location– 場所 オブジェクト。マッピングのパラメータ。
レスポンス
-
Mapping– 必須: MappingEntry オブジェクトの配列。指定されたターゲットへのマッピングのリスト。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionEntityNotFoundException
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 コード。
エラー
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException