本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
AWS Glue 提供一個 API,允許客戶使用 AWS Glue API 從 JSON 物件建立資料整合,而該使用來自代表視覺化步驟工作流程之 的 。然後,客戶可以使用 AWS Glue Studio 中的視覺化編輯器處理這些任務。
如需有關視覺化任務 API 資料類型的詳細資訊,請參閱視覺化任務 API。
API 設計和 CRUD API
CreateJob 和 UpdateJob API 現已支援一個額外的選用參數,即 codeGenConfigurationNodes。為此欄位提供非空白的 JSON 結構將導致在 AWS Glue Studio 中為建立的任務和正在產生的相關程式碼註冊 DAG。系統將忽略任務建立時此欄位的空值或空字串。
透過 UpdateJob AWS Glue API,會以與 CreateJob 類似的方式更新 codeGenConfigurationNodes 欄位。應該在 UpdateJob 中指定整個欄位,其中 DAG 已視需要變更。系統會忽略所提供的空值,且不會對 DAG 執行任何更新。空的結構或字串 codeGenConfigurationNodes 設定為空白,並移除任何先前的 DAG。GetJob API 將會傳回 DAG (若有)。DeleteJob API 也會刪除任何相關聯的 DAG。
入門
若要建立任務,請使用 CreateJob 動作。CreateJob
請求輸入會有一個額外欄位 "codeGenConfigurationNodes",讓您可在其中指定 JSON 中的 DAG 物件。
需要謹記的事項:
-
‘codeGenConfigurationNodes’ 是節點的 nodeId 映射。
-
每個節點都以識別其類型的索引鍵開頭。
-
節點只能是一種類型,因此只能指定一個索引鍵。
-
輸入欄位包含當前節點的父節點。
以下為 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"]
}
]
}
}
}
更新及取得任務
由於 UpdateJob 也將會有 "codeGenConfigurationNodes" 欄位,因此輸入格式將相同。請參閱 UpdateJob 動作。
GetJob 動作也會以相同的格式傳回 "codeGenConfigurationNodes" 欄位。請參閱 GetJob 動作。
視覺化任務限制
由於 ‘codeGenConfigurationNodes’ 參數已新增至現有的 API 中,這些 API 中的任何限制將得到繼承。此外,codeGenConfigurationNodes 和某些節點的大小會受到限制。請參閱任務結構以了解詳細資訊。