本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
ETL 產生指令碼 API 說明在 AWS Glue產生 ETL 指令碼的資料類型與 API。
資料類型
CodeGenNode 結構
代表有向無環圖 (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 結構
代表有向無環圖 (DAG) 中的方向性邊緣。
欄位
-
Source
– 必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Identifier string pattern。邊緣開始節點的 ID。
-
Target
– 必要:UTF-8 字串,長度不可小於 1 個位元組,也不可以超過 255 個位元組,且需符合Identifier string pattern。邊緣結束節點的 ID。
-
TargetParameter
– UTF-8 字串。邊緣的目標。
Location 結構
資源的位置。
欄位
-
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)
將有向無環圖 (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 指令碼轉換為有向無環圖 (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
— 指定任務產生的預設指令碼要inferSchema
設為 true 還是 false AWS Glue 。例如,若要將inferSchema
設定為 true,請傳遞鍵值對:--additional-plan-options-map '{"inferSchema":"true"}'
-
回應
-
PythonScript
– UTF-8 字串。用來進行映射的 Python 指令碼。
-
ScalaCode
– UTF-8 字串。用來進行映射的 Scala 程式碼。
錯誤
InvalidInputException
InternalServiceException
OperationTimeoutException