es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , ,

Answer

  1. Avatar for 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:

    1. Crear un pipeline en Azure Data Factory.
    2. Agregar una Actividad Web en el pipeline.
    3. Establecer la URL del punto de conexión de la API REST en la Actividad Web.
    4. Configurar el método HTTP como GET.
    5. En la sección de Encabezados Adicionales, agregar un encabezado para “page” y establecerlo en 1.
    6. En la sección de Cadena de Consulta, agregar parámetros para el punto de conexión de la API (por ejemplo, proyecto, repositorio, prId, tamaño de página, hora de inicio, hora de finalización).
    7. En la sección de Configuración, establecer el campo “Paginación” en “Seguir-Página-Siguiente”.
    8. Ejecutar el pipeline.

    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.

Comments are closed.