API de scripts de ETL de geração automática
A API de geração de script de ETL descreve os tipos de dados e a API para gerar scripts de ETL no AWS Glue.
Tipos de dados
Estrutura CodeGenNode
Representa um nó em um gráfico acíclico dirigido (DAG)
Campos
-
Id: obrigatório: string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a Identifier string pattern.Um identificador de nó que é exclusivo no gráfico do nó.
-
NodeType– Obrigatório: string UTF-8.Qual é o tipo de nó.
-
Args– Obrigatório: uma matriz de CodeGenNodeArg objetos, não mais de 50 estruturas.Propriedades do nó, na forma de pares nome-valor.
-
LineNumber– Número (íntegro).O número de linha do nó.
Estrutura CodeGenNodeArg
Argumento ou propriedade de um nó.
Campos
-
Name– Obrigatório: string UTF-8.O nome do argumento ou da propriedade.
-
Value– Obrigatório: string UTF-8.O valor do argumento ou da propriedade.
-
Param– Booleano.True, se o valor for usado como um parâmetro.
Estrutura CodeGenEdge
Representa um ponto direcional em um gráfico acíclico dirigido (DAG).
Campos
-
Source: obrigatório: string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a Identifier string pattern.O ID do nó onde o ponto será iniciado.
-
Target: obrigatório: string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a Identifier string pattern.O ID do nó onde o ponto será encerrado.
-
TargetParameter– String UTF-8.O destino do ponto.
Estrutura Location
O local dos recursos.
Campos
-
Jdbc– Uma matriz de CodeGenNodeArg objetos, não mais de 50 estruturas.Um local JDBC.
-
S3– Uma matriz de CodeGenNodeArg objetos, não mais de 50 estruturas.Uma localização do Amazon Simple Storage Service (Amazon S3).
-
DynamoDB– Uma matriz de CodeGenNodeArg objetos, não mais de 50 estruturas.O local de uma tabela do Amazon DynamoDB.
Estrutura CatalogEntry
Especifica uma definição de tabela no AWS Glue Data Catalog.
Campos
-
DatabaseName: obrigatório: string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a Single-line string pattern.O banco de dados em que os metadados de tabela residem.
-
TableName: obrigatório: string UTF-8 com no mínimo 1 e no máximo 255 bytes de comprimento e correspondente a Single-line string pattern.O nome da tabela em questão.
Estrutura MappingEntry
Define um mapeamento.
Campos
-
SourceTable– String UTF-8.O nome da tabela de origem.
-
SourcePath– String UTF-8.O caminho de origem do .
-
SourceType– String UTF-8.O tipo de origem.
-
TargetTable– String UTF-8.O nome da tabela.
-
TargetPath– String UTF-8.O caminho de destino.
-
TargetType– String UTF-8.O tipo de destino.
Operações
Ação CreateScript (Python: create_script)
Transforma um gráfico acíclico dirigido (DAG) em código.
Solicitação
-
DagNodes: um array de objetos CodeGenNode.Uma lista de nós no DAG.
-
DagEdges: um array de objetos CodeGenEdge.Uma lista de pontos no DAG.
-
Language: string UTF-8 (valores válidos:PYTHON|SCALA).A linguagem de programação do código resultante do DAG.
Resposta
-
PythonScript– String UTF-8.O script Python gerado a partir do DAG.
-
ScalaCode– String UTF-8.O código Scala gerado a partir do DAG.
Erros
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException
Ação GetDataflowGraph (Python: get_dataflow_graph)
Transforma um script Python em um gráfico acíclico dirigido (DAG).
Solicitação
-
PythonScript– String UTF-8.O script Python a ser transformado.
Resposta
-
DagNodes: um array de objetos CodeGenNode.Uma lista de nós no DAG resultante.
-
DagEdges: um array de objetos CodeGenEdge.Uma lista de pontos no DAG resultante.
Erros
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException
Ação GetMapping (Python: get_mapping)
Cria mapeamentos.
Solicitação
-
Source– Obrigatório: um objeto CatalogEntry.Especifica a tabela de origem.
-
Sinks: um array de objetos CatalogEntry.Uma lista de tabelas de destino.
-
Location– Um objeto Local.Parâmetros para o mapeamento.
Resposta
-
Mapping– Obrigatório: uma matriz de objetos MappingEntry.Uma lista de mapeamentos para os destinos especificados.
Erros
InvalidInputExceptionInternalServiceExceptionOperationTimeoutExceptionEntityNotFoundException
Ação GetPlan (Python: get_plan)
Obtém o código para executar um mapeamento especificado.
Solicitação
-
Mapping– Obrigatório: uma matriz de objetos MappingEntry.A lista de mapeamentos de uma tabela de origem para tabelas de destino.
-
Source– Obrigatório: um objeto CatalogEntry.A tabela de origem.
-
Sinks: um array de objetos CatalogEntry.O nome das tabelas.
-
Location– Um objeto Local.Os parâmetros para o mapeamento.
-
Language: string UTF-8 (valores válidos:PYTHON|SCALA).A linguagem de programação do código para executar o mapeamento.
-
AdditionalPlanOptionsMap– Um array de mapa dos pares de valor-chave.Cada chave é uma sequência de caracteres UTF-8.
Cada valor é uma sequência de caracteres UTF-8.
Um mapa para conter parâmetros de chave-valor opcionais extras.
Atualmente, estes pares de chave-valor são suportados:
-
inferSchema: especifica se é para definirinferSchemacomo true ou false para o script padrão gerado por um trabalho do AWS Glue. Por exemplo, para definirinferSchemacomo true, passe o seguinte par de chave-valor:--additional-plan-options-map '{"inferSchema":"true"}'
-
Resposta
-
PythonScript– String UTF-8.Um script Python para executar o mapeamento.
-
ScalaCode– String UTF-8.O código Scala para executar o mapeamento.
Erros
InvalidInputExceptionInternalServiceExceptionOperationTimeoutException