Suporte a script para dados complexos

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 6 min. de leitura
  • 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.

    Tabela 1. Fontes de dados que requerem script
    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().

    Nota:
    Quando você usa dados complexos como a origem de uma entrada de cadeia de caracteres, Workflow Studio os converte automaticamente em uma cadeia de caracteres JSON.

    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.

    Nota:
    A ação Pesquisar registros não requer uma etapa de script para converter dados de registro em dados complexos. Você pode criar uma ação personalizada para converter um registro em um objeto e aplicar a lógica de fluxo Para cada à ação personalizada. Consulte Criar uma ação personalizada para gerar um objeto a partir de um registro e Crie um fluxo personalizado para gerar um objeto para cada registro em uma lista para obter um exemplo de criação de um objeto complexo sem usar script.

    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.

    Nota:
    Um caminho de referência com pontos sempre lista o nome de um elemento estrutural em vez de seu rótulo.

    Por exemplo, suponha que você defina um objeto de contato como uma Variável de saída. O objeto tem a seguinte estrutura.

    Figura 1. Amostra de objeto de contato
    Uma variável de saída de etapa de script que contém um objeto complexo para Contato.
    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 E-mail e-mail 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.

    Nota:
    Um caminho de referência com pontos omite o nome do elemento repetido na matriz. Por exemplo, uma matriz de objetos não precisa especificar o nome do elemento do objeto. No entanto, como os objetos são contêineres para outros elementos, você pode especificar um elemento secundário do objeto em um caminho de referência com pontos.

    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.