

# AWS Glue 블루프린트 클래스 참조
<a name="developing-blueprints-code-classes"></a>

AWS Glue 블루프린트용 라이브러리는 워크플로 레이아웃 스크립트에서 사용하는 세 가지 클래스인 `Job`, `Crawler` 및 `Workflow`를 정의합니다.

**Topics**
+ [작업 클래스](#developing-blueprints-code-jobclass)
+ [크롤러 클래스](#developing-blueprints-code-crawlerclass)
+ [워크플로 클래스](#developing-blueprints-code-workflowclass)
+ [클래스 메서드](#developing-blueprints-code-methods)

## 작업 클래스
<a name="developing-blueprints-code-jobclass"></a>

`Job` 클래스는 AWS Glue ETL 작업을 나타냅니다.

**필수 생성자 인수**  
다음은 `Job` 클래스에 대한 필수 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| Name | str | 작업에 할당할 이름입니다. AWS Glue는 작업을 다른 블루프린트 실행에서 생성된 작업과 구별하기 위해 이름에 임의로 생성된 접미사를 추가합니다. | 
| Role | str | 실행 중 작업이 수임해야 하는 역할의 Amazon 리소스 이름(ARN)입니다. | 
| Command | dict | API 문서의 [JobCommand 구조](aws-glue-api-jobs-job.md#aws-glue-api-jobs-job-JobCommand)에 지정된 작업 명령. | 

**선택적 생성자 인수**  
다음은 `Job` 클래스에 대한 선택적 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| DependsOn | dict | 작업이 종속된 워크플로 엔터티의 목록입니다. 자세한 내용은 [DependsOn 인수 사용](developing-blueprints-code-layout.md#developing-blueprints-code-layout-depends-on) 섹션을 참조하세요. | 
| WaitForDependencies | str | 작업이 종속된 모든 엔터티가 실행되기 전에 완료될 때까지 기다릴지 아니면 하나라도 완료될 때까지 기다릴지 나타냅니다. 자세한 내용은 [WaitForDependencies 인수 사용](developing-blueprints-code-layout.md#developing-blueprints-code-layout-wait-for-dependencies) 섹션을 참조하세요. 작업이 하나의 엔티티에만 종속되는 경우 생략합니다. | 
| (작업 속성) | - | AWS Glue API 설명서의 [작업 구조](aws-glue-api-jobs-job.md#aws-glue-api-jobs-job-Job)에 나열된 모든 작업 속성(CreatedOn 및 LastModifiedOn 제외)입니다. | 

## 크롤러 클래스
<a name="developing-blueprints-code-crawlerclass"></a>

`Crawler` 클래스는 AWS Glue 크롤러를 나타냅니다.

**필수 생성자 인수**  
다음은 `Crawler` 클래스에 대한 필수 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| Name | str | 크롤러에 할당할 이름입니다. AWS Glue는 크롤러를 다른 블루프린트 실행에서 생성된 크롤러와 구별하기 위해 이름에 임의로 생성된 접미사를 추가합니다. | 
| Role | str | 크롤러가 실행 중 수임해야 하는 역할의 ARN입니다. | 
| Targets | dict | 크롤링할 대상 컬렉션입니다. Targets 클래스 생성자 인수는 API 문서의 [CrawlerTargets 구조](aws-glue-api-crawler-crawling.md#aws-glue-api-crawler-crawling-CrawlerTargets)에 정의되어 있습니다. 모두 Targets 생성자 인수는 선택 사항이지만 적어도 하나는 전달해야합니다. | 

**선택적 생성자 인수**  
다음은 `Crawler` 클래스에 대한 선택적 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| DependsOn | dict | 크롤러가 종속된 워크플로 엔터티의 목록입니다. 자세한 내용은 [DependsOn 인수 사용](developing-blueprints-code-layout.md#developing-blueprints-code-layout-depends-on) 섹션을 참조하세요. | 
| WaitForDependencies | str | 크롤러가 종속된 모든 엔터티가 실행되기 전에 완료될 때까지 기다릴지 아니면 하나라도 완료될 때까지 기다릴지 나타냅니다. 자세한 내용은 [WaitForDependencies 인수 사용](developing-blueprints-code-layout.md#developing-blueprints-code-layout-wait-for-dependencies) 섹션을 참조하세요. 크롤러가 하나의 엔티티에만 종속된 경우에는 생략합니다. | 
| (크롤러 속성) | - | 다음 예외사항과 함께 AWS Glue API 설명서의 [크롤러 구조](aws-glue-api-crawler-crawling.md#aws-glue-api-crawler-crawling-Crawler)에 나열된 모든 크롤러 속성:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/developing-blueprints-code-classes.html) | 

## 워크플로 클래스
<a name="developing-blueprints-code-workflowclass"></a>

`Workflow` 클래스는 AWS Glue 워크플로를 나타냅니다. 워크플로 레이아웃 스크립트는 `Workflow` 객체를 반환합니다. AWS Glue에서는 이 객체를 기반으로 하여 워크플로를 생성합니다.

**필수 생성자 인수**  
다음은 `Workflow` 클래스에 대한 필수 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| Name | str | 워크플로에 할당할 이름입니다. | 
| Entities | Entities | 워크플로에 포함할 엔터티 (작업 및 크롤러)의 컬렉션입니다. Entities 클래스 생성자는 Crawler 객체의 목록인 Crawlers 인수와 Job 객체의 목록인 Jobs 인수를 허용합니다. | 

**선택적 생성자 인수**  
다음은 `Workflow` 클래스에 대한 선택적 생성자 인수입니다.


| 인수 이름 | Type | 설명 | 
| --- | --- | --- | 
| Description | str | [워크플루 구조](aws-glue-api-workflow.md#aws-glue-api-workflow-Workflow)을(를) 참조하세요. | 
| DefaultRunProperties | dict | [워크플루 구조](aws-glue-api-workflow.md#aws-glue-api-workflow-Workflow)을(를) 참조하세요. | 
| OnSchedule | str | cron 표현식입니다. | 

## 클래스 메서드
<a name="developing-blueprints-code-methods"></a>

세 클래스 모두 다음 메서드를 포함합니다.

**validate()**  
객체의 속성을 검증하고 오류가 발견되면 메시지를 출력하고 종료합니다. 오류가 없으면 출력을 생성하지 않습니다. `Workflow` 클래스의 경우 워크플로의 모든 엔터티에서 자신을 호출합니다.

**to\$1json()**  
객체를 JSON으로 직렬화합니다. 또한 `validate()`를 호출합니다. `Workflow` 클래스의 경우 JSON 객체에는 작업 및 크롤러 목록과 작업 및 크롤러 종속성 사양에 의해 생성된 트리거 목록이 포함됩니다.