AWS Glue は ビジュアルステップワークフローを表す JSON オブジェクトから AWS Glue APIを使用して、お客様がデータ統合ジョブを作成できるようにする API を提供します。 お客様は AWS Glue Studio のビジュアルエディターを使って、これらのジョブを処理することができます。
Visual Job API データ型の詳細については、「Visual Job API」(ビジュアル Job API) を参照してください。
API 設計と CRUD API
CreateJobAPI と UpdateJob の API は、追加のオプションパラメータとして codeGenConfigurationNodes をサポートするようになりました。このフィールドに空でない JSON 構造を指定すると、作成されたジョブの AWS Glue Studio に対して DAG が登録され、関連するコードが生成されます。ジョブ作成時のこのフィールドの NULL 値または空の文字列は無視されます。
codeGenConfigurationNodes フィールドの更新は、CreateJob と同様の方法で UpdateJob AWS Glue API で行われます。DAG が必要に応じて変更された UpdateJob でフィールド全体を指定する必要があります。指定された NULL 値は無視され、DAG への更新は実行されません。空の構造体または文字列を指定すると、CodeGenConfigurationNodes が空に設定され、以前の DAG が削除されます。GetJob API は DAG が存在する場合、DAG を返します。DeleteJob API では、関連する DAG も削除されます。
使用開始
ジョブを作成するには、CreateJob アクションを使用します。CreateJob
リクエストの入力には、JSON で DAG オブジェクトを指定できる追加のフィールド 「CodeGenConfigurationNodes」があります。
留意すべきこと:
-
「CodeGenConfigurationNodes」フィールドは、ノードへの nodeID のマップです。
-
各ノードは、ノードの種類を識別するキーで始まります。
-
ノードには 1 つのタイプしか指定できないため、キーは 1 つしか指定できません。
-
入力フィールドには、現在のノードの親ノードが含まれます。
以下は、CreateJob 入力の JSON 表現です。
{
"node-1": {
"S3CatalogSource": {
"Table": "csvFormattedTable",
"PartitionPredicate": "",
"Name": "S3 bucket",
"AdditionalOptions": {},
"Database": "myDatabase"
}
},
"node-3": {
"S3DirectTarget": {
"Inputs": ["node-2"],
"PartitionKeys": [],
"Compression": "none",
"Format": "json",
"SchemaChangePolicy": { "EnableUpdateCatalog": false },
"Path": "",
"Name": "S3 bucket"
}
},
"node-2": {
"ApplyMapping": {
"Inputs": ["node-1"],
"Name": "ApplyMapping",
"Mapping": [
{
"FromType": "long",
"ToType": "long",
"Dropped": false,
"ToKey": "myheader1",
"FromPath": ["myheader1"]
},
{
"FromType": "long",
"ToType": "long",
"Dropped": false,
"ToKey": "myheader2",
"FromPath": ["myheader2"]
},
{
"FromType": "long",
"ToType": "long",
"Dropped": false,
"ToKey": "myheader3",
"FromPath": ["myheader3"]
}
]
}
}
}
ジョブの更新と取得
[Updating jobs] (ジョブの更新) に 'codeGenConfigurationNodes'フィールドがあるため、入力形式は同じになります。「UpdateJob」アクションを参照してください。
GetJob アクションは、同じ形式の「CodeGenConfigurationNodes」フィールドも返します。「GetJob」アクションを参照してください。
ビジュアルジョブの制限
既存の API に「CodeGenConfigurationNodes」パラメータが追加されているため、これらの API の制限はすべて継承されます。さらに、CodeGenConfigurationNodes および一部のノードのサイズは制限されます。詳細については、次の「ジョブ構造」を参照してください。