Todos los productos
Search
Centro de documentos

DataWorks:Crear una API a partir de un origen de datos (API Gateway)

Última actualización: Sep 04, 2026

DataService Studio permite crear API de datos a partir de orígenes de datos existentes mediante la interfaz sin código o el editor de código. Esta guía explica cómo habilitar API Gateway, crear un proceso de negocio y generar y configurar una API.

Nota

Para obtener información sobre API Gateway nativo para la nube, consulte Create, publish, and invoke an API (cloud-native API Gateway).

Requisitos previos

  • Configure un origen de datos en la página Workspace Management > Data source management. Para más detalles, consulte Configure a data source.

  • El servicio de datos requiere un resource group. En un entorno de producción, se recomienda utilizar un resource group serverless. Para más detalles, consulte Resource groups and network connectivity.

DataService Studio

Inicie sesión en la consola de DataWorks. En la región objetivo, haga clic en Data Analysis and Service > DataService Studio en el panel de navegación izquierdo. Seleccione un espacio de trabajo en la lista desplegable y haga clic en Go to DataService Studio.

Paso 1: Configurar API Gateway

Antes de crear un proceso de negocio, complete las siguientes tareas en la consola de API Gateway.

  1. Inicie sesión en la consola de API Gateway y habilite API Gateway.

  2. En la consola de API Gateway, cree un grupo de API. Un grupo de API es un conjunto de API para una función o escenario específico. Es la unidad básica de gestión de API en API Gateway.

    Importante

    La región de API Gateway debe coincidir con la región del espacio de trabajo de DataWorks.

Paso 2: Crear un proceso de negocio

Los procesos de negocio organizan el desarrollo de API por dominio empresarial. Cada uno debe vincularse a un grupo de API y es necesario crearlo antes de generar una API.

  1. En la página Service Development, haga clic en el icono image.png y seleccione Create Workflow.

  2. En el cuadro de diálogo Create Workflow, configure los parámetros.

    Parámetro

    Descripción

    Workflow Name

    El nombre debe ser único dentro del espacio de trabajo. Debe tener entre 4 y 50 caracteres, comenzar con una letra o un carácter chino, y puede contener caracteres chinos, letras, dígitos y guiones bajos (_).

    API grouping

    Seleccione el grupo de API que creó en el Paso 1. Para crear un nuevo grupo, vaya a la consola de API Gateway.

    Importante

    Una vez que vincula un proceso de negocio a un grupo de API, no puede cambiar el grupo. Seleccione el grupo con cuidado.

    Business Description

    Introduzca una descripción para el proceso de negocio. La descripción no puede exceder los 180 caracteres.

  3. Haga clic en Determine. Una vez creado el proceso de negocio, podrá consultarlo en la lista Workflow.

Paso 3: Elegir un modo de API

Data Service admite modo asistente y modo script. Ambos comparten el mismo proceso de configuración básico, pero difieren en la forma de construir la lógica de consulta.

Comparación de modos

Categoría de función

Función

Modo asistente

Modo script

Objeto de consulta

Consulta de una sola tabla de datos desde un único origen de datos

Compatible

Compatible

JOIN de varias tablas en un solo origen de datos

No compatible

Compatible

Condiciones de consulta

Consultas de igualdad, rango y coincidencia difusa

Compatible mediante la selección de un operador

Compatible mediante la definición de SQL personalizado

Condiciones dinámicas de MyBatis (como parámetros opcionales)

No compatible

Compatible en modo SQL avanzado

Resultados de consulta

Devolución de valores de campo sin procesar y paginación de resultados

Compatible

Compatible

Operaciones matemáticas y funciones de agregación

No compatible

Compatible

Elección de un modo

  • Use el modo asistente: para consultas sencillas en una sola tabla de datos, como filtros de igualdad, coincidencia difusa o rango. Este modo proporciona una interfaz visual sin código para la configuración de la API.

  • Use el modo script: para consultas avanzadas, como JOIN de varias tablas, subconsultas anidadas, agregación o condiciones dinámicas con parámetros opcionales.

Nota

Puede convertir una API del modo asistente al modo script, pero no puede revertir este cambio. Para más información, consulte Appendix: Convert from wizard mode to script mode.

Paso 4: Generar una API

  1. En la página Service Development, pase el cursor sobre el icono image.png y haga clic en Create API > Generate API.

    Alternativamente, abra el proceso de negocio correspondiente, haga clic con el botón derecho en API y elija Create API > Generate API.

  2. En el cuadro de diálogo Generate API, configure los parámetros.

    Parámetro

    Descripción

    API Mode

    Seleccione Wizard Mode o Code Editor. Si selecciona modo script, también debe seleccionar un SQL Mode (Basic SQL o Advanced SQL).

    • Basic SQL: escriba la lógica de consulta utilizando sintaxis SQL básica.

    • Advanced SQL: escriba la lógica de consulta utilizando sintaxis SQL que admite etiquetas MyBatis. Las etiquetas admitidas incluyen if, choose, when, otherwise, trim, foreach y where.

    API Name

    El nombre puede contener caracteres chinos, letras, dígitos y guiones bajos (_). Debe comenzar con una letra o un carácter chino y tener entre 4 y 50 caracteres de longitud.

    APIPath

    La ruta del endpoint de la API. Es la ruta de solicitud relativa al host del servicio, como /user. La ruta puede contener letras, dígitos, guiones bajos (_) y guiones (-). Debe comenzar con una barra diagonal (/) y tener hasta 200 caracteres de longitud.

    Protocol

    Admite HTTP y HTTPS.

    Para llamar a la API a través de HTTPS, debe publicarla en API Gateway, vincular un dominio personalizado y cargar un certificado SSL en la consola de API Gateway. Para más información, consulte Support for HTTPS.

    Request Method

    Admite GET y POST.

    Nota

    Si selecciona GET, la ubicación del parámetro de solicitud debe ser QUERY. Si selecciona POST, esta ubicación puede ser QUERY o Body.

    Response Type

    Solo se admite JSON.

    Visible Scope

    • Work space: la API es visible para todos los miembros del espacio de trabajo actual.

    • Private: la API solo es visible para su propietario. Actualmente no se admite la autorización a otros usuarios.

    Tag

    Seleccione hasta cinco etiquetas de la lista. Cada etiqueta puede tener hasta 20 caracteres de longitud. Para más información, consulte Create and Manage API Tags.

    Description

    Introduzca una breve descripción para la API. La descripción no puede exceder los 2,000 caracteres.

    Location

    Seleccione un proceso de negocio existente para almacenar la API. La estructura de ruta predeterminada es "proceso de negocio/Nombre del proceso de negocio/API".

  3. Haga clic en Determine para abrir la página de edición de la API.

Paso 5: Configurar la API

1. Seleccionar un origen de datos y una tabla

Haga doble clic en la API para abrir su página de edición. En el área Table, configure parámetros como Data Source Type, Data Source Name y Data Source Environment. Los parámetros de configuración varían según el tipo de origen de datos. Consulte la interfaz de usuario para ver los parámetros específicos.

Nota
  • Primero debe configurar un origen de datos en Workspace Management > Data source management. La lista desplegable de tablas de datos permite buscar por nombre de tabla.

  • En modo script, primero debe seleccionar un origen de datos. Solo puede realizar consultas JOIN de varias tablas dentro del mismo origen de datos.

  • En un espacio de trabajo en modo estándar, puede usar el parámetro Data Source Environment para acceder a orígenes de datos en el entorno de desarrollo o de producción. Para más información, consulte Differences between workspace modes.

  • Para orígenes de datos MaxCompute, puede usar el Acceleration Service de DataWorks DataService o la función MCQA de MaxCompute para acelerar consultas. Para utilizar el servicio de aceleración, primero debe crear un elemento de aceleración. Para más información, consulte Acceleration service.

2. Definir la lógica de consulta

La definición de la lógica de consulta difiere entre el modo asistente y el modo script.

Modo asistente: seleccionar parámetros

Después de seleccionar una tabla de datos, todos los campos de la tabla se muestran automáticamente en el área Select Parameters. Marque las casillas Set as Req Param y Set as Resp Param para los campos que necesite.

Para ordenar los resultados de la consulta, haga clic en el botón Sort junto a un campo para agregarlo a la lista de ordenamiento. Puede agregar varios campos a la lista. El número de secuencia determina la prioridad; los números más pequeños indican mayor prioridad. Puede ajustar la prioridad mediante los botones Move Up y Move Down. Para cada campo, puede seleccionar Ascending order o Descending order.

Modo script: escribir SQL de consulta

En el área Edit Query SQL, introduzca una sentencia SQL de consulta.

Modo Basic SQL: utilice ${paramName} para marcar los parámetros de solicitud. Los campos después de SELECT son parámetros de respuesta, y ${param} en la cláusula WHERE es un parámetro de solicitud.

Siga estas reglas al escribir sentencias SQL:

  • Se admiten consultas de tabla única, consultas JOIN de varias tablas y consultas anidadas dentro del mismo origen de datos.

  • No se admiten múltiples sentencias SQL, comentarios ni sintaxis que no sea SELECT, como INSERT, UPDATE o DELETE.

  • No se admite SELECT *. Debe especificar explícitamente las columnas a consultar.

  • Si un nombre de columna incluye un prefijo de tabla (por ejemplo, t.name), debe asignarle un alias (por ejemplo, t.name as name). También debe asignar un alias para las funciones de agregación.

  • No se admite colocar ${param} entre comillas. Para concatenar cadenas, utilice concat('abc', ${xyz}, '123').

  • El modo Basic SQL no admite configurar parámetros como opcionales.

El modo Advanced SQL admite sintaxis de etiquetas MyBatis (por ejemplo, if, choose, when, otherwise, trim, foreach y where), lo que permite implementar de manera flexible lógica de consulta compleja, como validación de valores nulos, iteración de múltiples valores, consultas dinámicas de tablas y ordenamiento dinámico. Para ejemplos de código de escenarios comunes, consulte Appendix: Advanced SQL (MyBatis syntax) examples.

Cuando utilice caracteres especiales en el modo Advanced SQL, debe escaparlos:

Carácter especial

Carácter de escape

Descripción

>

>

Mayor que

>=

>=

Mayor o igual que

<

&lt;

Menor que

<=

&lt;=

Menor o igual que

&

&amp;

Y

'

&apos;

Comilla simple

"

&quot;

Comilla doble

3. Configurar parámetros de solicitud

Haga clic en Request Parameters en el panel derecho de la página de edición de la API para configurar los parámetros.

Nota
  • Antes de previsualizar los resultados, establezca el valor de muestra, el valor predeterminado y la descripción de los parámetros de la API.

  • Para obtener el mejor rendimiento, utilice campos indexados como parámetros de solicitud.

  • En el modo Advanced SQL, el sistema no puede analizar sintácticamente los parámetros de forma automática. Debe agregar manualmente todos los parámetros de solicitud a la lista basándose en su script SQL.

  • El modo asistente no admite la creación de un rango de valores para un campo mediante dos parámetros. Utilice el modo script para esta funcionalidad.

Parámetro

Descripción

Parameter Name

El nombre puede contener letras, dígitos, guiones bajos (_) y guiones (-). Debe comenzar con una letra y tener hasta 64 caracteres de longitud.

Bound Field

Este parámetro solo es visible en modo asistente y es de solo lectura de forma predeterminada. Está vinculado al campo de la tabla de datos seleccionada. Para modificar el vínculo, utilice el modo script.

Parameter Type

Tipos admitidos: STRING, INT, LONG, FLOAT, DOUBLE y BOOLEAN.

Parameter Position

QUERY o BODY. Si selecciona BODY, debe establecer el Content-Type. Los formatos admitidos son JSON, XML y FORM.

Operator

Este parámetro solo es visible en modo asistente. Define el operador de comparación para el parámetro. Los operadores admitidos incluyen: =, LIKE, IN, NOT IN, NOT LIKE, !=, >, <, >= y <=.

Nota

Cuando el tipo de origen de datos es Table Store, solo se admite el operador =.

Required

Indica si el parámetro es obligatorio para las llamadas a la API.

Sample Value

Un valor de muestra para el parámetro de solicitud.

Default Value

El valor predeterminado para el parámetro de solicitud.

Description

Una breve descripción del parámetro de solicitud.

4. Configurar parámetros de respuesta y paginación

Haga clic en Response Parameters en el panel derecho de la página de edición de la API para configurar el nombre del parámetro, el tipo de parámetro, el valor de muestra y la descripción. En el modo Advanced SQL, debe agregar manualmente todos los parámetros de respuesta basándose en su script SQL.

En el área Advanced Settings, especifique si desea habilitar Pagination for Return Results:

  • Deshabilitado: la API devuelve un máximo de 2,000 registros de forma predeterminada.

  • Habilitado: puede establecer el número máximo de registros por página en la página Resource Group for DataService Studio según el tipo de resource group.

Cuando la paginación está habilitada, el sistema agrega automáticamente los siguientes parámetros comunes:

  • Parámetros de solicitud comunes: returnTotalNum (si se devuelve el número total de registros), pageNum (el número de página actual) y pageSize (el número de registros por página).

  • Parámetros de respuesta comunes: pageNum, pageSize y totalNum (el número total de registros).

Nota
  • Si una API no tiene parámetros de solicitud, debe habilitar la paginación de respuesta.

  • En modo script, si una sentencia SQL contiene una cláusula limit, dicha cláusula no surte efecto cuando la paginación está habilitada. La configuración de paginación tiene prioridad.

5. Configurar filtros (opcional)

Para preprocesar parámetros de solicitud o posprocesar resultados de consulta, haga clic en Filter en el panel de navegación derecho. Marque la casilla Use Pre-filter o Use Post-filter. A continuación, seleccione un Function Type y elija una función. Puede agregar varias funciones, que se ejecutan en el orden en que se añaden. Para más información sobre cómo crear y utilizar filtros, consulte Create an Aviator function y Create a Python function.

Nota
  • Para utilizar una función de Python como filtro, primero debe activar DataWorks Professional Edition o una versión superior y utilizar un resource group de servicio público.

  • Para utilizar una función Aviator como filtro, no hay restricción en la edición de DataWorks, pero debe utilizar un resource group de servicio exclusivo.

  • Si una función no aparece en la lista desplegable de filtros, compruebe si la función se ha publicado. Para más información, consulte Publish a function.

6. Configurar resource groups de servicio

En el panel de navegación derecho, haga clic en Resource Group for DataService Studio para configurar el tipo de resource group para la API.

Puede utilizar un Exclusive Resource Group for DataService Studio o un Shared Resource Group for DataService Studio. Para un resource group de servicio exclusivo, puede seleccionar un resource group objetivo por nombre. Un resource group de servicio público es mantenido automáticamente por DataWorks.

Nota
  • Se recomienda utilizar un resource group de servicio público solo para pruebas, no en un entorno de producción.

  • Si el resource group objetivo no está en la lista, vaya a la página Resource Groups para asociar el resource group con el espacio de trabajo.

En el área Environment Configuration, puede establecer la Memory, el Timeout y el Maximum Number of Data Records for a Single Request:

  • Tiempo de espera: el tiempo de espera no puede exceder los 30,000 ms para instancias compartidas de API Gateway, o los 90,000 ms para resource groups de servicio exclusivo que utilizan instancias dedicadas de API Gateway.

    Nota

    El tiempo de respuesta de la API depende del tiempo de ejecución de SQL. Establezca el valor de tiempo de espera lo suficientemente alto para acomodar esto y evitar fallos en las solicitudes debido a tiempos de espera agotados.

  • Número máximo de registros por página: hasta 2,000 para un resource group de servicio público y hasta 10,000 para un resource group de servicio exclusivo. El número total de resultados que una API puede devolver no está limitado.

Paso 6: Guardar y enviar

Haga clic en el icono 保存 en la barra de herramientas para guardar la API. El resource group seleccionado entrará en vigor durante las pruebas.

Siguientes pasos

  • Probar y publicar:

    • Después de configurar la API, puede probarla. Para más información, consulte Test an API.

    • Una vez que la prueba sea exitosa, haga clic en Submission en la esquina superior derecha.

    • En la página de edición de la API, haga clic en Version en el panel de navegación derecho. Busque la versión que desea publicar y haga clic en Request to Publish. En la página de solicitud, el tipo de solicitud será de forma predeterminada Publish API in DataService Studio. Introduzca un Application Reason y haga clic en Requested Permissions para enviar su solicitud.

      Nota

      Si su espacio de trabajo en el Centro de aprobación de DataWorks está configurado con un flujo de trabajo de aprobación, la solicitud debe aprobarse antes de que se pueda publicar la API. Para más información, consulte Approval Center Overview.

    • Una vez publicada la API, la configuración del resource group para DataService Studio se aplica a todas las llamadas a la API.

  • Gestionar API: en la página Service Development, puede gestionar las API clonándolas o eliminándolas desde el árbol de directorios. En la página Service Management, puede expandir la lista de API para ver detalles de las API publicadas. Para más información, consulte View, delete, move, clone, perform batch operations on, and search APIs by code.

Apéndice: De modo asistente a modo script

Puede convertir una API del modo asistente al modo script:

  1. En la página Service Development, expanda Workflow > API que contiene la API objetivo.

  2. Haga doble clic en el nombre de la API para abrir su página de edición.

  3. En la barra de herramientas, haga clic en el icono 转换脚本.

  4. En el cuadro de diálogo Prompt, haga clic en Determine.

    Aviso
    • Solo puede convertir una API del modo asistente al modo script.

    • Esta acción es irreversible.

Apéndice: Ejemplos de SQL avanzado (MyBatis)

Los siguientes ejemplos demuestran patrones de consulta comunes utilizando SQL avanzado en modo script. Reemplace los nombres de tablas, campos y condiciones con los suyos propios.

Ejemplo 1: Controlar el orden de clasificación

El valor de var determina el orden de clasificación.

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 solicitud: var (Tipo: INT, Obligatorio). Parámetros de respuesta: col01, col02.

Ejemplo 2: Consultar diferentes tablas

Diferentes valores de var determinan qué tabla consultar.

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

Ejemplo 3: Cláusula WHERE dinámica

Las condiciones de consulta se generan dinámicamente según si la colección list está vacía. Si list no es nulo, se genera una condición de consulta que incluye el valor del campo area.

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 solicitud: list (Tipo: STRING_LIST, Obligatorio, Ejemplo: Beijing,Hangzhou). Parámetros de respuesta: area_id, area y amount.

Apéndice: Práctica recomendada — parámetros opcionales

En ocasiones, ciertos parámetros de solicitud deben ser opcionales; es decir, si no se proporciona ningún valor, el parámetro se excluye de las condiciones de consulta. Esta sección utiliza la tabla ods_user_info_d para demostrar cómo establecer uid como obligatorio y gender como opcional.

Parámetro

Tipo

Descripción

uid

INT

ID de usuario

gender

STRING

Género

age_range

STRING

Rango de edad

zodiac

STRING

Signo zodiacal

Parámetros opcionales en modo asistente

En el modo asistente, seleccione uid y gender como parámetros de solicitud en el área Select Parameters. A continuación, vaya al panel Request Parameters de la derecha y desmarque la casilla Required correspondiente al parámetro gender.

  • Seleccionada: Debe proporcionar un valor para el parámetro al invocar la API. De lo contrario, se genera una excepción de validación de parámetros.

  • Desmarcada: Puede decidir si desea pasar un valor para el parámetro. Si no se proporciona ningún valor, el parámetro no se incluye como condición de consulta.

Ejemplos de invocación:

  • Escenario 1: Se proporcionan valores tanto para uid como para gender. El sistema ejecuta la siguiente consulta:

    SELECT uid, gender, age_range, zodiac
    FROM ods_user_info_d
    WHERE uid = 0016359810821
    AND gender = 'Female';
  • Escenario 2: Se proporciona un valor para uid, pero no para gender. El sistema ejecuta la siguiente consulta:

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

Parámetros opcionales en modo script

Importante

El SQL básico no permite implementar una lógica verdadera de parámetros opcionales. Aunque desmarque la casilla Required, el sistema realiza la consulta con parameter = null si se omite el parámetro. Esto suele devolver un conjunto de resultados vacío en lugar de ignorar la condición. Para implementar parámetros opcionales, debe utilizar el modo SQL avanzado.

En el modo SQL avanzado, utilice la etiqueta <if> de MyBatis para implementar la 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>
  • La etiqueta <where> gestiona automáticamente la palabra clave WHERE y elimina los prefijos AND u OR redundantes.

  • La etiqueta <if test='gender!=null'> agrega la condición a la consulta solo si se pasa un valor distinto de nulo para el parámetro gender.

  • Después de configurar la sentencia SQL, agregue manualmente los parámetros uid y gender en el panel Request Parameters de la derecha, y desmarque la casilla Required del parámetro gender.

El comportamiento es idéntico al del modo asistente: la condición de gender se aplica cuando se proporciona un valor y se ignora cuando se omite.

Configuración de parámetros opcionales

Método

Implementación

Complejidad

Casos de uso

Modo asistente

Desmarcar la casilla "Required".

Baja

Consultas sencillas de una sola tabla

Modo script (SQL básico)

No compatible

—

—

Modo script (SQL avanzado)

Envolver la condición en una etiqueta <if test='param!=null'>.

Media

Uniones de múltiples tablas y consultas complejas