ETL スクリプト API の自動生成 - AWS Glue

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 文字列。

    エッジのターゲット。

場所の構造

リソースの場所。

フィールド
  • JdbcCodeGenNodeArg オブジェクトの配列。構造 50 個以下。

    JDBC の場所。

  • S3CodeGenNodeArg オブジェクトの配列。構造 50 個以下。

    Amazon Simple Storage Service (Amazon S3) の場所。

  • DynamoDBCodeGenNodeArg オブジェクトの配列。構造 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) をコードに変換します。

リクエスト
  • 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 スクリプトを Directed Acyclic Graph (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)。

    マッピングを実行するコードのプログラミング言語。

  • 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