API de generación automática de scripts de ETL - 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 generación automática de scripts de ETL

La API de generación de scripts de ETL describe los tipos de datos y la API de generación de scripts de ETL en AWS Glue.

Tipos de datos

Estructura CodeGenNode

Representa un nodo en gráficos acíclicos dirigidos (DAG)

Campos
  • Id: obligatorio: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el Identifier string pattern.

    Identificador de nodo que es único en el gráfico de nodos.

  • NodeTypeObligatorio: cadena UTF-8.

    El tipo de nodo de que se trata.

  • ArgsObligatorio: matriz de objetos CodeGenNodeArg, con 50 estructuras como máximo.

    Propiedades del nodo, en forma de pares nombre-valor.

  • LineNumber: número (entero).

    El número de la línea del nodo.

Estructura CodeGenNodeArg

Argumento o propiedad de un nodo.

Campos
  • NameObligatorio: cadena UTF-8.

    El nombre del argumento o la propiedad.

  • ValueObligatorio: cadena UTF-8.

    El valor del argumento o la propiedad.

  • Param: booleano.

    True si el valor se utiliza como un parámetro.

Estructura CodeGenEdge

Representa un límite direccional en un gráfico acíclico dirigido (DAG).

Campos
  • Source: obligatorio: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el Identifier string pattern.

    El ID del nodo donde comienza el límite.

  • Target: obligatorio: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el Identifier string pattern.

    El ID del nodo donde finaliza el límite.

  • TargetParameter: cadena UTF-8.

    El destino del límite.

Estructura de ubicación

La ubicación de los recursos.

Campos
  • Jdbc: matriz de objetos CodeGenNodeArg, con 50 estructuras como máximo.

    Una ubicación de JDBC.

  • S3: matriz de objetos CodeGenNodeArg, con 50 estructuras como máximo.

    Una ubicación de Amazon Simple Storage Service (Amazon S3).

  • DynamoDB: matriz de objetos CodeGenNodeArg, con 50 estructuras como máximo.

    Una ubicación de tabla de Amazon DynamoDB.

Estructura CatalogEntry

Especifica una definición de tabla en el AWS Glue Data Catalog.

Campos
  • DatabaseName: obligatorio: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el Single-line string pattern.

    La base de datos en la que se encuentran los metadatos de la tabla.

  • TableName: obligatorio: cadena UTF-8, con 1 byte de largo como mínimo y 255 bytes de largo como máximo, que coincide con el Single-line string pattern.

    Nombre de la tabla en cuestión.

Estructura MappingEntry

Define un mapeo.

Campos
  • SourceTable: cadena UTF-8.

    El nombre de la tabla de origen.

  • SourcePath: cadena UTF-8.

    La ruta de origen de .

  • SourceType: cadena UTF-8.

    El tipo de origen.

  • TargetTable: cadena UTF-8.

    La tabla de destino.

  • TargetPath: cadena UTF-8.

    La ruta de destino.

  • TargetType: cadena UTF-8.

    El tipo de destino.

Operaciones

Acción CreateScript (Python: create_script)

Transforma gráficos acíclicos dirigidos (DAG) en código.

Solicitud
  • DagNodes: matriz de objetos CodeGenNode.

    Lista de los nodos en el DAG.

  • DagEdges: matriz de objetos CodeGenEdge.

    Lista de los límites en el DAG.

  • Language: cadena UTF-8 (valores válidos: PYTHON | SCALA).

    El lenguaje de programación del código que genera el DAG.

Respuesta
  • PythonScript: cadena UTF-8.

    El script de Python generado desde el DAG.

  • ScalaCode: cadena UTF-8.

    El código Scala generado desde el DAG.

Errores
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

Acción GetDataflowGraph (Python: get_dataflow_graph)

Transforma scripts de Python en gráficos acíclicos dirigidos (DAG).

Solicitud
  • PythonScript: cadena UTF-8.

    El script de Python que se va a transformar.

Respuesta
  • DagNodes: matriz de objetos CodeGenNode.

    Lista de los nodos en el DAG resultante.

  • DagEdges: matriz de objetos CodeGenEdge.

    Lista de los límites en el DAG resultante.

Errores
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

Acción GetMapping (Python: get_mapping)

Crea mapeos.

Solicitud
  • Source: obligatorio: objeto CatalogEntry.

    Especifica la tabla de origen.

  • Sinks: matriz de objetos CatalogEntry.

    Lista de las tablas de destino.

  • Location: objeto Location.

    Parámetros para el mapeo.

Respuesta
  • Mapping (obligatorio): una matriz de objetos MappingEntry.

    Lista de mapeos para los destinos especificados.

Errores
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException

  • EntityNotFoundException

Acción GetPlan (Python: get_plan)

Obtiene código para realizar un mapeo especificado.

Solicitud
  • Mapping (obligatorio): una matriz de objetos MappingEntry.

    La lista de mapeos desde una tabla de origen a las tablas de destino.

  • Source: obligatorio: objeto CatalogEntry.

    La tabla de origen.

  • Sinks: matriz de objetos CatalogEntry.

    Las tablas de destino.

  • Location: objeto Location.

    Los parámetros para el mapeo.

  • Language: cadena UTF-8 (valores válidos: PYTHON | SCALA).

    El lenguaje de programación del código para realizar el mapeo.

  • AdditionalPlanOptionsMap: matriz de mapas de pares clave-valor.

    Cada clave es una cadena UTF-8.

    Cada valor es una cadena UTF-8.

    Un mapa para contener parámetros opcionales de clave-valor adicionales.

    Actualmente, se soportan los siguientes pares clave-valor:

    • inferSchema: especifica si se debe configurar inferSchema como verdadero o falso para el script predeterminado generado por un trabajo de AWS Glue. Por ejemplo, para configurar inferSchema como verdadero, transfiera el siguiente par de clave-valor:

      --additional-plan-options-map '{"inferSchema":"true"}'

Respuesta
  • PythonScript: cadena UTF-8.

    Script de Python para realizar el mapeo.

  • ScalaCode: cadena UTF-8.

    Código de Scala para realizar el mapeo.

Errores
  • InvalidInputException

  • InternalServiceException

  • OperationTimeoutException