AWS Glue Visual Job API
AWS Glue는 고객이 시각적 단계 워크플로를 나타내는 JSON 객체의 AWS Glue API를 사용하여 데이터 통합 작업을 생성할 수 있게 해주는 API를 제공합니다. 그러면 고객은 AWS Glue Studio의 시각적 편집기를 사용하여 이러한 작업을 수행할 수 있습니다.
시각적 작업 API 데이터 형식에 대한 자세한 내용은 Visual Job API를 참조하세요.
API 설계 및 CRUD API
이제 CreateJob 및 UpdateJob API 에서 선택적 추가 파라미터인 codeGenConfigurationNodes를 지원합니다. 이 필드에 비어 있지 않은 JSON 구조를 제공하면 생성된 작업에 대한 DAG가 AWS Glue Studio에 등록되고 관련 코드가 생성됩니다. 작업 생성 시 이 필드의 Null 값이나 빈 문자열은 무시됩니다.
codeGenConfigurationNodes 필드에 대한 업데이트는 CreateJob과 비슷한 방식으로 UpdateJob AWS Glue API를 통해 수행됩니다. DAG가 원하는 대로 변경된 UpdateJob에 전체 필드를 지정해야 합니다. 제공된 Null 값은 무시되며 DAG에 대한 업데이트가 수행되지 않습니다. 빈 구조나 문자열을 제공하면 codeGenConfigurationNodes가 비어 있는 것으로 설정되고 이전 DAG는 모두 제거됩니다. GetJob API는 DAG를 반환합니다(존재하는 경우). DeleteJob API는 연결된 모든 DAG도 삭제합니다.
시작하기
작업을 생성하려면 CreateJob 작업을 사용합니다. CreateJob
요청 입력에는 JSON에서 DAG 객체를 지정할 수 있는 추가 필드인 ‘codeGenConfigurationNodes’가 있습니다.
다음과 같은 사항에 유의하세요.
-
'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와 일부 노드는 크기가 제한됩니다. 자세한 내용은 작업 구조 를 참조하세요.