Etapa 1. Crie um arquivo de configuração JSON
É necessário um arquivo de configuração JSON para definir e descrever sua transformação visual personalizada. O esquema para o arquivo de configuração é como se segue.
Estrutura de arquivo JSON
Campos
-
name: string
: (obrigatório) o nome do sistema de transformação usado para identificar as transformações. Siga as mesmas regras de nomenclatura definidas para nomes de variáveis (identificadores) do Python. Especificamente, eles devem começar com uma letra ou um sublinhado e, em seguida, ser compostos inteiramente por letras, dígitos e/ou sublinhados. -
displayName: string
: (opcional) o nome da transformação exibida no editor visual de trabalhos do AWS Glue Studio. Se não for especificado nenhumdisplayName
, oname
será usado como o nome da transformação no AWS Glue Studio. -
description: string
: (opcional) a descrição da transformação é exibida no AWS Glue Studio e pode ser pesquisada. -
functionName: string
: (obrigatório) o nome da função do Python é usado para identificar a função a ser chamada no script do Python. -
path: string
: (opcional) o caminho completo do Amazon S3 para o arquivo fonte do Python. Se não for especificado, o AWS Glue usará a correspondência de nomes de arquivo para emparelhar os arquivos .json e .py. Por exemplo, o nome do arquivo JSON,myTransform.json
, será emparelhado com o arquivo Python,myTransform.py
, no mesmo local do Amazon S3. -
parameters: Array of TransformParameter object
: (opcional) a lista de parâmetros a serem exibidos quando você os configura no editor visual do AWS Glue Studio.
Campos TransformParameter
-
name: string
: (obrigatório) o nome do parâmetro que será passado para a função do Python como um argumento nomeado no script do trabalho. Siga as mesmas regras de nomenclatura definidas para nomes de variáveis (identificadores) do Python. Especificamente, eles devem começar com uma letra ou um sublinhado e, em seguida, ser compostos inteiramente por letras, dígitos e/ou sublinhados. -
displayName: string
: (opcional) o nome da transformação exibida no editor visual de trabalhos do AWS Glue Studio. Se não for especificado nenhumdisplayName
, oname
será usado como o nome da transformação no AWS Glue Studio. -
type: string
: (obrigatório) o tipo de parâmetro que aceita tipos de dados comuns do Python. Valores válidos: 'str' | 'int' | 'float' | 'list' | 'bool'. -
isOptional: boolean
: (opcional) determina se o parâmetro é opcional. Por padrão, todos os parâmetros são obrigatórios. -
description: string
: (opcional) a descrição é exibida no AWS Glue Studio para ajudar o usuário a configurar o parâmetro de transformação. -
validationType: string
: (opcional) define a forma como esse parâmetro é validado. Atualmente, só aceita expressões regulares. Por padrão, o tipo de validação é definido comoRegularExpression
. -
validationRule: string
: (opcional) expressão regular usada para validar a entrada do formulário antes do envio, quandovalidationType
está definido comoRegularExpression
. A sintaxe da expressão regular deve ser compatível com as especificações RegExp do Ecmascript. -
validationMessage: string
: (opcional) a mensagem a ser exibida quando a validação falhar. -
listOptions: An array of TransformParameterListOption object
OU umstring
ou o valor da string 'coluna': (opcional) opções a serem exibidas no controle de interface de usuário de seleção ou seleção múltipla. Aceitar uma lista de valores separados por vírgula ou um objeto JSON do tipoTransformParameterListOption
. Ele também pode preencher dinamicamente a lista de colunas do esquema do nó pai especificando o valor da string “coluna”. -
listType: string
: (opcional) defina os tipos de opções como tipo = “list”. Valores válidos: 'str' | 'int' | 'float' | 'list' | 'bool'. Tipo de parâmetro que aceita tipos de dados comuns do Python.
Campos TransformParameterListOption
-
value: string | int | float | bool
: (obrigatório) valor da opção. -
label: string
: (opcional) rótulo da opção exibida na lista suspensa de seleção.
Transformar parâmetros em AWS Glue Studio
Por padrão, os parâmetros são obrigatórios, a menos que sejam marcados como isOptional
no arquivo .json. No AWS Glue Studio, os parâmetros são exibidos na guia Transform (Transformar). O exemplo mostra parâmetros definidos pelo usuário, como endereço de e-mail, número de telefone, idade, sexo e país de origem.
Você pode impor algumas validações no AWS Glue Studio usando expressões regulares no arquivo json especificando o parâmetro validationRule
e especificando uma mensagem de validação em validationMessage
.
"validationRule": "^\\(?(\\d{3})\\)?[- ]?(\\d{3})[- ]?(\\d{4})$", "validationMessage": "Please enter a valid US number"
nota
Como a validação ocorre no navegador, a sintaxe da expressão regular deve ser compatível com as especificações RegExp do Ecmascript
Adicionar validação evitará que o usuário salve o trabalho com a entrada incorreta do usuário. O AWS Glue Studio exibe a mensagem de validação como a exibida no exemplo:
Os parâmetros são exibidos no AWS Glue Studio com base na configuração do parâmetro.
-
Quando o
type
é qualquer um dos seguintes:str
,int
oufloat
, um campo de entrada de texto é exibido. Por exemplo, a exibição de tela mostra campos de entrada para os parâmetros 'Endereço de e-mail' e 'Sua idade'. -
Quando
type
ébool
, uma caixa de seleção é exibida. -
Quando
type
éstr
elistOptions
é fornecida, é exibida uma única lista de seleção. -
Quando são fornecidos
type
,list
,listOptions
elistType
, é exibida uma lista de seleção múltipla.
Exibir um seletor de coluna como parâmetro
Se a configuração exigir que o usuário escolha uma coluna do esquema, você poderá exibir um seletor de coluna para que o usuário não precise digitar o nome da coluna. Ao definir o campo listOptions
como “coluna”, o AWS Glue Studio exibe dinamicamente um seletor de coluna com base no esquema de saída do nó pai. O AWS Glue Studio pode exibir um seletor de coluna única ou múltipla.
O exemplo a seguir usa o esquema:
Para definir seu parâmetro Transformação visual personalizada para exibir uma única coluna:
-
No seu arquivo JSON, para o objeto
parameters
, defina o valor delistOptions
como "coluna". Isso permite que o usuário escolha uma coluna em uma lista de seleção no AWS Glue Studio. -
Você também pode permitir a seleção de várias colunas definindo o parâmetro como:
-
listOptions: "column"
-
type: "list"
-