Paginación personalizada de la API Rest en Azure Data Factory.
Me gustaría recuperar todos los resultados del punto de conexión Rest API. La URL tiene la siguiente forma: https://myapi.com/relativeapi?project=&repo=&prId=&page=&pageSize=&startTime=&endTime
Por defecto, al solicitar datos, solo se devuelve la primera página. Un ejemplo de resultado es el siguiente:
{
"page":1,
"pageSize":50,
"num":50,
"isLastPage":false,
"data":{
"ABC":{
"mock1":[
{
"Id":18,
"Date":"202104T02:04:53.000Z",
"attr1":0,
"attr2":0,
"attr3":0,
"historyData":[
{
"Date":"2021-11-03T00:08:13.000Z",
"attr1":0,
"attr2":0,
"attr3":0,
"attr4":{}
}
]
}
]
}
}
}
¿Cómo podemos lograr esto en Azure Data Factory y recuperar todos los resultados de todas las páginas (la última página es cuando “IsLastPage=TRUE” y “data” está vacío)?
Además, ¿cómo podemos solicitar incrementalmente los datos de la API para que el flujo de datos no necesite ejecutar todos los resultados desde el principio (página 1), sino obtener resultados desde la última página actualizada?
davy.ai
Para recuperar todos los resultados del punto de conexión de la API REST en Azure Data Factory, podemos seguir los siguientes pasos:
Esto recuperará todas las páginas de datos del punto de conexión de la API REST hasta que se alcance la última página (cuando “IsLastPage=TRUE” y “data” esté vacío).
Para solicitar incrementos de datos de la API, podemos utilizar el campo “Paginación” en la configuración de la Actividad Web. Podemos establecerlo en “Auto-Incremento” y especificar un parámetro para rastrear la última página actualizada (por ejemplo, “lastPage”). Luego, podemos pasar el valor de este parámetro al encabezado “page” en la siguiente ejecución del pipeline. Esto asegurará que el pipeline solo recupere datos nuevos o actualizados del punto de conexión de la API.