Suporte a script para dados complexos
Crie e faça referência a dados complexos de um script. Use um script quando os dados de origem vierem de um fluxo de dados, uma resposta de etapa REST ou uma etapa de Pesquisa de registros.
Use o script para criar dados complexos quando os dados vierem dessas origens.
| Fonte de dados | Criar/mapear dados complexos de |
|---|---|
| Fluxo de resposta da ação de fluxo de dados | Etapa de analisador de script |
| Resposta da etapa REST | Etapa de script |
| Etapa de registros de pesquisa |
Fluxo de resposta da ação de fluxo de dados
As ações de fluxo de dados usam um script de analisador para mapear valores de item de fluxo para valores de objeto complexo. Ao escrever um script de analisador, use métodos JavaScript apropriados para o formato do fluxo de dados. Por exemplo, use a classe JSON - com escopo para analisar ou codificar um fluxo de dados JSON.
Os scripts do analisador têm acesso aos objetos de entrada e saída do fluxo de dados, bem como a uma propriedade targetObject. Consulte Ações de fluxo de dados para obter mais informações sobre como analisar um fluxo de resposta para criar dados complexos.
Resposta da etapa REST
Você pode converter uma resposta de etapa REST em um ou mais objetos complexos analisando-os com uma etapa de script. Para acessar uma resposta de uma etapa de Script, você deve criar uma variável de script de entrada e mapeá-la para a carga de resposta da etapa REST anterior. Consulte Etapa de script para obter mais informações sobre como criar variáveis de entrada de script.
Escreva um script que mapeie valores de resposta REST para valores de objeto complexos. Ao escrever o script de resposta REST, use métodos JavaScript apropriados para o formato de resposta, como o método JSON parse().
Você não precisa usar uma etapa de script para criar uma solicitação REST a partir de dados complexos. Você pode gerar dados complexos em uma ação ou etapa anterior e mapeá-los para uma entrada de cadeia de caracteres da etapa REST. Em tempo de execução, a ação ou o fluxo converte os dados complexos em uma representação JSON.
Por exemplo, consulte as etapas de script usadas em Introdução às entradas dinâmicas para as ações de coleta de dados. As ações de coleta de dados para obter nomes de tabela e de campo usam uma etapa de script para analisar uma resposta REST em um objeto JSON. Ambas as ações de coleta de dados também criam variáveis de saída que armazenam dados complexos como objetos JSON.
Etapa de registros de pesquisa
Embora os fluxos possam usar Para cada lógica de fluxo para processar uma lista de registros, as ações exigem uma etapa de script. A etapa Script substitui a lógica de fluxo Para cada por JavaScript, como um loop For ou Enquanto.
Para acessar dados de registro de uma etapa de script, você deve criar uma variável de script de entrada e mapeá-la para os dados de registro da etapa de pesquisa anterior. Consulte Etapa de script para obter mais informações sobre como criar variáveis de entrada de script.
Consulte Crie uma ação personalizada para gerar uma matriz de objetos a partir de uma lista de registros para obter um exemplo de ação que converte uma lista de registros de usuário em uma matriz de objetos de contato.
Estruturas de objeto de referência com pontos
Você pode fazer referência a elementos da estrutura de um objeto fazendo referência com pontos ao longo do caminho da estrutura. Todos os caminhos de dados complexos começam com o nome da fonte de dados, que é o objeto global para entradas, o objeto global para saídas ou o nome da matriz ou objeto que você criou no script.
Em seguida no caminho estão os nomes de cada elemento estrutural referenciado, separados por caracteres de ponto (também conhecidos como pontos). Listar os nomes de elementos de estrutura é idêntico à referência com pontos em um campo de referência em que você lista a estrutura da tabela para um campo de referência específico.
Por exemplo, suponha que você defina um objeto de contato como uma Variável de saída. O objeto tem a seguinte estrutura.
| Local na estrutura | Rótulo | Nome | Tipo |
|---|---|---|---|
| Primário | Contato | contato | Objeto |
| Secundário(a) | Nome | first_name | Cadeia de caracteres |
| Secundário(a) | Sobrenome | last_name | Cadeia de caracteres |
| Secundário(a) | Endereços de e-mail | e-mail_address | Array.Object |
| Neto | Endereço de e-mail | email_address | Objeto |
| Bisneto | Tipo | tipo | Escolha |
| Bisneto | Cadeia de caracteres | ||
| Secundário(a) | Telefone | telephone_number | Array.Object |
| Secundário(a) | Endereços para correspondência | mailing_address | Array.Object |
O caminho de referência com pontos para o elemento estrutural Nome seria outputs.contact.first_name, enquanto o caminho para o elemento estrutural E- mail seria outputs.contact.email_addresses[0].email, já que você deve especificar um elemento individual da matriz por seu Valor do índice JavaScript.
Diretrizes gerais
Lembre-se dessas diretrizes gerais ao criar scripts com dados complexos.
- Use entradas de cadeia de caracteres para converter dados complexos em uma cadeia de caracteres JSON
- Quando você mapeia dados complexos para uma entrada de cadeia de caracteres, Workflow Studio os converte automaticamente em uma cadeia de caracteres JSON. Em vez de escrever um script, você pode adicionar uma entrada de cadeia de caracteres a uma etapa REST e mapeá-la para dados complexos de uma ação ou etapa anterior.
- Salvar seus objetos como modelos
- Salve seus objetos como modelos para que você possa reutilizá-los em outras ações, fluxos e etapas de script.
- Criar variáveis de entrada de script para acessar dados anteriores
- Crie uma variável de entrada de script para todos os dados que você deseja acessar a partir da entrada de ação ou de uma etapa anterior. Mapeie a variável de entrada do script para a cápsula de dados de entrada ou de etapa. Por exemplo, mapeie a variável de entrada do script para uma lista de registros de usuário que você pesquisou em uma etapa anterior.
- Criar uma variável de saída de script para armazenar dados complexos
- Crie uma variável de saída de script para armazenar todos os dados complexos que seu script criar. As variáveis de saída do script devem corresponder aos valores definidos no script. Por exemplo, crie uma matriz de objetos de contatos para armazenar vários objetos de contato. Salve o objeto de contato como um modelo para que você possa reutilizá-lo.
- Mapear a saída da ação para a variável de saída do script
- Quando você quiser que uma ação personalizada gere dados complexos, adicione uma saída de ação e mapeie-a para a cápsula de dados da variável de saída da etapa Script. Por exemplo, crie uma matriz de contatos e carregue o modelo de objeto de contato que você salvou anteriormente. Mapeie a saída da ação para a matriz de contatos produzida pela etapa de script.