API de Visual Job de AWS Glue - AWS Glue

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

API de Visual Job de AWS Glue

AWS Glue proporciona una API que permite a los clientes crear trabajos de integración de datos mediante la API de AWS Glue a partir de un objeto JSON que representa un flujo de trabajo de pasos visuales. Los clientes pueden utilizar el editor visual de AWS Glue Studio para realizar estos trabajos.

Para obtener más información sobre los tipos de datos de la API Visual Job, consulte API Visual Job.

Diseño de API y las API de CRUD

Las API CreateJob y UpdateJob ahora son compatibles con un parámetro opcional adicional: codeGenConfigurationNodes. Proporcionar una estructura JSON no vacía para este campo hará que se registre el DAG en AWS Glue Studio para el trabajo creado y que se genere el código asociado. Se ignorará un valor nulo o una cadena vacía para este campo en la creación del trabajo.

Las actualizaciones del campo codeGenConfigurationNodes se realizarán a través de la API de AWS Glue UpdateJob de forma similar a CreateJob. En UpdateJob se debe especificar el campo completo en el que se ha modificado el DAG según lo deseado. Se ignorará todo valor nulo proporcionado y no se realizará ninguna actualización del DAG. Una estructura o cadena vacía hará que los codeGenConfigurationNodes se establezcan como vacíos y se elimine cualquier DAG anterior. La API GetJob devolverá un DAG, si lo hay. La API DeleteJob también eliminará cualquier DAG asociado.

Introducción

Para crear un trabajo, utilice la acción CreateJob. La entrada de la solicitud CreateJob tendrá un campo “codeGenConfigurationNodes” adicional en el que se puede especificar el objeto DAG en JSON.

Para tener en cuenta:

  • El campo “codeGenConfigurationNodes” es un mapa de nodeId a nodo.

  • Cada nodo comienza con una clave que identifica qué tipo de nodo es.

  • Solo puede haber una clave especificada, ya que un nodo solo puede ser de un tipo.

  • El campo de entrada contiene los nodos principales del nodo actual.

La siguiente es una representación JSON de una entrada de 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"] } ] } } }

Actualización y obtención de trabajos

Dado que UpdateJob también tendrá un campo “codeGenConfigurationNodes”, el formato de entrada será el mismo. Consulte Acción UpdateJob.

La acción GetJob devolverá también un campo “codeGenConfigurationNodes” con el mismo formato. Consulte Acción GetJob.

Limitaciones de los trabajos visuales

Dado que el parámetro “codeGenConfigurationNodes” se ha agregado a las API existentes, se heredará cualquier limitación en esas API. Además, los codeGenConfigurationNodes y algunos nodos tendrán un tamaño limitado. Consulte Estructura de los trabajos para obtener más información.