API Visual Job do AWS Glue - AWS Glue

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

API Visual Job do AWS Glue

O AWS Glue fornece uma API que permite aos clientes criar trabalhos de integração de dados usando a API do AWS Glue diretamente de um objeto JSON que representa um fluxo de trabalho de etapa visual. Em seguida, os clientes podem usar o editor visual no AWS Glue Studio para lidar com esses trabalhos.

Para mais informações sobre os tipos de dados da API Visual Job, consulte API Visual Job.

Design de API e APIs CRUD

Agora as APIs CreateJob e UpdateJob oferecem suporte a um parâmetro opcional adicional, codeGenConfigurationNodes. O fornecimento de uma estrutura JSON não vazia a esse campo resultará no registro do DAG no AWS Glue Studio para o trabalho criado e o código associado que está sendo gerado. Um valor nulo ou string vazia para este campo na criação do trabalho será ignorado.

As atualizações do campo codeGenConfigurationNodes serão feitas por meio da API UpdateJob do AWS Glue de maneira semelhante a CreateJob. Deve-se especificar o campo inteiro em UpdateJob quando o DAG tiver sido alterado conforme desejado. Um valor nulo fornecido será ignorado e nenhuma atualização para o DAG será executada. Uma estrutura ou string vazia fará com que CodeGenConfigurationNodes seja definido como vazio e qualquer DAG anterior seja removido. A API GetJob retornará um DAG, se houver. A API DeleteJob também excluirá qualquer DAG associado.

Conceitos básicos

Para criar um trabalho, use a ação CreateJob. A entrada da solicitação CreateJob terá um campo adicional “codeGenConfigurationNodes”, no qual é possível especificar o objeto DAG no JSON.

Tenha em mente que:

  • O campo "codeGenConfigurationNodes" é um mapa de nodeId para o nó.

  • Cada nó começa com uma chave que identifica o tipo do nó.

  • Só pode haver uma chave especificada, pois um nó só pode ser de um tipo.

  • O campo de entrada contém os nós pais do nó atual.

Veja a seguir uma representação de JSON de uma entrada CreateJob.

{ "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"] } ] } } }

Atualizar e receber trabalhos

Como UpdateJob também terá um campo “codeGenConfigurationNodes”, o formato de entrada será o mesmo. Consulte a ação UpdateJob.

A ação GetJob também retornará um campo “codeGenConfigurationNodes” no mesmo formato. Consulte a ação GetJob.

Limitações de trabalho visual

Como o parâmetro "codeGenConfigurationNodes" foi adicionado a APIs existentes, quaisquer limitações nessas APIs serão herdadas. Além disso, codeGenConfigurationNodes e alguns nós serão limitados em tamanho. Para mais informações, consulte Estrutura de trabalho.