Suporte de 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 fontes.
| Fonte de dados | Criar/mapear dados complexos de |
|---|---|
| Fluxo de resposta da ação de Fluxo de dados | Etapa do 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 complexos. Ao escrever um script de analisador, use métodos JavaScript apropriados para o formato do fluxo de dados. Por exemplo, use a classe JSON - Scoped 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 da etapa REST em um ou mais objetos complexos analisando-a 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.
Grave um script que mapeia 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. No 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 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 a lógica de fluxo For each para processar uma lista de registros, as ações exigem uma etapa de script. A etapa de script substitui a lógica de fluxo Para cada por JavaScript, como um loop Para ou Embora.
Para acessar os 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 percorrendo o caminho da estrutura com pontos. 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 estruturas é idêntico a fazer a 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.
| Colocar 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_addresses | Array.Object |
| Neto | Endereço de e-mail | email_address | Objeto |
| Bisneto | Tipo | tipo | Opção |
| 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 Valor de í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, Flow Designer 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.
- Salve seus objetos como modelos
- Salve seus objetos como modelos para poder 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 da 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 contatos de objetos para armazenar vários objetos de contato. Salve o objeto de contato como modelo para 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 para sua variável de saída da etapa de 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.