{"id":175926,"date":"2024-11-05T07:30:00","date_gmt":"2024-11-05T06:30:00","guid":{"rendered":"https:\/\/liora.io\/es\/?p=175926"},"modified":"2026-02-06T09:57:26","modified_gmt":"2026-02-06T08:57:26","slug":"azure-data-factory-y-devops-pipelines","status":"publish","type":"post","link":"https:\/\/liora.io\/es\/azure-data-factory-y-devops-pipelines","title":{"rendered":"Azure Data Factory y DevOps Pipelines: Gu\u00eda de CI\/CD"},"content":{"rendered":"<p><strong>Los pipelines de Azure DevOps permiten el CI\/CD (integraci\u00f3n y entrega continua) en las Azure Data Factories. \u00a1Descubre el m\u00e9todo para impulsar los cambios realizados en un entorno de desarrollo hacia los entornos de prueba y producci\u00f3n!<\/strong><\/p>\n<p>Los <a href=\"https:\/\/liora.io\/es\/data-engineer\">Data Engineers<\/a> desarrollan y construyen pipelines en un entorno de Desarrollo, luego los transfieren hacia el entorno de Pruebas. Una vez realizadas las pruebas, los pipelines pueden ser desplegados en Producci\u00f3n. El objetivo del proceso es <b>detectar bugs, problemas de calidad de datos o datos faltantes<\/b>.<\/p>\n<p>Esta separaci\u00f3n de los entornos permite una <b>separaci\u00f3n de tareas<\/b> y minimiza el impacto de los cambios realizados por otros equipos. Tambi\u00e9n reduce los riesgos y los tiempos de interrupci\u00f3n, y permite restringir la seguridad y los permisos para cada entorno con el fin de evitar errores humanos y proteger los datos.<\/p>\n<p>Es por esta raz\u00f3n que los entornos de desarrollo, prueba y producci\u00f3n separados son esenciales. El <b>CI\/CD (integraci\u00f3n y entrega continua)<\/b> permite ir m\u00e1s all\u00e1 automatizando las tareas administrativas y minimizando los riesgos t\u00e9cnicos.<\/p>\n<p>La automatizaci\u00f3n y la integraci\u00f3n de la prueba y el despliegue garantizan que las mismas acciones ocurran de forma constante cada vez. Los pipelines CI\/CD implementados en el proceso de desarrollo permiten <b>probar y desplegar los pipelines de datos<\/b> sistem\u00e1ticamente y autom\u00e1ticamente.<\/p>\n<p>A lo largo de este art\u00edculo, descubre c\u00f3mo <b>configurar un repositorio de Azure DevOps<\/b> para tu Data Factory y <b>usar los pipelines de Azure DevOps<\/b><\/p>\n<h3>\u00bfPor qu\u00e9 CI\/CD para Azure Data Factory?<\/h3>\n<p>Seg\u00fan la definici\u00f3n propuesta por Microsoft, la integraci\u00f3n continua es la pr\u00e1ctica de probar cada cambio realizado al c\u00f3digo fuente autom\u00e1ticamente y lo antes posible. La entrega continua sigue la prueba que ocurre durante la integraci\u00f3n continua, y env\u00eda los cambios hacia un <b>sistema de staging o producci\u00f3n<\/b>.<\/p>\n<p>En <a href=\"https:\/\/liora.io\/es\/azure-data-factory-que-es-y-para-que-sirve\">Azure Data Factory<\/a>, la integraci\u00f3n continua y la entrega continua (CI\/CD) consisten en transferir los pipelines de Data Factory de un entorno (desarrollo, prueba, producci\u00f3n) a otro.<\/p>\n<p>El objetivo es entonces probar todo lo que desarrollamos en Data Factory, <b>utilizar m\u00faltiples entornos separados y simplificar al m\u00e1ximo los despliegues entre estos entornos<\/b><img decoding=\"async\" width=\"869\" height=\"529\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2024\/10\/pipeline-ci-cd-1.webp\" alt=\"\" loading=\"lazy\"><\/p>\n<h3>\u00bfCu\u00e1les son los elementos prerrequisitos?<\/h3>\n<p>Varios elementos son prerrequisitos para este proceso. Se requiere una <b>suscripci\u00f3n al cloud de Azure<\/b>, con la capacidad de crear grupos de recursos y recursos con la asignaci\u00f3n de rol \u201cPropietario\u201d.<\/p>\n<p>Sin los privilegios ligados a este rol, es imposible <b>crear un principal de servicio,<\/b> abriendo el <b>acceso a las Data Factories<\/b> dentro del grupo de recursos.<\/p>\n<p>La creaci\u00f3n de pipelines de Azure Data Factory y DevOps tambi\u00e9n es indispensable. Para este ejemplo, crearemos todos los recursos requeridos para <b>tres entornos<\/b>: <b>DEV<\/b>, <b>UAT<\/b> y <b>PROD<\/b>.<\/p>\n<h3>\u00bfC\u00f3mo configurar el entorno de Azure?<\/h3>\n<p>Para comenzar, crearemos tres grupos de recursos y tres Data Factories desde el Azure Portal. Los nombres de cada <b>grupo de recursos<\/b> deben ser \u00fanicos en la suscripci\u00f3n, y las Data Factories deben ser \u00fanicas en el cloud de Azure.<\/p>\n<p>Para este ejemplo, mantendremos esta estructura para el nombre de los recursos: \u00ab<b>iniciales-proyecto-entorno-recurso\u00bb<\/b>. Para obtener m\u00e1s informaci\u00f3n sobre las convenciones de nombres, puedes consultar la documentaci\u00f3n oficial de Microsoft.<\/p>\n<p>Siguiendo esta estructura, crea tres Grupos de Recursos con los siguientes nombres: &lt;Iniciales&gt;-warehouse-dev-rg &lt;Iniciales&gt;-warehouse-uat-rg &lt;Iniciales&gt;-warehouse-prod-rg<\/p>\n<p>Una vez conectado a Azure, haz clic en el bot\u00f3n <b>\u00abcrear un recurso\u00bb<\/b> en la parte superior de la p\u00e1gina de inicio. Usando la barra de b\u00fasqueda, busca \u00abGrupo Recurso\u00bb y selecciona \u00abGrupo Recurso\u00bb en los resultados.<\/p>\n<p>Una vez en la p\u00e1gina de informaci\u00f3n de recurso \u00abGrupo Recurso\u00bb, haz clic en \u00abCrear\u00bb. En la p\u00e1gina \u00abCrear un grupo recurso\u00bb, debes completar tres campos:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Suscripci\u00f3n<\/b>: elige tu suscripci\u00f3n en la lista<\/li>\n<li style=\"font-weight: 400\"><b>Grupo Recurso<\/b>: \u00ab&lt;Iniciales&gt;-warehouse-dev-rg\u00bb<\/li>\n<li><b>Regi\u00f3n<\/b>: selecciona la regi\u00f3n m\u00e1s adecuada a tu ubicaci\u00f3n actual<\/li>\n<\/ul>\n<p><a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\"><br \/>\nDescubra nuestros cursos de formaci\u00f3n<br \/>\n<\/a><\/p>\n<p>Valida, luego haz clic en \u00abCrear\u00bb en la parte inferior de la p\u00e1gina. Para crear los <b>Grupos Recurso UAT y PROD<\/b>, repite el proceso simplemente reemplazando el nombre del grupo en la p\u00e1gina de creaci\u00f3n. Ahora deber\u00edas ver los tres Grupos Recurso en el portal de Azure.<\/p>\n<p>Ahora <b>crearemos las Data Factories para cada uno de estos tres Grupos Recurso<\/b>. Los nombres de estas f\u00e1bricas seguir\u00e1n la misma estructura: &lt;Iniciales&gt;-warehouse-dev-df &lt;Iniciales&gt;-warehouse-uat-df &lt;Iniciales&gt;-warehouse-prod-df<\/p>\n<p>Ten en cuenta que los nombres de Data Factory deben ser \u00fanicos en todo el cloud de Azure. Por lo tanto, es posible que debas agregar un n\u00famero aleatorio al final de las iniciales elegidas.<\/p>\n<p>Para crear la Data Factory DEV, haz clic en el bot\u00f3n \u00abCrear un Recurso\u00bb en la parte superior de la p\u00e1gina de inicio de Azure. En la barra de b\u00fasqueda, escribe \u00abData Factory\u00bb y elige \u00abData Factory\u00bb en los resultados de b\u00fasqueda.<\/p>\n<p>Una vez en la p\u00e1gina de informaci\u00f3n de recurso \u00abData Factory\u00bb, haz clic en \u00abCrear\u00bb. En la p\u00e1gina de creaci\u00f3n de Data Factory, debes completar cinco campos.<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Suscripci\u00f3n<\/b>: elige tu suscripci\u00f3n en la lista<\/li>\n<li style=\"font-weight: 400\"><b>Grupo Recurso<\/b>: elige \u00ab&lt;Iniciales&gt;-warehouse-dev-rg\u00bb en el men\u00fa desplegable<\/li>\n<li style=\"font-weight: 400\"><b>Regi\u00f3n<\/b>: elige la Regi\u00f3n m\u00e1s cercana a tu ubicaci\u00f3n actual<\/li>\n<li style=\"font-weight: 400\"><b>Nombre<\/b>: \u00ab&lt;Iniciales&gt;-warehouse-dev-df\u00bb<\/li>\n<li><b>Versi\u00f3n<\/b>: V2<\/li>\n<\/ul>\n<p>Luego haz clic en el bot\u00f3n: <b>\u00abSiguiente: configuraci\u00f3n Git\u00bb<\/b> en la parte inferior de la p\u00e1gina. Marca <b>\u00abConfigurar Git m\u00e1s tarde\u00bb<\/b>, valida y luego haz clic en \u00abCrear\u00bb en la parte inferior de la p\u00e1gina.<\/p>\n<p>Para crear las Data Factories UAT y PROD, repite el proceso reemplazando el nombre y eligiendo el Grupo Recurso correspondiente a cada una.<\/p>\n<p>Despu\u00e9s de completar este paso, ver\u00e1s una Data Factory en cada Grupo Recurso. El entorno de la Data Factory debe ser id\u00e9ntico al del Grupo Recurso.<\/p>\n<p><img decoding=\"async\" width=\"675\" height=\"404\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2024\/10\/devops-environnement.webp\" alt=\"\" loading=\"lazy\"><\/p>\n<h3>Configurar el entorno DevOps<\/h3>\n<p>La siguiente parte del proceso consiste en crear un repositorio que contenga el c\u00f3digo de Azure Data Factory y los pipelines. Visita el sitio web de Azure DevOps y haz clic en <b>\u00abregistrarse en Azure DevOps\u00bb<\/b> bajo el bot\u00f3n azul <b>\u00abComenzar gratis\u00bb<\/b>.<\/p>\n<p>Usa tus credenciales de Azure para iniciar sesi\u00f3n. En la p\u00e1gina de confirmaci\u00f3n de directorio, no hagas clic en \u00abContinuar\u00bb. El curso de acci\u00f3n depende del tipo de cuenta que utilices.<\/p>\n<p>Si utilizas una cuenta personal para Azure y DevOps, deber\u00e1s cambiar de directorio al iniciar sesi\u00f3n. Esto te permitir\u00e1 <b>conectar los Servicios de Azure a DevOps<\/b>. Una vez conectado, haz clic en <b>\u00abcambiar de directorio\u00bb<\/b> junto a la direcci\u00f3n de correo electr\u00f3nico y selecciona \u00abdirectorio predeterminado\u00bb. Luego haz clic en \u00abContinuar\u00bb.<\/p>\n<p>Si utilizas una cuenta de empresa, ya est\u00e1 asociada con un directorio. Por lo tanto, puedes hacer clic directamente en \u00abContinuar\u00bb. En la pantalla \u00abCrear un proyecto para comenzar\u00bb, el nombre de la organizaci\u00f3n se crea autom\u00e1ticamente en la parte superior izquierda.<\/p>\n<p>Antes de crear el proyecto, verifica que la organizaci\u00f3n DevOps est\u00e9 bien conectada al correcto Azure Active Directory. En la parte superior izquierda, haz clic en <b>\u00abConfiguraci\u00f3n de la organizaci\u00f3n\u00bb<\/b>. En el panel de la izquierda, selecciona <b>\u00abAzure Active Directory\u00bb<\/b> y aseg\u00farate de que sea la cuenta utilizada para los Servicios de Azure.<\/p>\n<p>Ahora puedes comenzar a crear el proyecto. N\u00f3mbralo <b>\u00abAzure Data Factory\u00bb<\/b>, deja la visibilidad como privada, y selecciona \u00abGit\u00bb para la \u00abgesti\u00f3n de versiones\u00bb y \u00abBasic\u00bb para el <b>\u00abseguimiento de trabajo\u00bb<\/b>. Luego haz clic en \u00abCrear el proyecto\u00bb.<\/p>\n<p>En este punto, has creado una organizaci\u00f3n en DevOps y un proyecto que contiene el repositorio de c\u00f3digo de Azure Data Factory. Ahora est\u00e1s en la p\u00e1gina de inicio del proyecto, y el siguiente paso es <b>vincular la Data Factory DEV al repositorio DevOps<\/b>.<\/p>\n<p>Es la \u00fanica Data Factory que se a\u00f1adir\u00e1 al directorio, ya que servir\u00e1 como pipeline de relajaci\u00f3n DevOps para impulsar el c\u00f3digo hacia UAT y PROD.<\/p>\n<p>En el portal de Azure, ve al Grupo Recurso DEV y haz clic en la <b>Data Factory DEV<\/b>. En la p\u00e1gina de inicio, haz clic en \u00abconfigurar un repositorio de c\u00f3digo\u00bb.<\/p>\n<p>En el panel de \u00abconfiguraci\u00f3n del repositorio\u00bb, completa los diferentes campos:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Tipo de repositorio<\/b>: Azure DevOps Git<\/li>\n<li style=\"font-weight: 400\"><b>Azure Active Directory<\/b>: elige tu Azure Active Directory en la lista<\/li>\n<li style=\"font-weight: 400\"><b>Cuenta de Azure DevOps<\/b>: elige el nombre de la organizaci\u00f3n creada durante el paso anterior<\/li>\n<li style=\"font-weight: 400\"><b>Nombre del proyecto<\/b>: Azure Data Factory<\/li>\n<li style=\"font-weight: 400\"><b>Nombre del repositorio<\/b>: elige \u00abusar un repositorio existente\u00bb y luego \u00abAzure Data Factory\u00bb en el men\u00fa desplegable<\/li>\n<li style=\"font-weight: 400\"><b>Rama de colaboraci\u00f3n<\/b>: master<\/li>\n<li style=\"font-weight: 400\"><b>Rama de publicaci\u00f3n<\/b>: adf_publish<\/li>\n<li style=\"font-weight: 400\"><b>Directorio ra\u00edz<\/b>: deja el directorio por defecto \u00ab\/\u00bb<\/li>\n<li><b>Importar un recurso existente<\/b>: no marques esta opci\u00f3n, ya que la Data Factory es nueva y no contiene nada.<\/li>\n<\/ul>\n<p>Confirma, y verifica que tu Data Factory est\u00e9 conectada al repositorio. A la izquierda de la pantalla, haz clic en \u00abAutor\u00bb. Al momento de elegir una rama de trabajo, aseg\u00farate de marcar \u00abUsar una rama existente\u00bb y \u00abmaster\u00bb. Guarda.<\/p>\n<p>Bajo \u00abRecursos de la F\u00e1brica\u00bb, haz clic en el signo \u00ab+\u00bb y elige \u00abnuevo pipeline\u00bb. N\u00f3mbralo <b>\u00abpipeline de espera 1\u00bb<\/b> e inserta una actividad \u00abEsperar\u00bb en el lienzo del pipeline. Haz clic en \u00abGuardar todo\u00bb en la parte superior de la pantalla y luego en \u00abPublicar\u00bb y \u00abOK\u00bb.<\/p>\n<p>Ve al proyecto Azure Data Factory en DevOps, y selecciona \u00abRepositorios\u00bb. All\u00ed encontrar\u00e1s el pipeline que acabas de crear.<\/p>\n<p>El repositorio actualmente contiene dos ramas. La rama master creada al mismo tiempo que el repositorio contiene cada elemento de la Data Factory, incluidos los datasets, los <b>runtimes de integraci\u00f3n<\/b>, los <b>servicios vinculados<\/b>, los <b>pipelines<\/b> y los <b>interruptores<\/b>. Cada elemento est\u00e1 asociado a un archivo .json con sus propiedades.<\/p>\n<p>La rama <b>adf_publish<\/b> se crea autom\u00e1ticamente al publicar el \u00abPipeline de espera 1\u00bb y contiene dos archivos extremadamente importantes que permiten pasar el c\u00f3digo de la Data Factory DEV hacia UAT y PROD.<\/p>\n<p>El <b>archivo ARMTemplateForFactory.json<\/b> contiene todos los activos dentro de la Data Factory y todas sus propiedades, y el archivo ARMTemplateParametersForFactory.json contiene todos los par\u00e1metros utilizados por los activos dentro de la Data Factory DEV.<\/p>\n<p>Ahora que los recursos est\u00e1n creados y conectados, puedes crear el pipeline. Permite que el contenido de la rama adf_publish est\u00e9 disponible para relajaciones en UAT y PROD.<\/p>\n<p><img decoding=\"async\" width=\"640\" height=\"365\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2024\/10\/coding-g15fbd119e_640.webp\" alt=\"\" loading=\"lazy\"><\/p>\n<h3>Crear un pipeline de Azure DevOps<\/h3>\n<p>El papel principal del pipeline es capturar los contenidos de la rama <b>adf_publish<\/b>. Esta rama contendr\u00e1 la versi\u00f3n m\u00e1s reciente de la Data Factory DEV, que puede ser utilizada posteriormente para el despliegue en las Data Factories UAT y PROD.<\/p>\n<p>El script PowerShell de <b>\u00abpre y post-despliegue\u00bb<\/b> debe ejecutarse en cada relajaci\u00f3n. Sin este script, la eliminaci\u00f3n de un pipeline en la Data Factory DEV y el despliegue del estado actual de DEV a UAT y PROD no se tendr\u00e1 en cuenta en UAT y PROD.<\/p>\n<p>Este script se encuentra en la documentaci\u00f3n de Azure Data Factory al final de la p\u00e1gina. C\u00f3pielo en tu editor de c\u00f3digo favorito, y gu\u00e1rdalo como un archivo PowerShell.<\/p>\n<p>En Azure DevOps, haz clic en <b>\u00abRepositorios\u00bb<\/b> a la izquierda de la pantalla. En la rama adf_publish, pasa el mouse sobre el directorio de Data Factory DEV y haz clic en <b>\u00abelipsis\u00bb<\/b>. Haz clic en \u00abSubir archivos\u00bb y sube el archivo desde su ubicaci\u00f3n de guardado. Valida. Ahora deber\u00edas ver el script con una extensi\u00f3n <b>\u00ab.ps1\u00bb<\/b> en la rama adf_publish.<\/p>\n<p>Ahora vamos a crear el <b>Pipeline Azure de CI\/CD<\/b>. A la izquierda de la p\u00e1gina DevOps, haz clic en \u00abPipelines\u00bb y selecciona <b>\u00abCrear un Pipeline\u00bb<\/b>.<\/p>\n<p>En la siguiente p\u00e1gina, elige \u00abUsar el editor cl\u00e1sico\u00bb, ya que permite seguir visualmente los pasos en curso. Una vez completado todo, podr\u00e1s inspeccionar el c\u00f3digo YAML generado.<\/p>\n<p>Este pipeline debe estar conectado a la rama adf_publish, ya que contiene los <b>archivos .json ARMTemplateForFactory y ARMTemplateParametersForFactory<\/b>.<\/p>\n<p>En el panel de selecci\u00f3n de fuentes, elige Azure Data Factory como proyecto de equipo y repositorio y adf_publish como rama por defecto. Haz clic en \u00abContinuar\u00bb.<\/p>\n<p>Ahora, transferiremos el contenido del directorio de Data Factory DEV bajo la rama adf_publish en \u00abRepositorios\u00bb &gt; \u00abArchivos\u00bb. A la derecha de \u00abAgent job 1\u00bb, haz clic en el signo \u00ab+\u00bb. Busca \u00abPublicar los artefactos\u00bb, y haz clic en \u00abAgregar\u00bb.<\/p>\n<p>Al hacer clic en la tarea \u00abPublicar Artefacto: soltar\u00bb bajo \u00abAgent job 1\u00bb, ver\u00e1s configuraciones adicionales a la derecha de la pantalla. Cambia solo el \u00abCamino de Publicaci\u00f3n\u00bb haciendo clic en el bot\u00f3n de elipsis y elige el directorio <b>\u00ab&lt;Iniciales&gt;-warehouse-dev-df\u00bb. Haz clic en \u00abOK\u00bb<\/b>.<\/p>\n<p>En la parte superior del pipeline, haz clic en la pesta\u00f1a \u00abInterruptores\u00bb y aseg\u00farate de haber marcado \u00abHabilitar integraci\u00f3n continua\u00bb. Bajo \u00abEspecificaci\u00f3n de rama\u00bb, elige \u00abadf_publish\u00bb.<\/p>\n<p>Esta configuraci\u00f3n permite al pipeline ejecutarse y capturar el estado m\u00e1s reciente de la <b>Data Factory DEV<\/b> cada vez que un usuario publica nuevos elementos. Haz clic en \u00abGuardar y Colas\u00bb, luego \u00abGuardar y Ejecutar\u00bb.<\/p>\n<p>Al hacer clic en <b>\u00abAgent job 1\u00bb<\/b>, puedes observar m\u00e1s a fondo lo que pasa en segundo plano. Una vez que el trabajo se completa con \u00e9xito, haz clic en \u00abPipelines\u00bb a la izquierda de la pantalla. Puedes ver el pipeline creado y su estado, y los cambios m\u00e1s recientes.<\/p>\n<p><a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\"><br \/>\nM\u00e1s informaci\u00f3n sobre los cursos de formaci\u00f3n<br \/>\n<\/a><\/p>\n<h3>Crear un pipeline de relajaci\u00f3n de DevOps para el CI\/CD<\/h3>\n<p>El pipeline de relajaci\u00f3n utiliza el producto del pipeline creado en el paso anterior, para transferirlo a las Data Factories UAT y PROD.<\/p>\n<p>En la p\u00e1gina DevOps, haz clic en \u00abPipelines\u00bb y luego en \u00abRelajaciones\u00bb. Haz clic en <b>\u00abNuevo Pipeline\u00bb<\/b>, y renombra la etapa <b>\u00abUAT\u00bb<\/b>. Haz clic en <b>\u00abGuardar\u00bb<\/b> en la esquina superior derecha, y valida.<\/p>\n<p>Despu\u00e9s de haber creado la etapa UAT, vamos a a\u00f1adir el artefacto: el pipeline creado previamente. Este pipeline contendr\u00e1 las configuraciones para transferir entre cada etapa.<\/p>\n<p>Dentro del pipeline de relajaci\u00f3n, haz clic en \u00abAgregar un artefacto\u00bb. En el panel <b>\u00abAgregar un artefacto\u00bb<\/b>, haz clic en \u00abAgregar\u00bb.<\/p>\n<p>La siguiente parte del proceso es agregar tareas a la etapa UAT dentro del \u00abnuevo pipeline de relajaci\u00f3n\u00bb. En la parte superior del pipeline, haz clic en <b>\u00abVariables\u00bb<\/b>. Vamos a agregar las <b>variables GrupoRecurso, DataFactory y Ubicaci\u00f3n<\/b> para que puedan ser pasadas autom\u00e1ticamente a las diferentes tareas.<\/p>\n<p>Haz clic en el bot\u00f3n \u00abAgregar\u00bb y crea las tres variables del pipeline. Aseg\u00farate de que la variable de ubicaci\u00f3n contenga la misma ubicaci\u00f3n que los Grupos de Recursos y las Data Factories.<\/p>\n<p>Guarde los cambios y vaya a la vista pipeline. Haga clic en \u00ab1 job, 0 tasks\u00bb en el cuadro UAT y haga clic en el bot\u00f3n \u00ab+\u00bb a la derecha de \u00abAgent job\u00bb. Busca \u00abAzure PowerShell\u00bb y a\u00f1\u00e1delo de la lista. Nombra este trabajo <b>\u00abAzure PowerShell script: pre-deployment\u00bb<\/b>.<\/p>\n<p>Cuando elija una Azure Subscription, deber\u00e1 crear un Service Principal dentro del UAT Resource Group. Este Service Principal se a\u00f1adir\u00e1 al <b>Grupo de recursos PROD<\/b> m\u00e1s adelante.<\/p>\n<p>Elija su suscripci\u00f3n Azure de la lista desplegable. Para restringir el acceso al Service Principal, no haga clic directamente en \u00abAutorizar\u00bb y seleccione \u00abopciones avanzadas\u00bb.<\/p>\n<p>En la ventana emergente <b>\u00abService Principal Authentication\u00bb<\/b>, compruebe que la opci\u00f3n \u00abUAT Resource Group\u00bb est\u00e1 seleccionada para el \u00abResource Group\u00bb. Haga clic en \u00abAceptar\u00bb.<\/p>\n<p>Mantenga \u00abScript file path\u00bb como \u00abScript type\u00bb. Haga clic en la elipsis situada a la derecha de \u00abRuta del script\u00bb y seleccione el script PowerShell descargado anteriormente. Haga clic en Aceptar.<\/p>\n<p>Utilizaremos los \u00abScript Arguments\u00bb proporcionados en la documentaci\u00f3n de Azure Data Factory. Para el pre-despliegue, utiliza los argumentos <b>\u00ab-armTemplate\u00bb $(System.DefaultWorkingDirectory)\/&lt;your-arm-template-location&gt; \u00ab-ResourceGroupName &lt;your-resource-group-name&gt; -DataFactoryName &lt;your-data-factory-name&gt; -predeployment $true -deleteDeployment $false\u00bb<\/b>. Aseg\u00farese de que la ubicaci\u00f3n de la plantilla Arm se encuentra dentro del desplegable de artefactos, elija el entorno UAT para el nombre del grupo de recursos y configure el nombre de Data Factory como el grupo de recursos UAT. Para la versi\u00f3n de Azure PowerShell, elija <b>\u00ab\u00daltima versi\u00f3n instalada\u00bb<\/b>. Guardar.<\/p>\n<p>A\u00f1ada otra tarea, haga clic en el bot\u00f3n \u00ab+\u00bb, busque \u00abARM Template\u00bb y a\u00f1ada \u00abARM Template Deployment\u00bb de la lista. Cambie el nombre a \u00abARM Template Deployment: Data Factory\u00bb. Elige el Service Principal creado anteriormente en la \u00abAzure Resource Manager connection\u00bb.<\/p>\n<p>Rellene los dem\u00e1s campos:<\/p>\n<ul>\n<li style=\"font-weight: 400\"><b>Suscripci\u00f3n<\/b>: elija su suscripci\u00f3n<\/li>\n<li style=\"font-weight: 400\"><b>Acci\u00f3n<\/b>: crear o actualizar un Grupo de Recursos<\/li>\n<li style=\"font-weight: 400\"><b>Grupo de recursos<\/b>: utilice la variable Grupo de recursos creada anteriormente<\/li>\n<li style=\"font-weight: 400\"><b>Ubicaci\u00f3n<\/b>: utilice la variable Ubicaci\u00f3n<\/li>\n<li style=\"font-weight: 400\"><b>Ubicaci\u00f3n de la plantilla<\/b>: Artefacto vinculado<\/li>\n<li style=\"font-weight: 400\"><b>Par\u00e1metros de plantilla<\/b>: elija el archivo ARMTemplateForFactory.json<\/li>\n<li style=\"font-weight: 400\"><b>Par\u00e1metros de sustituci\u00f3n de plantillas<\/b>: sustituya el par\u00e1metro \u00abfactory name\u00bb por la variable Data Factory<\/li>\n<li><b>Modo de despliegue<\/b>: Incremental<\/li>\n<\/ul>\n<p><img decoding=\"async\" width=\"666\" height=\"372\" src=\"https:\/\/liora.io\/app\/uploads\/sites\/7\/2024\/10\/Capture-decran-2022-12-26-184056.webp\" alt=\"\" loading=\"lazy\"><\/p>\n<p>A continuaci\u00f3n, a\u00f1ada una tarea Azure PowerShell denominada \u00abAzure PowerShell script: Post-Deployment\u00bb. En relaci\u00f3n con los argumentos previos al despliegue, sustituya \u00fanicamente \u00ab-predeployment $true\u00bb por <b>\u00ab-predeployment $false\u00bb<\/b> y <b>\u00ab-deleteDeployment $false\u00bb<\/b> por <b>\u00ab-deleteDeployment $true\u00bb<\/b>.<\/p>\n<p>Ahora necesitas dar acceso al Service Manager al grupo de recursos PROD, antes de empezar a crear la etapa PROD del pipeline de relajaci\u00f3n. Ve al portal Azure, navega hasta el Grupo de Recursos UAT y selecciona <b>\u00abControl de Acceso (IAM)\u00bb<\/b>. Bajo el rol \u00abContributor\u00bb, copia el nombre de la organizaci\u00f3n DevOps y el nombre del proyecto.<\/p>\n<p>Vaya al grupo de recursos PROD y navegue hasta \u00abControl de acceso (IAM)\u00bb. En la pesta\u00f1a de vista de acceso, haz clic en el bot\u00f3n \u00ab+ A\u00f1adir\u00bb y selecciona \u00abA\u00f1adir una asignaci\u00f3n de rol\u00bb. Elija el rol de Colaborador en el men\u00fa desplegable y deje <b>\u00abAsignar acceso a\u00bb<\/b> como \u00abUsuario, Grupo o Servicio Principal\u00bb. Pegue el nombre copiado anteriormente en la barra de b\u00fasqueda y seleccione el Director de departamento. Guardar.<\/p>\n<p>Ahora podemos completar la etapa PROD del proceso de relajaci\u00f3n. Vuelva a la <b>\u00abNueva tuber\u00eda de relajaci\u00f3n\u00bb<\/b> y mueva el rat\u00f3n sobre la etapa UAT. Haga clic en <b>\u00abClonar\u00bb<\/b>.<\/p>\n<p>Cambie el nombre de \u00abCopia de UAT\u00bb a \u00abPROD\u00bb. Las variables ResourceGroup y DataFactory est\u00e1n duplicadas, pero bajo el \u00e1mbito Prod. Cambia sus valores sustituyendo \u00abUAT\u00bb por \u00abPROD\u00bb. Guarde los cambios.<\/p>\n<p>Mientras que el <b>Azure Data Factory-CI<\/b> pipeline est\u00e1 configurado para ejecutarse en cada cambio en adf_publish, ahora necesitamos ajustar el Relax Pipeline para que se produzca un nuevo relax en cada cambio en adf_publish. El cambio se aplicar\u00e1 autom\u00e1ticamente a la Data Factory UAT. Para la f\u00e1brica de datos PROD, se requiere la aprobaci\u00f3n previa al despliegue antes de que se apliquen los cambios DEV y UAT.<\/p>\n<p>En la \u00abNueva canalizaci\u00f3n de relajaci\u00f3n\u00bb, haga clic en el bot\u00f3n <b>\u00abInterruptor de despliegue continuo\u00bb<\/b> para activarlo. Para ajustar las condiciones de la etapa UAT para que se ejecuten autom\u00e1ticamente, haga clic en el bot\u00f3n <b>\u00abcondiciones previas al despliegue\u00bb<\/b> de la etapa UAT. Aseg\u00farese de seleccionar la opci\u00f3n \u00abdespu\u00e9s de la relajaci\u00f3n\u00bb.<\/p>\n<p>Haga clic en las \u00abcondiciones previas al despliegue\u00bb de la planta PROD y ajuste el interruptor a \u00abdespu\u00e9s de la planta\u00bb con la planta ajustada a UAT. Activa tambi\u00e9n las <b>\u00abaprobaciones previas al despliegue\u00bb<\/b> e introduce tu direcci\u00f3n de correo electr\u00f3nico. Guardar.<\/p>\n<p>Para probar la tuber\u00eda de relajaci\u00f3n, inicie manualmente la tuber\u00eda Azure Data Factory-CI para activarla. Vaya a Pipelines y seleccione Azure Data Factory-CI. Haga clic en \u00abEjecutar canalizaci\u00f3n\u00bb en la parte superior y vuelva a hacer clic en \u00abEjecutar\u00bb. Vaya a \u00abRelaxes\u00bb, y ahora deber\u00eda ver el primer relax. Tambi\u00e9n ver\u00e1s que la etapa UAT del Relax Pipeline se est\u00e1 ejecutando.<\/p>\n<p>Una vez que la etapa UAT se ha completado con \u00e9xito, la etapa PROD est\u00e1 lista para su aprobaci\u00f3n. Vaya a su F\u00e1brica de Datos UAT y compruebe que \u00abWaiting Pipeline 1\u00bb est\u00e1 presente.<\/p>\n<p>Vaya a su \u00abNew Relaxation Pipeline\u00bb y haga clic en la etapa PROD. Aprobar. Podr\u00e1 ver el progreso de la etapa PROD, y la presencia del \u00abWaiting Pipeline 1\u00bb.<\/p>\n<p>Por \u00faltimo, puede realizar cambios en la Data Factory DEV para observar todo el proceso de principio a fin. Vaya a la Data Factory DEV, cree un pipeline llamado <b>\u00abWaiting Pipeline 2\u00bb<\/b> e inserte una actividad \u00abWaiting Pipeline 2\u00bb. Elimine el \u00abWaiting Pipeline 1\u00bb.<\/p>\n<p>Haz clic en \u00abGuardar todo\u00bb y \u00abPublicar\u00bb todos los cambios. En \u00abPipelines\u00bb en Azure DevOps, puedes ver que el pipeline Azure Data Factory-CI ya ha sido activado ya que el adf_publish acaba de cambiar. Del mismo modo, en \u00abRelaxes\u00bb, se ha creado \u00abRelaxe-2\u00bb y se est\u00e1 desplegando la etapa UAT.<\/p>\n<p>La f\u00e1brica de datos PROD se encuentra actualmente en <b>\u00abRelaxe-1\u00bb<\/b>. Apruebe la planta PROD. Puede ver que los cambios realizados en la Data Factory DEV tambi\u00e9n se aplican a las Data Factories UAT y PROD.<\/p>\n<p>Esto confirma que todos los recursos est\u00e1n conectados correctamente y que los pipelines funcionan correctamente. Cualquier despliegue futuro en la Factor\u00eda de Datos DEV puede ser replicado en UAT y PROD.<\/p>\n<p>De este modo, podr\u00e1 evitar peque\u00f1as diferencias entre entornos y evitar\u00e1 perder tiempo resolviendo problemas. No dude en ver <b>el c\u00f3digo YAML generado<\/b> en el curso de este tutorial, para comprender su estructura y contenido\u2026<\/p>\n<h3>\u00bfC\u00f3mo se aprende a dominar Azure DevOps?<\/h3>\n<p>Azure DevOps es ampliamente <b>utilizado por los equipos DevOps<\/b>. Para aprender a dominar este servicio en la nube y sus distintos elementos, como las Data Factories, <b>puedes elegir Liora<\/b>.<\/p>\n<p>Nuestros cursos a distancia te permiten dominar todas las mejores herramientas cloud y DevOps, as\u00ed como las mejores pr\u00e1cticas y m\u00e9todos de trabajo. Al final del curso, <b>tendr\u00e1s todas las habilidades de un ingeniero DevOps<\/b>.<\/p>\n<p>Del mismo modo, <a href=\"https:\/\/liora.io\/es\/formacion-data-engineer\">nuestro curso de Data Engineer<\/a> cubre todos los aspectos de la ingenier\u00eda de datos. En particular, aprender\u00e1s sobre <a href=\"https:\/\/liora.io\/es\/blog-es\/programmation-python\">programaci\u00f3n Python<\/a>, <strong>CI\/CD<\/strong>, <strong>bases de datos<\/strong>, <a href=\"https:\/\/liora.io\/es\/saber-todo-sobre-big-data\">Big Data<\/a> y <b>t\u00e9cnicas de automatizaci\u00f3n y despliegue<\/b>.<\/p>\n<p>Todos nuestros programas pueden realizarse en modalidad de <b>Formaci\u00f3n en tiempo completo o BootCamp<\/b>, y te permiten aprender haciendo gracias a un proyecto hilo rojo. Tambi\u00e9n podr\u00e1s obtener <b>las mejores certificaciones cloud y DevOps<\/b>.&nbsp;\u00a1No esperes m\u00e1s y <b style=\"color: var( --e-global-color-text );font-family: var( --e-global-typography-text-font-family ), Sans-serif;text-align: var(--text-align)\">descubre Liora!<\/b><\/p>\n<p><a href=\"https:\/\/liora.io\/es\/nuestros-cursos-de-data\"><br \/>\nDescubra los cursos de formaci\u00f3n de Liora<br \/>\n<\/a><\/p>\n<p>Ahora ya lo sabes todo sobre Azure DevOps Pipelines y Data Factory. Para m\u00e1s informaci\u00f3n sobre el mismo tema, consulta <a href=\"https:\/\/liora.io\/es\/devops-que-es-definicion-ventajas-cursos\">nuestro dossier completo sobre DevOps<\/a> y <a href=\"https:\/\/liora.io\/es\/certificacion-az-900\">nuestro dossier sobre la nube Microsoft Azure<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los pipelines de Azure DevOps permiten el CI\/CD (integraci\u00f3n y entrega continua) en las Azure Data Factories. \u00a1Descubre el m\u00e9todo para impulsar los cambios realizados en un entorno de desarrollo hacia los entornos de prueba y producci\u00f3n! Los Data Engineers desarrollan y construyen pipelines en un entorno de Desarrollo, luego los transfieren hacia el entorno [&hellip;]<\/p>\n","protected":false},"author":74,"featured_media":175928,"comment_status":"open","ping_status":"open","sticky":false,"template":"elementor_theme","format":"standard","meta":{"_acf_changed":false,"editor_notices":[],"footnotes":""},"categories":[2440],"class_list":["post-175926","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-data-ia"],"acf":[],"_links":{"self":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/175926","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/users\/74"}],"replies":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/comments?post=175926"}],"version-history":[{"count":5,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/175926\/revisions"}],"predecessor-version":[{"id":183336,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/posts\/175926\/revisions\/183336"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media\/175928"}],"wp:attachment":[{"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/media?parent=175926"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/liora.io\/es\/wp-json\/wp\/v2\/categories?post=175926"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}