Todos los productos
Search
Centro de documentos

DataWorks:Mejores prácticas de RestAPI Reader

Última actualización: Oct 09, 2026

RestAPI Reader de Data Integration lee datos de API RESTful. Configure una URL de solicitud HTTP para recuperar datos de un origen de datos RestAPI, como datos dentro de un rango de tiempo, datos paginados o datos obtenidos mediante iteraciones sobre los parámetros de la solicitud. RestAPI Reader convierte los datos a un tipo compatible con Data Integration y los pasa al Writer descendente. Este tema presenta ejemplos comunes.

Nota

Contexto

A continuación se describen las capacidades de RestAPI Reader en DataWorks Data Integration para leer y devolver datos.

Dimensión

Capacidad compatible

Tipo de respuesta

Actualmente solo se admiten respuestas JSON.

Tipos de datos legibles

Se admiten INT, BOOLEAN, DATE, DOUBLE, FLOAT, LONG y STRING.

Método de solicitud

Se admiten HTTP GET y POST.

Método de autenticación

Se admite operar sin autenticación o utilizar uno de tres métodos: Basic Auth, Token Auth o Aliyun API Signature. Elija el método que admita la API de su origen de datos y configure sus parámetros de autenticación.

  • Basic Auth: autenticación básica.

    Si la API del origen de datos admite autenticación con nombre de usuario y contraseña, seleccione este método. Después, configure el nombre de usuario y la contraseña. Durante la integración de datos, las credenciales se envían al endpoint RESTful mediante el protocolo Basic Auth para realizar la autenticación.

  • Token Auth: autenticación basada en token.

    Si la API del origen de datos admite autenticación basada en token, seleccione este método. Luego, configure un valor de token fijo. Durante la integración de datos, el token se pasa en el encabezado de la solicitud para la autenticación. Por ejemplo: {"Authorization":"Bearer TokenXXXXXX"}.

    Nota

    Para usar un método de cifrado personalizado, utilice el método de autenticación Token y proporcione la información de autenticación cifrada como AuthToken.

Práctica 1: Leer datos de una API por rango de tiempo

Escenario de ejemplo: definición de la API

En este ejemplo se lee una API RESTful y se escriben sus datos en una tabla particionada de MaxCompute. La API de muestra es una API GET de prueba alojada localmente que devuelve los datos correspondientes al rango de tiempo indicado en la solicitud. Detalles:

Nota

Ajuste la configuración para que coincida con su propia API. La API de muestra solo sirve para ilustrar el procedimiento.

  • Solicitud de ejemplo:

    http://TestAPIAddress:Port/rest/test2?startTime=<StartTime>&endTime=<EndTime>

    startTime y endTime son parámetros de la solicitud que especifican el rango de tiempo que se va a leer.

  • Respuesta de ejemplo:

    {
        "status": "success",
        "totalNum": 187,
        "data": [
            {
                "axis": "series1",
                "value": 9191352,
                "createTime": "2023-01-04 00:07:20"
            },
            {
                "axis": "series1",
                "value": 6645322,
                "createTime": "2023-01-04 00:14:47"
            },
            {
                "axis": "series1",
                "value": 2078369,
                "createTime": "2023-01-04 00:22:13"
            },
            {
                "axis": "series1",
                "value": 7325410,
                "createTime": "2023-01-04 00:29:30"
            },
            {
                "axis": "series1",
                "value": 7448456,
                "createTime": "2023-01-04 00:37:04"
            },
            {
                "axis": "series1",
                "value": 5808077,
                "createTime": "2023-01-04 00:44:30"
            },
            {
                "axis": "series1",
                "value": 5625821,
                "createTime": "2023-01-04 00:52:06"
            }
        ]
    }

    Los datos devueltos se encuentran bajo data y tienen tres campos: axis, value y createTime.

  • Prueba de la API de ejemplo: envíe una solicitud GET en Postman u otra herramienta de pruebas de API con startTime y endTime, por ejemplo, de 2023-01-04 00:00:00 a 2023-01-04 23:59:59. La API devuelve 200 OK, totalNum es 187 y data contiene los registros de ese rango.

Preparación: Crear una tabla particionada de MaxCompute

Este ejemplo sincroniza los datos de la API con una tabla particionada de MaxCompute. Primero, cree una tabla particionada para almacenarlos.

Nota

Con el modo de sobrescritura, las tablas particionadas permiten volver a ejecutar tareas sin duplicar datos y facilitan el análisis posterior.

Cree la tabla con el siguiente comando:

CREATE TABLE IF NOT EXISTS ods_xiaobo_rest2
(
  `axis`  STRING
  ,`value` BIGINT
  ,`createTime` STRING
)
PARTITIONED BY
(
  ds  STRING
)
LIFECYCLE 3650;

Si utiliza DataWorks Standard Edition y publica la tabla particionada en producción, podrá encontrarla después en Data Map.

Configurar una tarea de sincronización

  1. Agregue un origen de datos RestAPI.

    Agregue un origen de datos RestAPI a su espacio de trabajo de DataWorks. Para conocer el procedimiento, consulte Configure a REST API data source. En el cuadro de diálogo Add RestAPI Data Source, introduzca Data Source Name y Data Source Description, seleccione Applicable Environment (desarrollo o producción) y configure Default Request Headers (valor predeterminado: {}). Configuraciones clave:

    • url: establezca la URL de la API RESTful.

    • Authentication Method: elija el método de autenticación que admita la API y configure sus parámetros.

    • Resource group connectivity: los orígenes de datos RestAPI solo admiten resource groups exclusivos para Data Integration. Seleccione uno y compruebe la conectividad entre el origen de datos y el resource group.

  2. Cree un nodo de sincronización por lotes y configure la tarea.

    Cree un nodo de sincronización por lotes en DataStudio. Para conocer el procedimiento, consulte Codeless UI configuration. Configuraciones clave:

    • Configuración de Data Source:

      • Data Source: seleccione el origen de datos RestAPI creado anteriormente.

      • Request Method: esta API de muestra usa GET. Seleccione GET.

      • Return Data Structure: la respuesta de ejemplo es un arreglo JSON. Seleccione Array Data.

      • The JSON path for data storage: los datos se encuentran bajo data en la respuesta. Establezca este valor en data.

      • Request Param: combine los parámetros de la solicitud con los parámetros de programación para sincronizar cada día los datos de la jornada actual.

        • Establezca los parámetros de la solicitud en startTime=${extract_day} ${start_time}&endTime=${extract_day} ${end_time}

        • Agregue tres parámetros de programación: extract_day=${yyyy-mm-dd}, start_time=00:00:00 y end_time=23:59:59.

        Si la fecha de ejecución es 2023-01-05, extract_day se resuelve como 2023-01-04, por lo que los parámetros de la solicitud quedan así: startTime=2023-01-04 00:00:00&endTime=2023-01-04 23:59:59.

    • Configuración de Data Destination:

      • Data Source y Table: seleccione la tabla particionada de MaxCompute creada anteriormente.

      • Partition Information: utilice la información de partición junto con un parámetro de programación.

        • Establezca la información de partición en ${bizdate}.

        • Agregue un parámetro de programación: bizdate=$bizdate.

        Si la fecha de ejecución es 2023-01-05, el valor de la partición es 20230104.

    • Field Mapping: introduzca los campos de la respuesta de RestAPI. Los nombres de campo distinguen entre mayúsculas y minúsculas. Después de agregar los campos, utilice The same name mapping o conecte las columnas manualmente para crear las asignaciones.

Ejecución de prueba

Dado que este ejemplo utiliza parámetros de programación, después de configurar la tarea de sincronización por lotes, haga clic en Run with Parameters en la parte superior de la página del nodo. Introduzca los valores de prueba de los parámetros de programación según se le indique para probar la tarea. Este botón de la barra de herramientas es un ícono de ejecución con un marcador de parámetro, ubicado a la derecha de Run. Tras la prueba, revise el programa de ejecución en la parte inferior de la página y confirme que los valores de los parámetros sean los esperados.

Comprobar los datos

Utilice Temporary Query en DataStudio para comprobar si los datos se sincronizaron con MaxCompute. Consulta de ejemplo:

select * from ods_xiaobo_rest2 where ds='20230104' order by createtime;

Aquí, ods_xiaobo_rest2 es la tabla particionada de MaxCompute creada anteriormente y 20230104 es el valor de partición utilizado en la ejecución de prueba.

Una vez finalizada la ejecución, revise los resultados de la consulta en la parte inferior de la página. La tabla debe mostrar los valores de axis, value, createTime y la partición ds, coincidentes con la respuesta de la API.

Confirmar, publicar y rellenar datos históricos

Después de probar y comprobar los datos, confirme y publique la tarea de sincronización por lotes en producción. Para conocer el procedimiento, consulte Deployment process for a standard mode workspace. En la barra de herramientas del editor de nodos, haga clic en el ícono Commit. Cuando la publicación se complete correctamente, busque la tarea periódica en Operation Center y rellene los datos históricos. Para ver las instrucciones de relleno, consulte Backfill data instance operations.

Práctica 2: Leer datos paginados de una API RestAPI

Escenario de ejemplo: definición de la API

En este ejemplo se lee una API RESTful GET de prueba alojada localmente y se escriben los datos en una tabla particionada de MaxCompute. Detalles de la API:

Nota

Ajuste la configuración para que coincida con su propia API. La API de muestra solo sirve para ilustrar el procedimiento.

  • Solicitud de ejemplo:

    http://TestAPIAddress:Port/rest/test1?pageSize=5&pageNum=1

    pageSize y pageNum son los parámetros de la solicitud que indican el tamaño de página y el número de página.

  • Respuesta de ejemplo:

    {
        "status": "success",
        "totalNum": 304,
        "data": [
            {
                "id": 6,
                "name": "Test user 6"
            },
            {
                "id": 7,
                "name": "Test user 7"
            },
            {
                "id": 8,
                "name": "Test user 8"
            },
            {
                "id": 9,
                "name": "Test user 9"
            },
            {
                "id": 10,
                "name": "Test user 10"
            }
        ]
    }

    Los datos devueltos se encuentran bajo data y tienen dos campos: id y name.

  • Prueba de la API de ejemplo: envíe una solicitud GET en Postman u otra herramienta de pruebas de API con pageSize=5 y pageNum=2. La API devuelve 200 OK, totalNum es 304 y data contiene los usuarios de la página 2, por ejemplo, id:6 y name:Test user 6.

Preparación: Crear una tabla particionada de MaxCompute

Este ejemplo sincroniza los datos de la API con una tabla particionada de MaxCompute. Primero, cree una tabla particionada para almacenarlos.

Nota

Con el modo de sobrescritura, las tablas particionadas permiten volver a ejecutar tareas sin duplicar datos y facilitan el análisis posterior.

Cree la tabla con el siguiente comando:

CREATE TABLE IF NOT EXISTS ods_xiaobo_rest1
(
  `id` BIGINT
  ,`name` STRING
)
PARTITIONED BY
(
  ds  STRING
)
LIFECYCLE 3650;

Si utiliza DataWorks Standard Edition y publica la tabla particionada en producción, podrá encontrarla después en Data Map.

Configurar una tarea de sincronización

  1. Agregue un origen de datos RestAPI.

    Agregue un origen de datos RestAPI a su espacio de trabajo de DataWorks. Para conocer el procedimiento, consulte Configure a REST API data source. En el cuadro de diálogo Add RestAPI Data Source, introduzca Data Source Name y Data Source Description, seleccione Applicable Environment (desarrollo o producción) y configure Default Request Headers (valor predeterminado: {}). Configuraciones clave:

    • url: establezca la URL de la API RESTful.

    • Authentication Method: elija el método de autenticación que admita la API y configure sus parámetros.

    • Resource group connectivity: los orígenes de datos RestAPI solo admiten resource groups exclusivos para Data Integration. Seleccione uno y compruebe la conectividad entre el origen de datos y el resource group.

  2. Cree un nodo de sincronización por lotes y configure la tarea.

    Cree un nodo de sincronización por lotes en DataStudio. Para conocer el procedimiento, consulte Codeless UI configuration. Configuraciones clave:

    • Configuración de Data Source:

      • Data Source: seleccione el origen de datos RestAPI creado anteriormente.

      • Request Method: esta API de muestra usa GET. Seleccione GET.

      • Return Data Structure: la respuesta de ejemplo es un arreglo JSON. Seleccione Array Data.

      • The JSON path for data storage: los datos se encuentran bajo data en la respuesta. Establezca este valor en data.

      • Request Param: utilice un tamaño de página fijo de pageSize=50. Evite páginas demasiado grandes, ya que pueden sobrecargar el servidor RestAPI y la tarea de sincronización.

      • The number of requests: seleccione Multiple Requests.

        El parámetro de paginación es pageNum. Seleccione Multiple Requests y configure los siguientes parámetros:

        • Parameter used for multiple requests: establézcalo en pageNum.

        • StartIndex: establézcalo en 1.

        • Step: establézcalo en 1.

        • EndIndex: establézcalo en 100.

    • Configuración de Data Destination:

      • Data Source y Table: seleccione la tabla particionada de MaxCompute creada anteriormente.

      • Partition Information: utilice la información de partición junto con un parámetro de programación.

        • Establezca la información de partición en ${bizdate}.

        • Agregue un parámetro de programación: bizdate=$bizdate.

        Si la fecha de ejecución es 2023-01-05, el valor de la partición es 20230104.

    • Field Mapping: introduzca los campos de la respuesta de RestAPI. Los nombres de campo distinguen entre mayúsculas y minúsculas. Después de agregar los campos, utilice The same name mapping o conecte las columnas manualmente para crear las asignaciones.

Ejecución de prueba

Dado que este ejemplo utiliza parámetros de programación, después de configurar la tarea de sincronización por lotes, haga clic en Run with Parameters en la parte superior de la página del nodo. Introduzca los valores de prueba de los parámetros de programación según se le indique para probar la tarea. Este botón de la barra de herramientas es un ícono de ejecución con un marcador de parámetro, ubicado a la derecha de Run. Tras la prueba, revise el programa de ejecución en la parte inferior de la página y confirme que los valores de los parámetros sean los esperados.

Comprobar los datos

Utilice Temporary Query en DataStudio para comprobar si los datos se sincronizaron con MaxCompute. Consulta de ejemplo:

select * from ods_xiaobo_rest1 where ds='20230104' order by id;

Aquí, ods_xiaobo_rest1 es la tabla particionada de MaxCompute creada anteriormente y 20230104 es el valor de partición utilizado en la ejecución de prueba.

Una vez finalizada la ejecución, revise los resultados de la consulta en la parte inferior de la página. La tabla debe mostrar id, name y la partición ds, coincidentes con la respuesta de la API.

Práctica 3: Leer datos de una API RestAPI POST

Escenario de ejemplo: definición de la API

En este ejemplo se lee una API RESTful POST de prueba alojada localmente y se escriben sus datos en una tabla particionada de MaxCompute. Detalles de la API:

Nota

Ajuste la configuración para que coincida con su propia API. La API de muestra solo sirve para ilustrar el procedimiento.

  • Solicitud de ejemplo:

    http://TestAPIAddress:Port/rest/test3

    El formato de requestBody es JSON.

    {
      "userId":16,
      "startTime":"2023-01-04 00:00:00",
      "endTime":"2023-01-04 23:59:59"
    }
  • Respuesta de ejemplo:

    {
        "status": "success",
        "totalNum": 289,
        "data": [
            {
                "user": {
                    "id": 16,
                    "name": "User 16"
                },
                "axis": "series1",
                "value": 8231053,
                "createTime": "2023-01-04 00:04:57"
            },
            {
                "user": {
                    "id": 16,
                    "name": "User 16"
                },
                "axis": "series1",
                "value": 6519928,
                "createTime": "2023-01-04 00:09:51"
            },
            {
                "user": {
                    "id": 16,
                    "name": "User 16"
                },
                "axis": "series1",
                "value": 2915920,
                "createTime": "2023-01-04 00:14:36"
            },
            {
                "user": {
                    "id": 16,
                    "name": "User 16"
                },
                "axis": "series1",
                "value": 7971851,
                "createTime": "2023-01-04 00:19:51"
            },
            {
                "user": {
                    "id": 16,
                    "name": "User 16"
                },
                "axis": "series1",
                "value": 6598996,
                "createTime": "2023-01-04 00:24:30"
            }
        ]
    }

    Los datos devueltos se encuentran bajo data y tienen cinco campos: user.id, user.name, axis, value y createTime.

  • Prueba de la API de ejemplo: envíe una solicitud POST en Postman u otra herramienta de pruebas de API. Establezca Body en raw JSON y proporcione userId, startTime y endTime. La API devuelve 200 OK, totalNum es 289 y data contiene los datos de ese usuario dentro del rango de tiempo especificado.

Preparación: Crear una tabla particionada de MaxCompute

Este ejemplo sincroniza los datos de la API con una tabla particionada de MaxCompute. Primero, cree una tabla particionada para almacenarlos.

Nota

Con el modo de sobrescritura, las tablas particionadas permiten volver a ejecutar tareas sin duplicar datos y facilitan el análisis posterior.

Cree la tabla con el siguiente comando:

CREATE TABLE IF NOT EXISTS ods_xiaobo_rest3
(
  `user_id` BIGINT
  ,`name` STRING
  ,`axis`  STRING
  ,`value` BIGINT
  ,`create_time` STRING
)
PARTITIONED BY
(
  ds  STRING
)
LIFECYCLE 3650;

Si utiliza DataWorks Standard Edition y publica la tabla particionada en producción, podrá encontrarla después en Data Map.

Configurar una tarea de sincronización

  1. Agregue un origen de datos RestAPI.

    Agregue un origen de datos RestAPI a su espacio de trabajo de DataWorks. Para conocer el procedimiento, consulte Configure a REST API data source. En el cuadro de diálogo Add RestAPI Data Source, introduzca Data Source Name y Data Source Description, seleccione Applicable Environment (desarrollo o producción) y configure Default Request Headers (valor predeterminado: {}). Configuraciones clave:

    • url: establezca la URL de la API RESTful.

    • Authentication Method: elija el método de autenticación que admita la API y configure sus parámetros.

    • Resource group connectivity: los orígenes de datos RestAPI solo admiten resource groups exclusivos para Data Integration. Seleccione uno y compruebe la conectividad entre el origen de datos y el resource group.

  2. Cree un nodo de sincronización por lotes y configure la tarea.

    Cree un nodo de sincronización por lotes en DataStudio. Para conocer el procedimiento, consulte Codeless UI configuration. Configuraciones clave:

    • Configuración de Data Source:

      • Data Source: seleccione el origen de datos RestAPI creado anteriormente.

      • Request Method: este ejemplo usa POST. Seleccione POST.

      • Return Data Structure: la respuesta de ejemplo es un arreglo JSON. Seleccione Array Data.

      • The JSON path for data storage: los datos se encuentran bajo data en la respuesta. Establezca este valor en data.

      • Header: la API POST acepta un cuerpo de solicitud JSON. Establézcalo en {"Content-Type":"application/json"}.

      • Request Param: combine los parámetros de la solicitud con los parámetros de programación para sincronizar cada día los datos de la jornada actual.

        • Establezca los parámetros de la solicitud en

          {
          
              "userId":16,
          
              "startTime":"${extract_day} 00:00:00",
          
              "endTime":"${extract_day} 23:59:59"
          
          }
        • Agregue un parámetro de programación: extract_day=${yyyy-mm-dd}.

    • Configuración de Data Destination:

      • Data Source y Table: seleccione la tabla particionada de MaxCompute creada anteriormente.

      • Partition Information: utilice la información de partición junto con un parámetro de programación.

        • Establezca la información de partición en ${bizdate}.

        • Agregue un parámetro de programación: bizdate=$bizdate.

        Si la fecha de ejecución es 2023-01-05, el valor de la partición es 20230104.

    • Field Mapping: introduzca los campos de la respuesta de RestAPI. Separe los nombres de campos anidados con puntos. Los nombres de campo distinguen entre mayúsculas y minúsculas. Luego, utilice The same name mapping o conecte las columnas manualmente para crear las asignaciones.

Ejecución de prueba

Dado que este ejemplo utiliza parámetros de programación, después de configurar la tarea de sincronización por lotes, haga clic en Run with Parameters en la parte superior de la página del nodo. Introduzca los valores de prueba de los parámetros de programación según se le indique para probar la tarea. Este botón de la barra de herramientas es un ícono de ejecución con un marcador de parámetro, ubicado a la derecha de Run. Tras la prueba, revise el programa de ejecución en la parte inferior de la página y confirme que los valores de los parámetros sean los esperados.

Comprobar los datos

Utilice Temporary Query en DataStudio para comprobar si los datos se sincronizaron con MaxCompute. Consulta de ejemplo:

select * from ods_xiaobo_rest3 where ds='20230105' order by create_time;

Aquí, ods_xiaobo_rest3 es la tabla particionada de MaxCompute creada anteriormente y 20230105 es el valor de partición utilizado en la ejecución de prueba.

Una vez finalizada la ejecución, revise los resultados de la consulta en la parte inferior de la página. La tabla debe mostrar user_id, name, axis, value, create_time y la partición ds, coincidentes con la respuesta de la API, lo cual confirma que los campos anidados se asignaron y sincronizaron correctamente.

Práctica 4: Iterar sobre un parámetro de solicitud para leer una API de RestAPI

Escenario de ejemplo: definición de la API

Este ejemplo lee de forma repetida una API RESTful GET de prueba alojada localmente y escribe los datos en una tabla particionada de MaxCompute. La API devuelve datos de temperatura según los parámetros de fecha, provincia y ciudad.

Nota

Ajuste la configuración para que coincida con su propia API. La API de muestra solo sirve para ilustrar el procedimiento.

  • Solicitud de ejemplo:

    http://TestAPIAddress:Port/rest/test5?date=2023-01-04&province=zhejiang&city=hangzhou
  • Respuesta de ejemplo:

    {
      "province": "P1",
      "city": "hz",
      "date": "2023-01-04",
      "minTemperature": "-14",
      "maxTemperature": "-7",
      "unit": "℃",
      "weather": "cool"
    }
  • Prueba de la API de ejemplo: envíe una solicitud GET en Postman u otra herramienta de prueba de API con date=2023-01-04, province=p1 y city=hz. La API devuelve un JSON con minTemperature (-14), maxTemperature (-7), unit (℃) y weather (COOL).

Preparación: crear una tabla de parámetros y una tabla particionada de MaxCompute

Primero, cree una tabla de parámetros que contenga los valores de provincia y ciudad sobre los cuales iterar. Después, cree una tabla particionada para almacenar los datos sincronizados de la API.

Nota

Con el modo de sobrescritura, las tablas particionadas permiten volver a ejecutar tareas sin duplicar datos y facilitan el análisis posterior.

Utilice estas instrucciones CREATE TABLE:

Crear la tabla de parámetros

CREATE TABLE IF NOT EXISTS `citys`
(
  `province` STRING ,
  `city` STRING
);

insert into citys
select 'shanghai','shanghai'
union all select 'zhejiang','hangzhou'
union all select 'sichuan','chengdu';

Crear la tabla particionada de MaxCompute

CREATE TABLE IF NOT EXISTS ods_xiaobo_rest5
(
    `minTemperature` STRING ,
    `maxTemperature` STRING ,
    `unit` STRING ,
    `weather` STRING 
)
PARTITIONED BY 
(
    `province` STRING ,
    `city` STRING ,
    `ds`  STRING
)
LIFECYCLE 3650;

Si utiliza DataWorks Standard Edition y publica las tablas en producción, podrá encontrarlas después en Data Map.

Configurar una tarea de sincronización

  1. Agregue un origen de datos de RestAPI.

    Agregue un origen de datos de RestAPI a su espacio de trabajo de DataWorks. Para conocer el procedimiento, consulte Configure a REST API data source. En el cuadro de diálogo Add RestAPI Data Source, introduzca Data Source Name y Data Source Description, seleccione Applicable Environment (desarrollo o producción) y configure Default Request Headers (valor predeterminado: {}). Configuraciones clave:

    • url: establezca la URL de la API RESTful.

    • Authentication Method: elija el método de autenticación compatible con la API y configure sus parámetros.

    • Resource group connectivity: seleccione el resource group especificado y compruebe la conectividad.

  2. En DataStudio, cree un nodo de asignación llamado setval_citys. Para conocer el procedimiento, consulte Assignment node.

    Configuraciones clave:

    N.º

    Descripción

    ①

    • Lenguaje de asignación: ODPS SQL

    • Código de asignación:

      SELECT  province
              ,city
      FROM    citys;

    ②

    Propiedad de reejecución: establézcala en You can run again after successful or failed operation..

    Una vez configurado, confirme y publique el nodo de asignación.

  3. En DataStudio, cree un nodo for-each. Para conocer el procedimiento, consulte For-each node. Configuraciones clave:

    N.º

    Descripción

    ①

    Propiedad de reejecución: establézcala en You can run again after successful or failed operation..

    ②

    Nodo ascendente dependiente: seleccione setval_citys del paso anterior.

    ③

    Parámetro de contexto del nodo: seleccione el origen del parámetro de entrada.

    ④

    Nodo de sincronización por lotes: configure un nodo de sincronización por lotes dentro de for-each como se describe a continuación.

  4. Cree un nodo de sincronización por lotes y configure la tarea. Para conocer el procedimiento, consulte Codeless UI configuration.

    Configuraciones clave:

    N.º

    Descripción

    ①

    Parámetros de programación:

    bizdate=$[yyyymmdd-1] 
    bizdate_year=$[yyyy-1] 
    bizdate_month=$[mm-1] 
    bizdate_day=$[dd-1]

    ②

    Configure los parámetros de solicitud de RestAPI. Los valores de province y city provienen del nodo de bucle.

    date=${bizdate_year}-${bizdate_month}-${bizdate_day}&province=${dag.foreach.current[0]}&city=${dag.foreach.current[1]}

    ③

    Configure el parámetro de partición province de MaxCompute desde el nodo de bucle.

    province=${dag.foreach.current[0]}

    ④

    Configure el parámetro de partición city de MaxCompute desde el nodo de bucle.

    city=${dag.foreach.current[1]}

    ⑤

    Configure el parámetro de partición ds de MaxCompute a partir de un parámetro de programación.

    ds=${bizdate}

    ⑥

    Introduzca los campos de respuesta de RestAPI. Los nombres de campo distinguen entre mayúsculas y minúsculas. Luego, utilice The same name mapping o conecte las columnas manualmente para crear las asignaciones.

    Una vez configurado, confirme y publique el nodo for-each.

Ejecución de prueba

  1. Después de confirmar y publishing correctamente los nodos de asignación y for-each, ejecute un backfill del nodo de asignación en Operation Center, dentro de Periodic Tasks. Para conocer el procedimiento, consulte Backfill data instance operations.

  2. Seleccione la fecha comercial y los nodos descendentes para la tarea de backfill.

  3. Cuando termine la ejecución de la tarea, revise los parámetros y los registros en los detalles de la instancia de backfill.

    En este ejemplo, los datos se escriben en la partición de MaxCompute province=shanghai,city=shanghai,ds=20231215.

Comprobar los datos

Utilice Temporary Query en Data Development para comprobar si los datos se sincronizaron con MaxCompute. Consulta de ejemplo:

En este ejemplo, ods_xiaobo_rest5 es la tabla particionada de MaxCompute creada en Prepare.

SELECT  weather
        ,mintemperature
        ,maxtemperature
        ,unit
        ,province
        ,city
        ,ds
FROM    ods_xiaobo_rest5
WHERE   ds != 1
ORDER BY ds,province,city;

Al finalizar la ejecución, compruebe si los datos se sincronizaron con MaxCompute.

weather

mintemperature

maxtemperature

unit

province

city

ds

COOL

3

9

°C

shanghai

shanghai

20231215

HAZY

-2

6

°C

sichuan

chengdu

20231215

FOGGY

19

28

°C

zhejiang

hangzhou

20231215

SNOWY

-16

-5

°C

shanghai

shanghai

20231216

SNOWY

-16

-8

°C

sichuan

chengdu

20231216

SUNNY

15

25

°C

zhejiang

hangzhou

20231216

COOL

-10

2

°C

shanghai

shanghai

20231217

HAZY

15

24

°C

sichuan

chengdu

20231217

FOGGY

4

11

°C

zhejiang

hangzhou

20231217

HOT

-14

-7

°C

shanghai

shanghai

20231218

FOGGY

-2

4

°C

sichuan

chengdu

20231218

RAINY

9

19

°C

zhejiang

hangzhou

20231218