Control de código fuente en Synapse Studio

De forma predeterminada, Synapse Studio crea directamente en el servicio Synapse. Si necesita colaboración al usar Git para el control de código fuente, Synapse Studio permite asociar el área de trabajo a un repositorio de Git, Azure DevOps o GitHub.

En este artículo se describe cómo configurar un área de trabajo de Synapse y trabajar con él con el repositorio de Git habilitado. Además, destacamos algunos procedimientos recomendados y una guía de solución de problemas.

Nota:

Para usar GitHub en Azure Gov y Microsoft Azure operado por 21Vianet, puede traer su propia aplicación OAuth de GitHub en Synapse Studio para la integración de Git. La experiencia de configuración es la misma que con ADF. Puede consultar el blog del anuncio.

Requisitos previos

Los usuarios deben tener el rol de colaborador de Azure (RBAC de Azure) o superior en el área de trabajo de Synapse para configurar, editar la configuración y desconectar un repositorio de Git con Synapse.

Configuración del repositorio de Git en Synapse Studio

Después de iniciar Synapse Studio, puede configurar un repositorio de Git en el área de trabajo. Un área de trabajo de Synapse Studio solo se puede asociar a un repositorio de Git a la vez.

Método de configuración 1: barra global

En la barra global de Synapse Studio, seleccione el menú desplegable Synapse Live (Modo activo de Synapse) y luego seleccione Set up code repository (Configurar el repositorio de código).

Configure the code repository settings from authoring

Método de configuración 2: Centro de administración

Vaya al centro de administración de Synapse Studio. Seleccione Configuración de Git en la sección Control de código fuente. Si no tiene ningún repositorio conectado, haga clic en Configurar.

Configure the code repository settings from management hub

Puede conectar el repositorio de Git de Azure DevOps o GitHub en el área de trabajo.

Conexión con Git de Azure DevOps

Puede asociar un área de trabajo de Synapse con un repositorio de Azure DevOps para el control del código fuente, la colaboración, el control de versiones, etc. Si no tiene un repositorio de Azure DevOps, siga estas instrucciones para crear los recursos de repositorio.

Configuración del repositorio de Git de Azure DevOps

Al conectarse al repositorio de Git, seleccione primero el tipo de repositorio como Git de Azure DevOps y luego seleccione un inquilino de Microsoft Entra en la lista desplegable y haga clic en Continuar.

Configure the code repository settings

En el panel configuración se muestra la siguiente configuración de Git de Azure DevOps:

Configuración Descripción Value
Tipo de repositorio Tipo de repositorio de código de Azure Repos.
Git o GitHub de Azure DevOps
Inicio de sesión entre inquilinos Casilla para iniciar sesión con la cuenta entre inquilinos. no seleccionado (valor predeterminado)
Microsoft Entra ID Su nombre de inquilino de Microsoft Entra. <your tenant name>
Cuenta de Azure DevOps Nombre de la organización de Azure Repos. Puede buscar el nombre de la organización de Azure Repos en https://{organization name}.visualstudio.com. Puede iniciar sesión en la organización de Azure Repos para acceder a su perfil de Visual Studio y ver sus proyectos y repositorios. <your organization name>
ProjectName Nombre de proyecto de Azure Repos. Puede buscar el nombre de proyecto de Azure Repos en https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
RepositoryName Nombre del repositorio de código de Azure Repos. Los proyectos de Azure Repos contienen repositorios de Git para administrar el código fuente a medida que crece el proyecto. Puede crear un repositorio nuevo o usar uno existente en el proyecto. <your Azure Repos code repository name>
Rama de colaboración Rama de colaboración de Azure Repos que se usa para la publicación. De forma predeterminada, es master. Cámbiela en caso de que desee publicar recursos de otra rama. Puede seleccionar ramas existentes o crear nuevas. <your collaboration branch name>
Carpeta raíz Carpeta raíz de la rama de colaboración de Azure Repos. <your root folder name>
Import existing resources to repository (Importar recursos existentes en el repositorio). Especifica si se deben importar los recursos existentes de Synapse Studio en un repositorio de Git de Azure Repos. Active la casilla para importar los recursos del área de trabajo (excepto los grupos) en el repositorio de Git asociado en formato JSON. Esta acción exporta cada recurso individualmente. Cuando esta casilla no está activada, no se importan los recursos existentes. Activada (de forma predeterminada)
Import resource into this branch (Importar recurso en esta rama) Seleccione la rama en la que se importan los recursos (script de SQL, cuaderno, definición de trabajo de Spark, conjunto de datos, flujo de datos, etc.).

También puede usar el vínculo de repositorio para apuntar rápidamente al repositorio de Git con el que desea conectarse.

Nota:

Azure Synapse no admite la conexión al repositorio local de Azure DevOps.

Usar otro inquilino de Microsoft Entra

El repositorio Git de Azure Repos puede estar en un inquilino de Microsoft Entra distinto. Para especificar otro inquilino de Microsoft Entra, deberá tener permisos de administrador para la suscripción de Azure que usa. Para más información, consulte Agregar o cambiar los administradores de la suscripción de Azure.

Importante

Para conectarse a otro directorio de Microsoft Entra ID, el usuario que ha iniciado sesión debe formar parte de ese directorio de Active Directory.

Uso de la cuenta de Microsoft personal

Para usar una cuenta de Microsoft personal para la integración de Git, puede vincular el repositorio de Azure personal al entorno de Active Directory de su organización.

  1. Agregue la cuenta de Microsoft personal al entorno de Active Directory de su organización como invitado. Para más información, consulte Incorporación de usuarios de colaboración B2B de Microsoft Entra en Azure Portal.

  2. Inicie sesión en Azure Portal con la cuenta de Microsoft personal. A continuación, cambie al entorno de Active Directory de su organización.

  3. Vaya a la sección de Azure DevOps, donde verá ahora el repositorio personal. Seleccione el repositorio y establezca la conexión con Active Directory.

Después de estos pasos de configuración, su repositorio personal está disponible al configurar la integración de Git en la interfaz de usuario de Synapse Studio.

Para más información sobre cómo conectar Azure Repos al entorno de Active Directory de su organización, vea Conexión de la organización a Microsoft Entra ID.

Uso de una cuenta de inquilino de Azure DevOps

Cuando su Azure DevOps no está en el mismo inquilino que el área de trabajo Synapse, puede configurar el área de trabajo con la cuenta Azure DevOps de inquilino cruzado.

  1. Seleccione la opción Cross tenant sign in (Inicio de sesión entre inquilinos) y haga clic en Continuar.

    Select the cross tenant sign in

  2. Seleccione Aceptar en el cuadro de diálogo.

    Confirm the cross tenant sign in

  3. Haga clic en Usar otra cuenta e inicie sesión con la cuenta de Azure DevOps.

    Use another account

  4. Después de iniciar sesión, elija el directorio y el repositorio y configúrelos en consecuencia.

    Choose the directory

    Nota:

    Para iniciar sesión en el área de trabajo, debe usar el primer inicio de sesión para entrar en la cuenta de usuario del área de trabajo de Synapse. La cuenta entre inquilinos de Azure DevOps solo se usa para iniciar sesión y obtener acceso al repositorio de Azure DevOps asociado a esta área de trabajo de Synapse.

Conexión con GitHub

Puede asociar un área de trabajo con un repositorio de GitHub para el control del código fuente, la colaboración y el control de versiones. Si no tiene un repositorio o una cuenta de GitHub, siga estas instrucciones para crear los recursos.

La integración de GitHub con Synapse Studio admite tanto GitHub público (es decir, https://github.com) como GitHub Enterprise. Puede usar los repositorios de GitHub públicos y privados siempre que tenga permisos de lectura y escritura para el repositorio en GitHub.

Configuración de GitHub

Al conectarse al repositorio de GIT, seleccione primero el tipo de repositorio como GitHub y, a continuación, indique la cuenta de GitHub, la dirección URL de GitHub Enterprise Server si usa GitHub Enterprise Server, o el nombre de la organización de GitHub Enterprise si usa GitHub Enterprise Cloud. Seleccione Continuar.

Nota

Si usa GitHub Enterprise Cloud, deje desactivada la casilla Use GitHub Enterprise Server (Usar GitHub Enterprise Server).

GitHub repository settings

En el panel configuración se muestra la siguiente configuración del repositorio de GitHub:

Configuración Descripción Valor
Tipo de repositorio Tipo de repositorio de código de Azure Repos. GitHub
Use GitHub Enterprise (Usar GitHub Enterprise) Casilla para seleccionar GitHub Enterprise no seleccionado (valor predeterminado)
GitHub Enterprise URL (URL de GitHub Enterprise) La dirección URL de GitHub Enterprise (debe ser HTTPS para el servidor local de GitHub Enterprise). Por ejemplo: https://github.mydomain.com. Solo es necesario si se selecciona Use GitHub Enterprise (Usar GitHub Enterprise). <your GitHub enterprise url>
Cuenta de GitHub El nombre de la cuenta de GitHub. Este nombre se puede encontrar en https://github.com/{account nombre}/{nombre del repositorio}. Para ir a esta página se le pide que introduzca credenciales de OAuth de GitHub en la cuenta de GitHub. <your GitHub account name>
Nombre del repositorio El nombre del repositorio de código de GitHub. Las cuentas de GitHub contienen repositorios de Git para administrar el código fuente. Puede crear un repositorio o usar uno existente que ya se encuentre en su cuenta. <your repository name>
Rama de colaboración La rama de colaboración de GitHub que se usa para la publicación. De forma predeterminada, es master. Cámbiela en caso de que desee publicar recursos de otra rama. <your collaboration branch>
Carpeta raíz La carpeta raíz de la rama de colaboración de GitHub. <your root folder name>
Import existing resources to repository (Importar recursos existentes en el repositorio). Especifica si se deben importar los recursos existentes de Synapse Studio en un repositorio de Git. Active la casilla para importar los recursos del área de trabajo (excepto los grupos) en el repositorio de Git asociado en formato JSON. Esta acción exporta cada recurso individualmente. Cuando esta casilla no está activada, no se importan los recursos existentes. Activada (valor predeterminado)
Import resource into this branch (Importar recurso en esta rama) Seleccione la rama en la que se importan los recursos (script de SQL, cuaderno, definición de trabajo de Spark, conjunto de datos, flujo de datos, etc.).

Organizaciones de GitHub

La conexión a una organización de GitHub requiere que la organización conceda permiso a Synapse Studio. Un usuario con permisos de administrador en la organización debe realizar los pasos siguientes.

Conexión a GitHub por primera vez

Si se va a conectar a GitHub desde Synapse Studio por primera vez, siga estos pasos para conectarse a una organización de GitHub.

  1. En el panel de configuración de Git, escriba el nombre de la organización en el campo Cuenta de GitHub. Aparecerá una solicitud para iniciar sesión en GitHub.

  2. Inicie sesión con sus credenciales de usuario.

  3. Se le pedirá que autorice a Synapse como una aplicación llamada Azure Synapse. En esta pantalla, verá una opción para conceder permiso a Synapse para acceder a la organización. Si no ve la opción para conceder el permiso, pida a un administrador que conceda el permiso manualmente a través de GitHub.

Una vez que siga estos pasos, su área de trabajo podrá conectarse a repositorios públicos y privados dentro de la organización. Si no puede conectarse, pruebe a borrar la memoria caché del explorador y vuelva a intentarlo.

Ya está conectado a GitHub con una cuenta personal

Si ya se ha conectado a GitHub y solo se le ha concedido permiso para obtener acceso a una cuenta personal, siga estos pasos para conceder permisos a una organización.

  1. Vaya a GitHub y abra Configuración.

    Open GitHub settings

  2. Seleccione Aplicaciones. En la pestaña Aplicaciones de OAuth autorizadas, verá Azure Synapse.

    Authorize OAuth Apps

  3. Seleccione Azure Synapse y conceda el acceso a su organización.

    Grant organization permission

Una vez completados estos pasos, su área de trabajo podrá conectarse a repositorios públicos y privados dentro de la organización.

Control de versiones

Los sistemas de control de versiones (también conocidos como control de código fuente) permiten a los desarrolladores colaborar en el código y realizar un seguimiento de los cambios. El control del código fuente es una herramienta esencial para proyectos de varios desarrolladores.

Creación de ramas de características

Tan pronto como cada repositorio de Git se asocia a una instancia de Synapse Studio, tiene una rama de colaboración. (main o master es la rama de colaboración predeterminada). Los usuarios también pueden crear ramas de características; para ello, pueden hacer clic en + New Branch (+ Nueva rama) en la lista desplegable de ramas.

Create new branch

Una vez que aparezca el panel de la nueva rama, escriba el nombre de la rama de características y seleccione una rama en la que se basará el trabajo.

Create branch based on private branch

Cuando esté listo para combinar los cambios de su rama de características con la rama de colaboración, haga clic en la lista desplegable de ramas y seleccione Crear solicitud de incorporación de cambios. Esto le llevará al proveedor de Git, donde podrá generar la solicitud de incorporación de cambios, revisar el código y combinar los cambios en su rama de colaboración. Solo tiene permitido publicar en el servicio Synapse de la rama de colaboración.

Create a new pull request

Configurar los valores de publicación

De forma predeterminada, Synapse Studio genera las plantillas del área de trabajo y las guarda en una rama llamada workspace_publish. Para configurar una rama de publicación personalizada, agregue un archivo publish_config.json a la carpeta raíz de la rama de colaboración. Durante la publicación, Synapse Studio lee este archivo, busca el campo publishBranch y guarda los archivos de plantilla de área de trabajo en la ubicación especificada. Si no existe la rama, Synapse Studio la crea automáticamente. A continuación, se muestra un ejemplo de cuál es el aspecto de este archivo:

{
    "publishBranch": "workspace_publish"
}

Synapse Studio no puede tener varias ramas de publicación simultaneas. Al especificar una nueva rama de publicación, la rama de publicación anterior no se elimina. Si quiere quitar la rama de publicación anterior, tiene que hacerlo manualmente.

Cambios de código publicando

Después de combinar los cambios en la rama de colaboración, haga clic en Publicar para publicar manualmente los cambios de código realizados en la rama de colaboración en el servicio Synapse.

Publish changes

Se abrirá un panel lateral en el que se confirma que la rama de publicación y los cambios pendientes son correctos. Cuando haya comprobado los cambios, haga clic en OK (Aceptar) para confirmar la publicación.

Confirm the correct publish branch

Importante

La rama de colaboración no es representativa de lo que se implementa en el servicio. Los cambios en la rama de colaboración deben publicarse manualmente.

Cambio a un repositorio de Git diferente

Para cambiar a un repositorio de Git diferente, vaya a la página de configuración de Git en el centro de administración en Control de código fuente. Seleccione Desconectar.

Git icon

Escriba el nombre del área de trabajo y haga clic en Desconectar para quitar el repositorio de Git asociado al área de trabajo.

Después de quitar la asociación con el repositorio actual, puede configurar las opciones de Git para usar un repositorio diferente y, luego, importar los recursos existentes en el nuevo repositorio.

Importante

La eliminación de la configuración de Git de un área de trabajo no elimina nada del repositorio. El área de trabajo de Synapse contendrá todos los recursos publicados. Puede seguir editando el área de trabajo directamente en el servicio.

Procedimientos recomendados para la integración de Git

  • Permisos. Una vez que tenga un repositorio de Git conectado al área de trabajo, cualquiera que pueda acceder al repositorio de Git con cualquier rol en el área de trabajo podrá actualizar artefactos, como el script de SQL, el cuaderno, la definición del trabajo de Spark, el conjunto de datos, el flujo de datos y la canalización en modo Git. Lo normal es que no quiera que todos los miembros del equipo tengan permisos para actualizar el área de trabajo. Conceda solo el permiso de repositorio de Git a los autores de artefactos del área de trabajo de Synapse.
  • Colaboración. Se recomienda no permitir inserciones directas en el repositorio en la rama de colaboración. Esta restricción puede ayudarle a evitar errores, ya que cada inserción en el repositorio pasará por un proceso de solicitud de incorporación de cambios, tal como se describe en Crear una rama de características.
  • Modo activo de Synapse. Después de la publicación en el modo Git, todos los cambios se reflejarán en el modo activo de Synapse. En el modo activo de Synapse, la publicación está deshabilitada. Y puede ver y ejecutar artefactos en modo activo si se le ha concedido el permiso adecuado.
  • Edite los artefactos en Studio. Synapse Studio es el único lugar en el que puede habilitar el control de código fuente del área de trabajo y sincronizar los cambios en Git automáticamente. Cualquier cambio a través del SDK, PowerShell, no se sincroniza con Git. Se recomienda editar siempre el artefacto en Studio cuando Git esté habilitado.

Solución de problemas de la integración de Git

Acceso al modo Git

Si se le ha concedido el permiso para el repositorio Git de GitHub vinculado con su área de trabajo, pero no puede acceder al modo Git:

  1. Borre la memoria caché y actualice la página.

  2. Inicie sesión en la cuenta de GitHub.

Rama de publicación obsoleta

Si la rama de publicación no está sincronizada con la rama de colaboración y contiene recursos no actualizados a pesar de una publicación reciente, pruebe lo siguiente:

  1. Quite el repositorio de Git actual.

  2. Vuelva a configurar Git con los mismos valores, pero asegúrese de que la opción Import existing resources to repository (Importar recursos existentes en el repositorio) esté activada y elija la misma rama.

  3. Cree una solicitud de incorporación de cambios para combinar los cambios con la rama de colaboración.

Características no admitidas

  • Synapse Studio no permite la selección exclusiva de confirmaciones ni la publicación selectiva de recursos.
  • Synapse Studio no admite mensajes de confirmación personalizados.
  • Por diseño, la acción de eliminación en Studio se confirmará en Git directamente

Pasos siguientes