Todos os produtos
Search
Central de documentação

:Orquestração de serviços

Última atualização: Jun 27, 2026

O recurso de orquestração de serviços do DataService Studio oferece uma interface visual com funcionalidade arrastar e soltar para criar workflows. Organize múltiplas APIs e funções em um workflow com estruturas sequenciais, paralelas e de ramificação, alinhadas à sua lógica de negócios.

Pré-requisitos

  • A orquestração de serviços exige o DataWorks Enterprise Edition ou versão superior. Para mais informações, consulte Edições e faturamento.

  • Este recurso está disponível apenas na região China (Shanghai). No momento, ele passa por uma atualização e encontra-se temporariamente indisponível. Agradecemos a compreensão.

Informações básicas

Ao chamar um serviço de API do tipo Service arrangement, o sistema executa os nós de serviço configurados em sequência, transmite parâmetros entre eles e gerencia automaticamente as transições de estado. A orquestração de serviços simplifica significativamente o desenvolvimento e os custos de O&M ao combinar vários serviços, permitindo que você se concentre na lógica de negócios.

A orquestração de serviços oferece as seguintes vantagens:

  • Redução dos custos de desenvolvimento de APIs

    Crie workflows por meio de uma interface visual com arrastar e soltar. Organize chamadas de API em estruturas sequenciais, paralelas ou de ramificação sem escrever código adicional, o que reduz drasticamente os custos de desenvolvimento.

  • Melhoria no desempenho das chamadas de serviço

    Executar múltiplas chamadas de API ou funções na mesma instância de contêiner diminui a sobrecarga de rede em comparação à criação de um serviço de workflow próprio, resultando em ganho expressivo de desempenho.

  • Arquitetura serverless

    A orquestração utiliza arquitetura serverless com dimensionamento automático. Não é necessário gerenciar o ambiente de execução subjacente, liberando você para focar exclusivamente na lógica de negócios.

Regras de entrada e saída

O DataService Studio utiliza JSONPath para recuperar valores de parâmetros. JSONPath é uma linguagem de expressão para extrair dados de documentos JSON. Para mais detalhes, consulte a documentação oficial do JSONPath.

Por exemplo, considere uma sequência de três nós: A, B e C. O Nó C precisa acessar a saída tanto do Nó A quanto do Nó B:

  • Saída do Nó A: {"namea":"valuea"}.

    Para acessar a saída do Nó A, utilize ${A.namea}.

  • Saída do Nó B: {"nameb":"valueb"}.

    Para acessar a saída do Nó B, use $.nameb ou ${B.nameb}.

O sistema inclui um start node integrado que fornece os parâmetros de entrada iniciais para o workflow. Por exemplo, se a entrada de um workflow for {"namewf":"valuewf"}, qualquer nó poderá acessar esse valor usando a expressão ${START.namewf}.

Nota

O start node e o end node são nós integrados do sistema. Você pode renomeá-los, mas não é possível excluí-los. O start node representa a etapa inicial, ou Nó 0, do workflow.

Parâmetros

  • Parâmetros de requisição do workflow

    Clique em Request Parameters no lado direito da página de edição de orquestração de serviços para configurar os parâmetros de requisição, selecionando Add manually ou Automatic analysis:

    • Add manually: Clique em Add Parameter para adicionar parâmetros de requisição ao workflow.

    • Automatic analysis: Caso o primeiro nó do workflow seja um nó de API, clique em Automatically parse request parameters para mapear os parâmetros de requisição da API para o workflow.

  • Parâmetros de requisição do nó de API

    Clique em um nó de API e, no painel exibido, clique em Input Request Parameters para configurar os valores dos parâmetros de requisição.

    • Por padrão, o sistema mapeia com base em nomes, correspondendo o parâmetro a um campo de mesmo nome no nível superior da saída JSON do nó anterior.

      Nota

      Se o nó atual for o primeiro do workflow, seus parâmetros serão mapeados por nome a partir dos parâmetros de requisição principais do workflow.

    • Quando você define um valor de parâmetro, o sistema utiliza o valor fornecido.

      Nota

      Para definir o valor do parâmetro do nó atual com base em um parâmetro específico de um nó upstream designado, use uma expressão JSONPath.

  • Parâmetros de resposta do nó de API

    Clique em um nó de API, marque a caixa de seleção set output results e utilize uma expressão JSONPath para personalizar a saída. Exemplo:

    {
      "return1":"$.data.rows.user_id",
      "return2":"$.data.rows.user_name"
    }
  • Parâmetros de requisição do nó Python

    Clique em um nó Python e insira o conteúdo dos parâmetros de requisição no editor Request Parameters.

  • Parâmetros de resposta do nó Python

    Clique em um nó Python, marque a caixa de seleção set output results e use uma expressão JSONPath para personalizar a saída. Exemplo:

    {
      "return1":"$.data.rows.user_id",
      "return2":"$.data.rows.user_name"
    }

A tabela a seguir descreve expressões JSONPath comuns para recuperação de valores de parâmetros.

Expressão JSONPath

Uso em requisições

Uso em respostas

$.

Referencia o objeto raiz da saída do nó anterior.

Referencia o objeto raiz da saída do nó atual.

$.param

Recupera o valor do parâmetro param da saída do nó anterior.

Recupera o valor do parâmetro param da saída do nó atual.

${START}

Recupera os parâmetros de requisição do workflow, que correspondem à saída do start node.

${NodeID}

Recupera a saída do nó com o ID especificado.

${NodeID.param}

Recupera o valor do parâmetro param da saída do nó com o ID especificado.

Exemplo

  1. Faça login no console do DataWorks. Na região desejada, clique em Data Analysis and Service > DataService Studio no painel de navegação à esquerda. Selecione um workspace na lista suspensa e clique em Go to DataService Studio.

  2. Registre uma API.

    Este exemplo registra uma API a partir de um endpoint existente.

    1. No painel de navegação à esquerda, clique no ícone image para acessar a página Service Development.

    2. Passe o mouse sobre o ícone image e escolha Create API > Register API.

    3. Na caixa de diálogo Register API, configure os parâmetros. Para mais informações, consulte Registrar um serviço de API externo.

    4. Clique em Determine.

  3. Registre uma função.

    1. Na página Service Development, passe o mouse sobre o ícone 新建 e escolha Function > Create Python Function.

      Alternativamente, localize o processo de negócios relevante, clique com o botão direito em Function e escolha Create > Create Python Function.

    2. Na caixa de diálogo Create Python Function, configure os parâmetros. Para mais informações, consulte Gerenciar funções.

    3. Clique em OK.

    4. Na página de configuração da função, insira o seguinte código na área Edit Code.

      # -*- coding: utf-8 -*-
      # event (str) : in filter it is the API result, in other cases, it is your param
      # context : some environment information, temporarily useless
      # import module limit: json,time,random,pickle,re,math
      import json
      def handler(event,context):
          # load str to json object
          obj = json.loads(event)
          # add your code here
          # end add
          return obj
    5. Na seção Environment Configuration, defina a Memory e o Timeout.

    6. Clique no ícone 保存 na barra de ferramentas.

  4. Crie um workflow.

    1. Na página Service Development, passe o mouse sobre o ícone 新建 e clique em Create Workflow.

      Como alternativa, encontre o processo de negócios correspondente, clique com o botão direito em Service arrangement e escolha Create Workflow.

    2. Na caixa de diálogo Service arrangement, configure os parâmetros.

      Parâmetro

      Descrição

      API Name

      Deve ter entre 4 e 50 caracteres, podendo conter caracteres chineses, letras, dígitos e sublinhados (_). Precisa começar com um caractere chinês ou uma letra.

      APIPath

      Caminho onde a API é armazenada, por exemplo, /user.

      Nota

      O caminho pode ter até 200 caracteres e aceitar letras, dígitos, sublinhados (_) e hífens (-). Deve iniciar com uma barra (/).

      Protocol

      Os protocolos suportados são HTTP e HTTPS.

      Para chamar a API via HTTPS, publique-a no gateway, vincule um nome de domínio independente e faça upload de um certificado SSL no console do API Gateway. Para mais informações, consulte Ativar suporte a HTTPS.

      Request Method

      Os métodos suportados são GET e POST.

      Response Type

      Somente o tipo de resposta JSON é suportado.

      Visibility Scope

      As opções incluem Workspace e Private:

      • Workspace: A API fica visível para todos os membros deste workspace.

      • Private: A API é visível apenas para o proprietário. Atualmente, não há suporte para autorizar outros usuários.

        Nota

        Se a visibilidade estiver definida como Private, somente você verá a API na árvore de diretórios; os demais membros do workspace não terão acesso.

      Tag

      Selecione as tags apropriadas na lista Tag.

      Nota

      Os nomes das tags podem conter caracteres chineses, letras, dígitos e sublinhados (_). É possível adicionar até cinco tags, cada uma com no máximo 20 caracteres.

      Description

      Insira uma breve descrição da API, com até 2.000 caracteres.

      Location

      Diretório onde o workflow de orquestração de serviços será armazenado.

    3. Clique em OK.

  5. Edite o workflow.

    1. Na página do editor de workflow, arraste e conecte os módulos correspondentes na ordem mostrada abaixo.

      Os nós, de cima para baixo, são Start, API, SWITCH, PYTHON e End. Arraste e conecte esses nós no canvas nessa sequência.

    2. Clique no nó API1 para editá-lo. Na lista Select API, escolha a API registrada. Marque a caixa de seleção set output results e insira {"user_id":"$.data[0].id"}.

      A saída é processada usando JSONPath. A sintaxe para recuperar valores de nós (por exemplo, ${NodeA.namea}) é a mesma usada para parâmetros de entrada. A expressão {"user_id":"$.data[0].id"} atribui o id do primeiro elemento do array data do resultado do nó atual à variável user_id. Em seguida, o nó gera dados JSON no formato {"user_id":"value"}.

    3. Clique no nó PYTHON1 e, na lista Select Function, escolha a função registrada.

    4. Clique no nó SWITCH1 e, na caixa de diálogo do editor, clique em Set branch conditions.

      A expressão condicional avalia a saída do nó anterior. Por exemplo, ${NodeID.OutputName}>1 ou $.OutputName>1. Os operadores suportados incluem ==, !=, >=, >, <=, <, &&, !, (), +, -, *, / e %.

      Neste exemplo, a saída user_id do nó upstream é utilizada como parâmetro de requisição para o nó downstream.

      New Branch 1: $.user_id != 1   # Executes if the upstream user_id is not 1.
      New Branch 2: $.user_id == 1   # Executes if the upstream user_id is 1.
    5. Clique no nó Complete e, em seguida, clique em Response Parameters no lado direito da página para configurar os parâmetros de resposta.

  6. Teste o workflow.

    1. Clique em Test no canto superior direito da página.

    2. Na caixa de diálogo Test APIs, clique em Determine.

    3. Visualize o Runtime Log e os Execution results na parte inferior da página.