Todos os produtos
Search
Central de documentação

DataWorks:Criar uma API a partir de uma fonte de dados (API Gateway)

Última atualização: Jun 27, 2026

O DataService Studio permite criar APIs de dados a partir de fontes de dados existentes usando a interface sem código ou o editor de código. Este tópico apresenta um passo a passo para criar uma API com o API Gateway. Você aprenderá a ativar o API Gateway, criar um processo de negócios, além de gerar e configurar uma API.

Nota

Para o API Gateway nativo da nuvem, consulte Criar, publicar e invocar uma API (API Gateway nativo da nuvem).

Pré-requisitos

DataService Studio

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.

Etapa 1: Configurar o API Gateway

Antes de criar um processo de negócios, conclua as tarefas a seguir no console do API Gateway.

  1. Acesse o console do API Gateway e ative o API Gateway.

  2. No console do API Gateway, crie um grupo de APIs. Um grupo de APIs é uma coleção de APIs para um recurso ou cenário específico e funciona como a unidade básica de gerenciamento de APIs no API Gateway.

    Importante

    A região do API Gateway deve corresponder à região do workspace do DataWorks.

Etapa 2: Criar um processo de negócios

O serviço de dados usa processos de negócios para organizar o desenvolvimento de APIs por domínio de negócio. Cada processo de negócios deve estar vinculado a um grupo de APIs. Crie um processo de negócios antes de gerar uma API.

  1. Na página Service Development, clique no ícone image.png e selecione Create Workflow.

  2. Na caixa de diálogo Create Workflow, configure os parâmetros.

    Parâmetro

    Descrição

    Workflow Name

    O nome deve ser exclusivo no workspace. Deve ter entre 4 e 50 caracteres, começar com uma letra ou caractere chinês e pode conter caracteres chineses, letras, dígitos e sublinhados (_).

    API grouping

    Selecione o grupo de APIs criado na Etapa 1. Para criar um novo grupo, acesse o console do API Gateway.

    Importante

    Após vincular um processo de negócios a um grupo de APIs, não é possível alterar o grupo. Escolha-o com atenção.

    Business Description

    Insira uma descrição para o processo de negócios. A descrição não pode exceder 180 caracteres.

  3. Clique em Determine. Após criar o processo de negócios, visualize-o na lista Workflow.

Etapa 3: Escolher um modo de API

O DataService Studio permite criar APIs no modo assistente ou no modo script. Ambos os modos compartilham o mesmo processo básico de configuração de API, mas diferem na forma de construir a lógica de consulta.

Comparação de modos

Categoria de recurso

Recurso

Modo assistente

Modo script

Objeto de consulta

Consulta a uma única tabela de dados de uma única fonte de dados

Compatível

Compatível

JOINs de múltiplas tabelas em uma única fonte de dados

Não compatível

Compatível

Condições de consulta

Consultas de igualdade, intervalo e correspondência aproximada

Compatível mediante seleção de operador

Compatível mediante definição de SQL personalizado

Condições dinâmicas MyBatis (como parâmetros opcionais)

Não compatível

Compatível no Modo SQL Avançado

Resultados da consulta

Retorno de valores brutos de campos e paginação de resultados

Compatível

Compatível

Operações matemáticas e funções de agregação

Não compatível

Compatível

Como escolher um modo

  • Use o modo assistente: ideal para consultas simples em uma única tabela de dados, como filtros de igualdade, correspondência aproximada ou intervalo. Este modo oferece uma interface visual e sem código para configurar a API.

  • Use o modo script: recomendado para consultas avançadas, como JOINs de múltiplas tabelas, subconsultas aninhadas, agregações ou condições dinâmicas com parâmetros opcionais.

Nota

É possível converter uma API do modo assistente para o modo script, mas não é possível reverter essa alteração. Para mais informações, consulte Apêndice: Converter do modo assistente para o modo script.

Etapa 4: Gerar uma API

  1. Na página Service Development, passe o mouse sobre o ícone image.png e clique em Create API > Generate API.

    Alternativamente, abra o processo de negócios relevante, clique com o botão direito em API e escolha Create API > Generate API.

  2. Na caixa de diálogo Generate API, configure os parâmetros.

    Parâmetro

    Descrição

    API Mode

    Selecione Wizard Mode ou Code Editor. Se selecionar o modo script, também será necessário escolher um SQL Mode (Basic SQL ou Advanced SQL).

    • Basic SQL: Escreva a lógica de consulta usando sintaxe SQL básica.

    • Advanced SQL: Escreva a lógica de consulta usando sintaxe SQL compatível com tags MyBatis. As tags compatíveis incluem if, choose, when, otherwise, trim, foreach e where.

    API Name

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

    APIPath

    O caminho do endpoint da API. Trata-se do caminho da solicitação relativo ao host do serviço, como /user. O caminho pode conter letras, dígitos, sublinhados (_) e hifens (-). Deve começar com uma barra (/) e ter até 200 caracteres.

    Protocol

    Compatível com HTTP e HTTPS.

    Para chamar a API via HTTPS, publique-a no API Gateway, vincule um domínio personalizado e faça upload de um certificado SSL no console do API Gateway. Para mais informações, consulte Suporte para HTTPS.

    Request Method

    Compatível com GET e POST.

    Nota

    Se selecionar GET, a localização do parâmetro de solicitação deve ser QUERY. Se selecionar POST, essa localização pode ser QUERY ou Body.

    Response Type

    Apenas JSON é compatível.

    Visible Scope

    • Work space: A API fica visível para todos os membros do workspace atual.

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

    Tag

    Selecione até cinco tags na lista. Cada tag pode ter até 20 caracteres. Para mais informações, consulte Criar e gerenciar tags de API.

    Description

    Insira uma breve descrição para a API. A descrição não pode exceder 2.000 caracteres.

    Location

    Selecione um processo de negócios existente para armazenar a API. A estrutura de caminho padrão é "processo de negócios/Nome do Processo de Negócios/API".

  3. Clique em Determine para abrir a página de edição da API.

Etapa 5: Configurar a API

1. Selecionar uma fonte de dados e tabela

Clique duas vezes na API para abrir sua página de edição. Na área Table, configure parâmetros como Data Source Type, Data Source Name e Data Source Environment. Os parâmetros de configuração variam conforme o tipo de fonte de dados. Consulte a interface para verificar os parâmetros específicos.

Nota
  • Configure previamente uma fonte de dados em Workspace Management > Data source management. A lista suspensa de tabelas de dados permite buscar pelo nome da tabela.

  • No modo script, selecione primeiro uma fonte de dados. Consultas JOIN com múltiplas tabelas só podem ser executadas dentro da mesma fonte de dados.

  • Em um workspace no modo padrão, use o parâmetro Data Source Environment para acessar fontes de dados no ambiente de desenvolvimento ou de produção. Para mais informações, consulte Diferenças entre os modos de workspace.

  • Para fontes de dados MaxCompute, use o Acceleration Service do DataService Studio do DataWorks ou o recurso MCQA do MaxCompute para acelerar consultas. Para usar o serviço de aceleração, crie primeiro um item de aceleração. Para mais informações, consulte Serviço de aceleração.

2. Definir a lógica de consulta

A definição da lógica de consulta difere entre o modo assistente e o modo script.

Modo assistente: selecionar parâmetros

Após selecionar uma tabela de dados, todos os campos da tabela são exibidos automaticamente na área Select Parameters. Marque as caixas de seleção Set as Req Param e Set as Resp Param para os campos necessários.

Para ordenar os resultados da consulta, clique no botão Sort ao lado de um campo para adicioná-lo à lista de ordenação. É possível adicionar vários campos à lista. O número sequencial determina a prioridade; números menores indicam maior prioridade. Ajuste a prioridade usando os botões Move Up e Move Down. Para cada campo, selecione Ascending order ou Descending order.

Modo script: escrever SQL de consulta

Na área Edit Query SQL, insira uma instrução SQL de consulta.

Modo Basic SQL: Use ${paramName} para marcar parâmetros de solicitação. Os campos após SELECT são parâmetros de resposta, e o ${param} na cláusula WHERE é um parâmetro de solicitação.

Siga estas regras ao escrever instruções SQL:

  • Consultas a tabela única, consultas JOIN com múltiplas tabelas e consultas aninhadas dentro da mesma fonte de dados são compatíveis.

  • Múltiplas instruções SQL, comentários e sintaxes não-SELECT como INSERT, UPDATE ou DELETE não são compatíveis.

  • SELECT * não é compatível. Especifique explicitamente as colunas a serem consultadas.

  • Se um nome de coluna incluir um prefixo de tabela (por exemplo, t.name), atribua um alias a ele (por exemplo, t.name as name). Também é obrigatório atribuir um alias para funções de agregação.

  • Não há suporte para colocar ${param} entre aspas. Para concatenar strings, use concat('abc', ${xyz}, '123').

  • O modo Basic SQL não permite definir parâmetros como opcionais.

O modo Advanced SQL aceita sintaxe de tags MyBatis (por exemplo, if, choose, when, otherwise, trim, foreach e where), permitindo implementar lógicas de consulta complexas de forma flexível, como validação de valores nulos, iteração de múltiplos valores, consultas dinâmicas a tabelas e ordenação dinâmica. Para exemplos de código de cenários comuns, consulte Apêndice: Exemplos de SQL Avançado (sintaxe MyBatis).

Ao usar caracteres especiais no modo Advanced SQL, faça o escape deles:

Caractere especial

Caractere de escape

Descrição

>

>

Maior que

>=

>=

Maior ou igual a

<

&lt;

Menor que

<=

&lt;=

Menor ou igual a

&

&amp;

E

'

&apos;

Aspa simples

"

&quot;

Aspa dupla

3. Configurar parâmetros de solicitação

Clique em Request Parameters no painel direito da página de edição da API para configurar os parâmetros.

Nota
  • Antes de visualizar os resultados, defina o valor de amostra, o valor padrão e a descrição dos parâmetros da API.

  • Para obter melhor desempenho, use campos indexados como parâmetros de solicitação.

  • No modo Advanced SQL, o sistema não analisa parâmetros automaticamente. Adicione manualmente todos os parâmetros de solicitação à lista com base no seu script SQL.

  • O modo assistente não permite criar um intervalo de valores para um campo usando dois parâmetros. Use o modo script para essa funcionalidade.

Parâmetro

Descrição

Parameter Name

O nome pode conter letras, dígitos, sublinhados (_) e hifens (-). Deve começar com uma letra e ter até 64 caracteres.

Bound Field

Este parâmetro é visível apenas no modo assistente e é somente leitura por padrão. Ele está vinculado ao campo da tabela de dados selecionada. Para modificar o vínculo, use o modo script.

Parameter Type

Tipos compatíveis: STRING, INT, LONG, FLOAT, DOUBLE e BOOLEAN.

Parameter Position

QUERY ou BODY. Se selecionar BODY, defina o Content-Type. Os formatos compatíveis são JSON, XML e FORM.

Operator

Este parâmetro é visível apenas no modo assistente. Define o operador de comparação para o parâmetro. Operadores compatíveis incluem: =, LIKE, IN, NOT IN, NOT LIKE, !=, >, <, >= e <=.

Nota

Quando o tipo de fonte de dados é Table Store, apenas o operador = é compatível.

Required

Especifica se o parâmetro é obrigatório nas chamadas da API.

Sample Value

Um valor de amostra para o parâmetro de solicitação.

Default Value

O valor padrão para o parâmetro de solicitação.

Description

Uma breve descrição do parâmetro de solicitação.

4. Configurar parâmetros de resposta e paginação

Clique em Response Parameters no painel direito da página de edição da API para configurar o nome do parâmetro, tipo do parâmetro, valor de amostra e descrição. No modo Advanced SQL, adicione manualmente todos os parâmetros de resposta com base no seu script SQL.

Na área Advanced Settings, especifique se deseja ativar a Pagination for Return Results:

  • Desativada: A API retorna no máximo 2.000 registros por padrão.

  • Ativada: Defina o número máximo de registros por página na página Resource Group for DataService Studio com base no tipo de grupo de recursos.

Quando a paginação está ativada, o sistema adiciona automaticamente os seguintes parâmetros comuns:

  • Parâmetros de solicitação comuns: returnTotalNum (se deve retornar o número total de registros), pageNum (número da página atual) e pageSize (número de registros por página).

  • Parâmetros de resposta comuns: pageNum, pageSize e totalNum (número total de registros).

Nota
  • Se uma API não tiver parâmetros de solicitação, ative a paginação de resposta.

  • No modo script, se uma instrução SQL contiver uma cláusula limit, a cláusula limit não terá efeito quando a paginação estiver ativada. As configurações de paginação têm precedência.

5. Configurar filtros (opcional)

Para pré-processar parâmetros de solicitação ou pós-processar resultados de consulta, clique em Filter no painel de navegação à direita. Marque a caixa de seleção Use Pre-filter ou Use Post-filter. Em seguida, selecione um Function Type e escolha uma função. É possível adicionar várias funções, que serão executadas na ordem em que foram adicionadas. Para mais informações sobre como criar e usar filtros, consulte Criar uma função Aviator e Criar uma função Python.

Nota
  • Para usar uma função Python como filtro, ative o DataWorks Professional Edition ou superior e use um grupo de recursos de serviço público.

  • Para usar uma função Aviator como filtro, não há restrição quanto à edição do DataWorks, mas é necessário usar um grupo de recursos de serviço exclusivo.

  • Se uma função não aparecer na lista suspensa de filtros, verifique se ela foi publicada. Para mais informações, consulte Publicar uma função.

6. Configurar grupos de recursos de serviço

No painel de navegação à direita, clique em Resource Group for DataService Studio para configurar o tipo de grupo de recursos para a API.

Use um Exclusive Resource Group for DataService Studio ou um Shared Resource Group for DataService Studio. Para um grupo de recursos de serviço exclusivo, selecione um grupo de recursos alvo pelo nome. Um grupo de recursos de serviço público é mantido automaticamente pelo DataWorks.

Nota
  • Recomendamos usar um grupo de recursos de serviço público apenas para testes, e não em ambiente de produção.

  • Se o grupo de recursos alvo não estiver na lista, acesse a página Grupos de Recursos para associar o grupo de recursos ao workspace.

Na área Environment Configuration, defina a Memory, o Timeout e o Maximum Number of Data Records for a Single Request:

  • Tempo limite: O tempo limite não pode exceder 30.000 ms para instâncias compartilhadas do API Gateway, ou 90.000 ms para grupos de recursos de serviço exclusivo que usam instâncias dedicadas do API Gateway.

    Nota

    O tempo de resposta da API depende do tempo de execução do SQL. Defina o valor de tempo limite alto o suficiente para acomodar essa execução e evitar falhas de solicitação por timeout.

  • Número máximo de registros por página: Até 2.000 para um grupo de recursos de serviço público e até 10.000 para um grupo de recursos de serviço exclusivo. Não há limite para o número total de resultados que uma API pode retornar.

Etapa 6: Salvar e enviar

Clique no ícone 保存 na barra de ferramentas para salvar a API. O grupo de recursos selecionado entrará em vigor durante os testes.

Próximas etapas

  • Testar e publicar:

    • Após configurar a API, teste-a. Para mais informações, consulte Testar uma API.

    • Após o sucesso do teste, clique em Submission no canto superior direito.

    • Na página de edição da API, clique em Version no painel de navegação à direita. Localize a versão que deseja publicar e clique em Request to Publish. Na página de solicitação, o tipo de aplicativo será definido por padrão como Publish API in DataService Studio. Insira um Application Reason e clique em Requested Permissions para enviar sua solicitação.

      Nota

      Se o seu workspace no Approval Center do DataWorks estiver configurado com um fluxo de trabalho de aprovação, a solicitação deverá ser aprovada antes que a API possa ser publicada. Para mais informações, consulte Visão geral do Approval Center.

    • Após a publicação da API, as configurações do grupo de recursos para o DataService Studio aplicar-se-ão a todas as chamadas da API.

  • Gerenciar APIs: Na página Service Development, gerencie as APIs clonando-as ou excluindo-as na árvore de diretórios. Na página Service Management, expanda a lista de APIs para visualizar detalhes das APIs publicadas. Para mais informações, consulte Visualizar, excluir, mover, clonar, executar operações em lote e pesquisar APIs por código.

Apêndice: Do modo assistente para o modo script

Converta uma API do modo assistente para o modo script seguindo estes passos:

  1. Na página Service Development, expanda o Workflow > API que contém a API alvo.

  2. Clique duas vezes no nome da API para abrir sua página de edição.

  3. Na barra de ferramentas, clique no ícone 转换脚本.

  4. Na caixa de diálogo Prompt, clique em Determine.

    Aviso
    • A conversão é permitida apenas do modo assistente para o modo script.

    • Esta ação é irreversível.

Apêndice: Exemplos de SQL Avançado (MyBatis)

Estes exemplos demonstram como construir consultas complexas com SQL avançado no modo script. Substitua os nomes das tabelas, campos e condições de consulta pelos seus próprios.

Exemplo 1: Controlar a ordem de classificação

O valor de var determina a ordem de classificação.

select col01,col02
from table_name
<choose>
    <when test='var == 1'>
    order by col01
    </when>
    <when test='var == 2'>
    order by col02
    </when>
    <when test='var == 3'>
    order by col01,col02
    </when>
    <when test='var == 4'>
    order by col02,col01
    </when>
</choose>

Parâmetro de solicitação: var (Tipo: INT, Obrigatório). Parâmetros de resposta: col01, col02.

Exemplo 2: Consultar tabelas diferentes

Valores diferentes de var determinam qual tabela será consultada.

select col01
from
<choose>
 <when test='var == 1'>
 table_name01
 </when>
 <when test='var == 2'>
 table_name02
 </when>
</choose>

Exemplo 3: Cláusula WHERE dinâmica

As condições de consulta são geradas dinamicamente com base no fato de a coleção list estar vazia ou não. Se list não for nulo, uma condição de consulta que inclui o valor do campo area será gerada.

SELECT area_id, area, amount
FROM table_name
<where>
	<if test='list!=null'>
	area in
		<foreach collection="list" open="(" close=")" separator="," item="area">
		#{area}
		</foreach>
	</if>
</where>

Parâmetro de solicitação: list (Tipo: STRING_LIST, Obrigatório, Exemplo: Beijing,Hangzhou). Parâmetros de resposta: area_id, area e amount.

Apêndice: Melhor prática — parâmetros opcionais

Em muitos cenários de negócios, alguns parâmetros de solicitação precisam ser opcionais. Isso permite que os chamadores decidam se fornecem ou não um valor para um parâmetro. Se nenhum valor for passado, o parâmetro é excluído das condições de consulta. Esta seção usa a tabela ods_user_info_d como exemplo para mostrar como definir uid como parâmetro obrigatório e gender como parâmetro opcional.

Parâmetro

Tipo

Descrição

uid

INT

ID do usuário

gender

STRING

Gênero

age_range

STRING

Faixa etária

zodiac

STRING

Signo do zodíaco

Parâmetros opcionais no modo assistente

Implementar um parâmetro opcional no modo assistente é simples. Após selecionar uid e gender como parâmetros de solicitação na área Select Parameters, vá para o painel Request Parameters à direita e desmarque a caixa de seleção Required do parâmetro gender.

  • Marcada: Forneça um valor para o parâmetro ao chamar a API. Caso contrário, uma exceção de validação de parâmetro será lançada.

  • Desmarcada: Escolha se deseja passar um valor para o parâmetro. Se não passar um valor, o parâmetro não será incluído como condição de consulta.

Exemplos de Chamadas:

  • Cenário 1: Valores são passados tanto para uid quanto para gender. O sistema executa a seguinte consulta:

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    WHERE uid = 0016359810821
    AND gender = 'Female';
  • Cenário 2: Um valor é passado para uid, mas nenhum valor é passado para gender. O sistema executa a seguinte consulta:

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    WHERE uid = 0016359810821;

Parâmetros opcionais no modo script

Importante

O Basic SQL não consegue implementar uma lógica verdadeira de parâmetro opcional. Mesmo que você desmarque a caixa de seleção Required, o sistema executará uma consulta com parameter = null se o parâmetro for omitido. Isso geralmente retorna um conjunto de resultados vazio em vez de ignorar a condição. Para implementar parâmetros opcionais, use o modo advanced SQL.

No modo advanced SQL, use a tag MyBatis <if> para implementar lógica condicional:

SELECT uid, gender, age_range, zodiac
FROM ods_user_info_d
<where>
    <if test='gender!=null'>
    gender = ${gender}
    </if>
    and uid = ${uid}
</where>
  • A tag <where> lida automaticamente com a palavra-chave WHERE e remove prefixos AND ou OR redundantes.

  • A tag <if test='gender!=null'> adiciona a condição à consulta apenas se você passar um valor não nulo para o parâmetro gender.

  • Após configurar a instrução SQL, adicione manualmente os parâmetros uid e gender no painel Request Parameters à direita e desmarque a caixa de seleção Required do parâmetro gender.

O comportamento é o mesmo do modo assistente: a condição gender é aplicada quando um valor é passado e ignorada quando omitido.

Configuração de parâmetros opcionais

Método

Implementação

Complexidade

Casos de uso

modo assistente

Desmarque a caixa "Required".

Baixa

Consultas simples a tabela única

modo script (basic SQL)

Não compatível

modo script (advanced SQL)

Envolva a condição em uma tag <if test='param!=null'>.

Média

JOINs de múltiplas tabelas e consultas complexas