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.

Cómo establecer y obtener el valor de una variable en una canalización de Azure Synapse o Data Factory.

He creado un pipeline con la actividad Copiar, digamos, actividad1, en el espacio de trabajo de Azure Synapse Analytics que carga el siguiente archivo JSON JSON en el almacenamiento de datos de Azure Lake Gen2 (ADLSGen2) utilizando source como una REST Api y Sink (destino) como ADLSGen2. Ref.

MyJsonFile.json (almacenado en ADLSGen2)

{"file_url":"https://files.testwebsite.com/Downloads/TimeStampFileName.zip"}

En el mismo pipeline, necesito agregar una actividad2 que lea la URL del JSON anterior, y una actividad3 que cargue el archivo zip (mencionado en esa URL) en el mismo almacenamiento Gen2.

Pregunta: ¿Cómo podemos agregar una actividad2 al pipeline existente que obtendrá la URL del JSON anterior y luego la pasará a la actividad3? ¿O hay mejores sugerencias / soluciones para lograr esta tarea?

Observaciones: He intentado la actividad de establecimiento de variable (mostrada a continuación) al declarar primero una variable en el pipeline y luego usar esa variable, digamos, myURLVar en esta actividad, pero no estoy seguro de cómo establecer dinámicamente el valor de myURLVar en el valor de la URL del JSON anterior. Tenga en cuenta que el nombre del archivo Json (MyJsonFile.json) es constante, pero el nombre del archivo zip en la URL es dinámico (según la marca de tiempo), por lo tanto, no podemos simplemente codificar duro la URL anterior.

Ingrese la descripción de la imagen aquí

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Para agregar activity2 a la tubería existente, puede usar la Actividad web en Azure Data Factory que se puede usar para llamar a una API REST y obtener el cuerpo de respuesta. Estos son los pasos para lograr esto:

    1. Agregue una nueva Actividad web a su tubería después de activity1.
    2. Configure la Actividad web especificando el Método como Get, URL como la URL del archivo JSON almacenado en ADLSGen2 y Autenticación como Anónimo.
    3. En la pestaña Headers, agregue el encabezado Content-Type con el valor application/json.
    4. En la pestaña Configuración, establezca Timeout en un valor mayor que el tiempo de respuesta esperado.
    5. En la pestaña Salida, seleccione Body como el tipo de respuesta y proporcione un nombre para el valor de salida, digamos, myURLResponseVar.

    Ahora, activity2 tiene la URL del archivo JSON. Puede pasar esta URL a activity3 usando la Actividad de Set de variable y luego usarla en el Sink de activity3 para cargar el archivo zip en ADLSGen2. Aquí hay un ejemplo de cómo puede usar la Actividad de Set de variable:

    1. Agregue una nueva Actividad de Set de variable después de activity2.
    2. Declare una nueva variable, digamos, myURLVar.
    3. En el campo Valor de Actividad de Set de variable, seleccione myURLResponseVar de la salida de activity2.
    4. Agregue activity3 a la tubería para leer el archivo zip desde la URL almacenada en myURLVar y cargarlo en ADLSGen2.

    Con estos pasos, puede agregar activity2 a la tubería existente y pasar la URL a activity3 dinámicamente.

Comments are closed.