Todos os produtos
Search
Central de documentação

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

Última atualização: Jul 20, 2026

O DataService Studio permite criar APIs de dados a partir de fontes de dados existentes por meio da interface visual sem código ou do editor de código. Este tutorial aborda como ativar o API Gateway, criar um processo de negócios e gerar e configurar uma API.

Nota

Para o API Gateway nativo da cloud, consulte {{XREF_0}}.

Pré-requisitos

  • Você já configurou uma fonte de dados na página Workspace Management > Data source management. Para mais detalhes, consulte {{XREF_1}}.

  • O serviço de dados exige um grupo de recursos. Em ambientes de produção, recomendamos o uso de um grupo de recursos serverless. Para mais detalhes, consulte {{XREF_2}}.

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 seguintes tarefas 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 é um conjunto de APIs para um recurso ou cenário específico, funcionando 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

Os processos de negócios organizam o desenvolvimento de APIs por domínio de negócio. Cada processo deve estar vinculado a um grupo de APIs, sendo obrigatório criar um 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 dentro do 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 a criação do processo de negócios, você poderá visualizá-lo na lista Workflow.

Etapa 3: Escolher o modo da API

O DataService Studio oferece suporte ao modo assistente e ao modo script. Ambos compartilham o mesmo processo básico de configuração, mas diferem na forma de construção da lógica de consulta.

Comparação dos modos

Categoria de recurso

Recurso

Modo assistente

Modo script

Objeto de consulta

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

Suportado

Suportado

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

Não suportado

Suportado

Condições de consulta

Consultas de igualdade, intervalo e correspondência aproximada

Suportado mediante seleção de operador

Suportado via definição de SQL personalizado

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

Não suportado

Suportado no Modo SQL Avançado

Resultados da consulta

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

Suportado

Suportado

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

Não suportado

Suportado

Como escolher o 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 configuração da 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 essa alteração não pode ser revertida. Para mais informações, consulte {{XREF_3}}.

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 optar pelo modo script, também será necessário selecionar 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 com suporte a tags MyBatis. As tags suportadas 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

    Suporta HTTP e HTTPS.

    Para chamar a API via HTTPS, é necessário publicá-la no API Gateway, vincular um domínio personalizado e fazer upload de um certificado SSL no console do API Gateway. Para mais informações, consulte {{XREF_4}}.

    Request Method

    Suporta GET e POST.

    Nota

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

    Response Type

    Somente JSON é suportado.

    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 {{XREF_5}}.

    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
  • É necessário configurar 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ó são permitidas dentro da mesma fonte de dados.

  • Em workspaces no modo padrão, utilize o parâmetro Data Source Environment para acessar fontes de dados nos ambientes de desenvolvimento ou produção. Para mais informações, consulte {{XREF_6}}.

  • Para fontes de dados MaxCompute, utilize 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 {{XREF_7}}.

2. Definir a lógica de consulta

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

Modo assistente: selecionar parâmetros

Ao selecionar uma tabela de dados, todos os seus campos aparecem 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 de sequência determina a prioridade, onde 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 tabelas únicas, consultas JOIN com múltiplas tabelas e consultas aninhadas dentro da mesma fonte de dados são suportadas.

  • Múltiplas instruções SQL, comentários e sintaxes que não sejam SELECT, como INSERT, UPDATE ou DELETE, não são suportados.

  • SELECT * não é suportado. 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 suporta sintaxe de tags MyBatis (por exemplo, if, choose, when, otherwise, trim, foreach e where), permitindo implementar logicas 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 {{XREF_8}}.

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;

Aspas simples

"

&quot;

Aspas duplas

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, utilize campos indexados como parâmetros de solicitação.

  • No modo Advanced SQL, o sistema não consegue analisar 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. Utilize 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 suportados: STRING, INT, LONG, FLOAT, DOUBLE e BOOLEAN.

Parameter Position

QUERY ou BODY. Se selecionar BODY, defina o Content-Type. Os formatos suportados 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. Os operadores suportados incluem: =, LIKE, IN, NOT IN, NOT LIKE, !=, >, <, >= e <=.

Nota

Quando o tipo de fonte de dados é Table Store, apenas o operador = é suportado.

Required

Indica 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, a paginação de resposta deve ser ativada.

  • 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 direito. 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 {{XREF_9}} e {{XREF_10}}.

Nota
  • Para usar uma função Python como filtro, ative o DataWorks Professional Edition ou superior e utilize 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 {{XREF_11}}.

6. Configurar grupos de recursos de serviço

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

Utilize 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, 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 isso e evitar falhas de solicitação devido a timeouts.

  • 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 {{XREF_12}}.

    • Após o teste ser bem-sucedido, clique em Submission no canto superior direito.

    • Na página de edição da API, clique em Version no painel de navegação direito. 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 DataWorks Approval Center 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 {{XREF_13}}.

    • 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 da á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 {{XREF_14}}.

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)

Os exemplos abaixo demonstram padrões comuns de consulta usando SQL avançado no modo script. Substitua os nomes das tabelas, campos e condições 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 consultar.

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

Alguns parâmetros de solicitação podem precisar ser opcionais — 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 para demonstrar a definição de uid como obrigatório e gender como 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

No modo assistente, selecione uid e gender como parâmetros de solicitação na área Select Parameters, depois vá para o painel Request Parameters à direita e desmarque a caixa de seleção Required para o parâmetro gender.

  • Marcado: É obrigatório fornecer 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.

  • Desmarcado: Você decide se passa ou não um valor para o parâmetro. Se nenhum valor for passado, 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âmetros opcionais. Mesmo que você desmarque a caixa de seleção Required, o sistema realizará 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 para o 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 tabelas únicas

modo script (basic SQL)

Não suportado

—

—

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