

# Referência de classes de esquema do AWS Glue
<a name="developing-blueprints-code-classes"></a>

As bibliotecas para esquemas do AWS Glue definem três classes que você pode usar no script de layout do fluxo de trabalho: `Job`, `Crawler` e `Workflow`.

**Topics**
+ [Classe Job](#developing-blueprints-code-jobclass)
+ [Classe Crawler](#developing-blueprints-code-crawlerclass)
+ [Classe Workflow](#developing-blueprints-code-workflowclass)
+ [Classe Methods](#developing-blueprints-code-methods)

## Classe Job
<a name="developing-blueprints-code-jobclass"></a>

A classe `Job` representa um trabalho de ETL do AWS Glue.

**Argumentos construtores obrigatórios**  
Veja os argumentos construtores obrigatórios para a classe `Job`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| Name | str | O nome a ser atribuído ao trabalho. O AWS Glue adiciona um sufixo gerado aleatoriamente ao nome para distinguir o trabalho daqueles criados por outras execuções de esquema. | 
| Role | str | O nome do recurso da Amazon (ARN) da função que o trabalho deve assumir ao executar. | 
| Command | dict | Comando Job (Trabalho), conforme especificado em [Estrutura JobCommand](aws-glue-api-jobs-job.md#aws-glue-api-jobs-job-JobCommand) na documentação da API.  | 

**Argumentos construtores opcionais**  
Veja os argumentos construtores opcionais para a classe `Job`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| DependsOn | dict | Lista de entidades de fluxo de trabalho das quais o trabalho depende. Para obter mais informações, consulte [Usar o argumento DependsOn](developing-blueprints-code-layout.md#developing-blueprints-code-layout-depends-on). | 
| WaitForDependencies | str | Indica se o trabalho deve esperar até que todas as entidades das quais depende sejam concluídas antes de executar ou até que qualquer uma seja concluída. Para obter mais informações, consulte [Usar o argumento WaitForDependencies](developing-blueprints-code-layout.md#developing-blueprints-code-layout-wait-for-dependencies). Omita, se o trabalho depender de apenas uma entidade. | 
| (Propriedades do trabalho) | - | Qualquer uma das propriedades do trabalho listadas em [Estrutura do trabalho](aws-glue-api-jobs-job.md#aws-glue-api-jobs-job-Job) na documentação da API do AWS Glue (exceto CreatedOn e LastModifiedOn). | 

## Classe Crawler
<a name="developing-blueprints-code-crawlerclass"></a>

A classe `Crawler` representa um crawler do AWS Glue.

**Argumentos construtores obrigatórios**  
Veja os argumentos construtores obrigatórios para a classe `Crawler`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| Name | str | O nome a ser atribuído ao crawler. O AWS Glue adiciona um sufixo gerado aleatoriamente ao nome para distinguir o trabalho daqueles criados por outras execuções de esquema. | 
| Role | str | ARN da função que o crawler deve assumir ao executar. | 
| Targets | dict | Coleção de destinos a serem rastreados. Os argumentos construtores da classe Targets são definidos em [Estrutura CrawlerTargets](aws-glue-api-crawler-crawling.md#aws-glue-api-crawler-crawling-CrawlerTargets) na documentação da API. Todos os argumentos construtores de Targets são opcionais, mas você deve informar pelo menos um.  | 

**Argumentos construtores opcionais**  
Veja os argumentos construtores opcionais para a classe `Crawler`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| DependsOn | dict | Lista de entidades de fluxo de trabalho das quais o crawler depende. Para obter mais informações, consulte [Usar o argumento DependsOn](developing-blueprints-code-layout.md#developing-blueprints-code-layout-depends-on). | 
| WaitForDependencies | str | Indica se o crawler deve esperar até que todas as entidades das quais depende sejam concluídas antes de executar ou até que qualquer uma seja concluída. Para obter mais informações, consulte [Usar o argumento WaitForDependencies](developing-blueprints-code-layout.md#developing-blueprints-code-layout-wait-for-dependencies). Omita, se o crawler depender de apenas uma entidade. | 
| (Propriedades do crawler) | - | Qualquer uma das propriedades do crawler listadas em [Estrutura Crawler](aws-glue-api-crawler-crawling.md#aws-glue-api-crawler-crawling-Crawler) na documentação da API do AWS Glue, com as seguintes exceções:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/glue/latest/dg/developing-blueprints-code-classes.html) | 

## Classe Workflow
<a name="developing-blueprints-code-workflowclass"></a>

A classe `Workflow` representa um fluxo de trabalho do AWS Glue. O script de layout de fluxo de trabalho retorna um objeto `Workflow`. AWS Glue cria um fluxo de trabalho com base nesse objeto.

**Argumentos construtores obrigatórios**  
Veja os argumentos construtores obrigatórios para a classe `Workflow`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| Name | str | O nome a ser atribuído ao fluxo de trabalho. | 
| Entities | Entities | Uma coleção de entidades (trabalhos e crawlers) a serem incluídas no fluxo de trabalho. O construtor da classe Entities aceita um argumento Jobs, que é uma lista de objetos Job, e um argumento Crawlers, que é uma lista de objetos Crawler. | 

**Argumentos construtores opcionais**  
Veja os argumentos construtores opcionais para a classe `Workflow`.


| Nome do argumento | Tipo | Descrição | 
| --- | --- | --- | 
| Description | str | Consulte [Estrutura Workflow](aws-glue-api-workflow.md#aws-glue-api-workflow-Workflow). | 
| DefaultRunProperties | dict | Consulte [Estrutura Workflow](aws-glue-api-workflow.md#aws-glue-api-workflow-Workflow). | 
| OnSchedule | str | Uma expressão cron. | 

## Classe Methods
<a name="developing-blueprints-code-methods"></a>

Todas as três classes incluem os seguintes métodos.

**validate()**  
Valida as propriedades do objeto e, se forem encontrados erros, emite uma mensagem e sai. Não gera saída se não houver erros. Para a classe `Workflow`, chama a si mesma em cada entidade no fluxo de trabalho.

**to\$1json()**  
Serializa o objeto em JSON. Também chama `validate()`. Para a classe `Workflow`, o objeto JSON inclui listas de trabalhos e crawlers e uma lista de acionadores gerados pelas especificações de dependência de trabalho e de crawler.