Compartilhar via


Controle do código-fonte no Synapse Studio

Por padrão, o Synapse Studio cria diretamente no serviço Synapse. Se você tiver uma necessidade de colaboração usando o Git para controle do código-fonte, o Synapse Studio permitirá que você associe seu workspace a um repositório Git, Azure DevOps ou GitHub.

Este artigo descreve como configurar e trabalhar em um espaço de trabalho do Synapse com o repositório git ativado. Além disso, destacaremos algumas práticas recomendadas e um guia de solução de problemas.

Observação

Para usar o GitHub no Azure Governamental e Microsoft Azure operado pela 21Vianet, você pode colocar seu próprio aplicativo OAuth do GitHub no Synapse Studio para integração Git. A experiência de configuração é a mesma com o ADF. Consulte o blog do comunicado.

Pré-requisitos

Os usuários devem ter a função Colaborador do Azure (RBAC do Azure) ou maior no espaço de trabalho Synapse para configurar, editar as configurações e desconectar um repositório Git com Synapse.

Configurar o repositório Git no Synapse Studio

Depois de iniciar o Synapse Studio, você pode configurar um repositório git em seu workspace. Um workspace do Synapse Studio pode ser associado a apenas um repositório git por vez.

Método de configuração 1: barra global

Na barra global do Synapse Studio, selecione o menu suspenso Synapse Live e, em seguida, Configurar repositório de código.

Configure the code repository settings from authoring

Método de configuração 2: gerenciar o Hub

Acesse Gerenciar o Hub do Synapse Studio. Selecione Configuração do Git na seção Controle do código-fonte. Se você não tiver um repositório conectado, clique em Configurar.

Configure the code repository settings from management hub

Você pode conectar o repositório git do Azure DevOps ou do GitHub em seu workspace.

Conectar-se ao git DevOps do Azure

Você pode associar um workspace Synapse a um Repositório do Azure DevOps para controle do código-fonte, colaboração, controle de versão e assim por diante. Se você não tiver um repositório do Azure DevOps, siga estas instruções para criar seus recursos de repositórios.

Configurações do repositório Git do Azure DevOps

Ao conectar-se ao repositório git, primeiro selecione o tipo de repositório como git Azure DevOps e, em seguida, selecione um locatário do Microsoft Entra na lista suspensa e clique em Continuar.

Configure the code repository settings

O painel de configuração mostra as seguintes configurações do git do Azure DevOps:

Configuração Descrição Valor
Tipo de repositório O tipo do repositório de código do Azure Repos.
Git ou GitHub do Azure DevOps
Acesso multilocatário Caixa de seleção para acessar com conta multilocatário. não selecionado (padrão)
Microsoft Entra ID Seu nome de locatário do Microsoft Entra. <your tenant name>
Conta do Azure DevOps O nome da organização do Azure Repos. Localize o nome de organização do Azure Repos em https://{organization name}.visualstudio.com. Você pode entrar na sua organização do Azure Repos para acessar seu perfil do Visual Studio e ver seus repositórios e projetos. <your organization name>
ProjectName O nome do projeto do Azure Repos. Localize o nome do projeto do Azure Repos em https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
RepositoryName O nome do seu repositório de código do Azure Repos. Os projetos do Azure Repos contêm repositórios Git para gerenciar seu código-fonte à medida que o projeto aumenta. Você pode criar um novo repositório ou usar um existente que já esteja no projeto. <your Azure Repos code repository name>
Ramificação de colaboração Seu branch de colaboração do Azure Repos que é usado para publicação. Por padrão, é o master. Altere essa configuração se você desejar publicar recursos de outra ramificação. Você pode selecionar ramificações existentes ou criar novas <your collaboration branch name>
Pasta raiz A pasta raiz em seu branch de colaboração do Azure Repos. <your root folder name>
Importar recursos existentes para o repositório Especifica se é necessário importar recursos existentes do Synapse Studio em um repositório Git do Azure Repos. Marque a caixa para importar os recursos do workspace (exceto pools) para o repositório Git associado em formato JSON. Essa ação exporta cada recurso individualmente. Quando essa caixa não está selecionada, os recursos existentes não são importados. Verificado (padrão)
Importar recurso para este branch Selecione para qual ramificação os recursos (Script SQL, notebook, definição de trabalho spark, dataset, dataflow etc.) serão importados.

Você também pode usar o link do repositório para apontar rapidamente para o repositório git ao qual você deseja se conectar.

Observação

O Azure Synapse não dá suporte à conexão com o repositório de DevOps do Azure no local.

Usar um locatário diferente do Microsoft Entra

O repositório Git do Azure Repos pode estar em um locatário diferente do Microsoft Entra. Para especificar outro locatário do Microsoft Entra, você precisa ter permissões de administrador para a assinatura do Azure que está usando. Para saber mais, confira alterar a assinatura do administrador

Importante

Para se conectar a outro Microsoft Entra ID, o usuário conectado deve fazer parte do Active Directory.

Usar sua conta Microsoft pessoal

Para usar uma conta Microsoft pessoal para integração com o Git, você poderá vincular seu Repositório do Azure pessoal ao Active Directory da sua organização.

  1. Adicione sua conta Microsoft pessoal ao Active Directory da sua organização como convidado. Para saber mais, confira Adicionar usuários de colaboração B2B do Microsoft Entra no portal do Azure.

  2. Faça logon no portal do Azure com sua conta Microsoft pessoal. Em seguida, alterne para o Active Directory da sua organização.

  3. Vá para a seção Azure DevOps, onde você agora vê seu repositório pessoal. Selecione o repositório e conecte-se com o Active Directory.

Após essas etapas de configuração, seu repositório pessoal estará disponível quando você configurar a integração de Git no Synapse Studio.

Para saber mais sobre como se conectar ao Azure Repos para o Active Directory da sua organização, confira Conectar sua organização ao Microsoft Entra ID.

Usar uma conta multilocatário do Azure DevOps

Quando o seu Azure DevOps não estiver no mesmo locatário que o espaço de trabalho do Synapse, você poderá configurar o espaço de trabalho com uma conta do Azure DevOps entre locatários.

  1. Selecione a opção Acesso multilocatário e clique em Continuar

    Select the cross tenant sign in

  2. Selecione OK na caixa de diálogo.

    Confirm the cross tenant sign in

  3. clique em Usar outra conta e faça logon com sua conta Azure DevOps.

    Use another account

  4. Depois de entrar, escolha o diretório e o repositório e configure-o de acordo.

    Choose the directory

    Observação

    Para fazer logon no workspace, você precisa usar o primeiro acesso para fazer logon em sua conta de usuário do workspace do Synapse. Sua conta multilocatário do Azure DevOps é usada apenas para entrar e obter acesso ao repositório do Azure DevOps associado a esse workspace do Synapse.

Conectar-se com GitHub

Você pode associar um workspace com um repositório do GitHub para controle do código-fonte, colaboração e controle de versão. Se não tiver uma conta ou repositório do GitHub, siga estas instruções para criar seus recursos.

A integração do GitHub com o Synapse Studio dá suporte ao GitHub público (ou seja, https://github.com) e ao GitHub Enterprise. Você pode usar os repositórios GitHub públicos e privados, desde que você tenha permissão de leitura e gravação para o repositório no GitHub.

Configurações do GitHub

Ao se conectar ao repositório Git, primeiro selecione o tipo de repositório como GitHub e forneça sua conta do GitHub, a URL do GitHub Enterprise Server, se você usar o GitHub Enterprise Server, ou o nome da organização do GitHub Enterprise, se usar o GitHub Enterprise Cloud. Selecione Continuar.

Observação

Se você estiver usando o GitHub Enterprise Cloud, deixe a caixa de seleção Usar o GitHub Enterprise Server desmarcada.

GitHub repository settings

O painel de configuração mostra as seguintes configurações do repositório do GitHub:

Configuração Descrição Valor
Tipo de repositório O tipo do repositório de código do Azure Repos. GitHub
Usar GitHub Enterprise Caixa de seleção para selecionar o GitHub Enterprise não selecionado (padrão)
URL do GitHub Enterprise A URL raiz do GitHub Enterprise (precisa ser HTTPS para o servidor do GitHub Enterprise local). Por exemplo: https://github.mydomain.com. Obrigatório somente se a opção Usar o GitHub Enterprise for selecionada <your GitHub enterprise url>
Conta do GitHub Seu nome de conta do GitHub. Esse nome pode ser encontrado em https://github.com/{account nome}/{nome do repositório}. Navegar até essa página solicita que você insira as credenciais do GitHub OAuth para sua conta do GitHub. <your GitHub account name>
Nome do repositório O nome do repositório de código do GitHub. As contas do GitHub contêm repositórios Git para gerenciar seu código-fonte. Você pode criar um novo repositório ou usar um existente que já esteja na conta. <your repository name>
Ramificação de colaboração Sua ramificação de colaboração do GitHub usada para publicação. Por padrão, seu mestre. Altere essa configuração se você desejar publicar recursos de outra ramificação. <your collaboration branch>
Pasta raiz Sua pasta raiz em sua ramificação de colaboração GitHub. <your root folder name>
Importar recursos existentes para o repositório Especifica se é necessário importar recursos existentes do Synapse Studio em um repositório Git. Marque a caixa para importar os recursos do workspace (exceto pools) para o repositório Git associado em formato JSON. Essa ação exporta cada recurso individualmente. Quando essa caixa não está selecionada, os recursos existentes não são importados. Selecionada (padrão)
Importar recurso para este branch Selecione para qual ramificação os recursos (sql script, notebook, definição de trabalho spark, dataset, dataflow etc.) serão importados.

Organizações do GitHub

Conectar-se a uma organização do GitHub requer que a organização conceda permissão para o Synapse Studio. Um usuário com permissões de ADMIN na organização deve realizar as etapas a seguir para permitir que o data factory se conecte.

Conectar-se ao GitHub pela primeira vez

Se você estiver se conectando ao GitHub do Synapse Studio pela primeira vez, siga estas etapas para se conectar a uma organização do GitHub.

  1. No painel configuração do Git, insira o nome da organização no campo Conta do GitHub. É exibido um prompt para fazer login no GitHub.

  2. Faça logon usando suas credenciais de usuário.

  3. Você será solicitado a autorizar o Synapse como um aplicativo chamado Azure Synapse. Nessa tela, você verá uma opção para conceder permissão para o Synapse acessar a organização. Se essa opção não aparecer, peça a um administrador que conceda manualmente a permissão por meio do GitHub.

Depois de seguir essas etapas, seu espaço de trabalho poderá se conectar aos repositórios públicos e privados na sua organização. Se você não conseguir se conectar, tente limpar o cache do navegador e tente novamente.

Já conectado ao GitHub usando uma conta pessoal

Se você já se conectou ao GitHub e concedeu permissão apenas para acessar uma conta pessoal, siga as etapas abaixo para conceder permissões a uma organização.

  1. Acesse o GitHub e abra Configurações.

    Open GitHub settings

  2. Selecione Aplicativos. Na guia Aplicativos OAuth autorizados, você verá Azure Synapse.

    Authorize OAuth Apps

  3. Selecione o Synapse do Azure e conceda o acesso à sua organização.

    Grant organization permission

Depois de seguir essas etapas, seu espaço de trabalho poderá se conectar aos repositórios públicos e privados na sua organização.

Controle de versão

Os sistemas de controle de versão (também chamado de controle da fonte) permitir que os desenvolvedores colaborem no código e acompanhem as alterações. O controle do código-fonte é uma ferramenta essencial para projetos de vários desenvolvedores.

Criando branches de recurso

Cada repositório Git associado a um Synapse Studio tem um branch de colaboração. (main ou master é a ramificação de colaboração padrão). Os usuários também podem criar branches de recurso clicando em + Novo Branch na lista suspensa do branch.

Create new branch

Depois que o novo painel do branch for exibido, insira o nome do branch de recurso e selecione um branch para servir de base do trabalho.

Create branch based on private branch

Quando você estiver pronto para mesclar as alterações do seu branch de recurso com seu branch de colaboração, clique na lista suspensa do branch e selecione Criar solicitação de pull. Essa ação o levará para provedor do Git, em que você pode gerar solicitações pull, revisões de código e mesclar alterações para a ramificação de colaboração. Você só tem permissão para publicar no serviço do Synapse do seu branch de colaboração.

Create a new pull request

Definir configurações de publicação

Por padrão, o Synapse Studio gera os modelos de workspace e os salva em uma ramificação chamada workspace_publish. Para configurar um branch de publicação personalizada, adicione um arquivo publish_config.json à pasta raiz no branch de colaboração. Na publicação, o Synapse Studio lê esse arquivo, procura o campo publishBranch e salva todos os arquivos de modelos do workspace no local especificado. Se o branch não existir, o Synapse Studio a criará automaticamente. Veja abaixo um exemplo de como é o arquivo:

{
    "publishBranch": "workspace_publish"
}

O Azure Synapse Studio pode ter apenas uma ramificação de publicação por vez. Quando você especifica um novo branch de publicação, o branch de publicação anterior não seria excluída. Se você quiser remover o branch de publicação anterior, exclua-o manualmente.

Publicar alterações de código

Depois de mesclar alterações para o branch de colaboração, clique em Publicar para publicar manualmente as alterações de código no branch de colaboração no serviço do Synapse.

Publish changes

Um painel lateral é aberto, onde você confirma que o brancho de publicação e as alterações pendentes estão corretos. Depois de verificar as alterações, clique em OK para confirmar a publicação.

Confirm the correct publish branch

Importante

A ramificação de colaboração não é representativa do que é implantado no serviço. As alterações na ramificação de colaboração devem ser publicadas manualmente.

Alternar para um repositório Git diferente

Para alternar para um repositório do Git diferente, vá para a página de configuração do git no hub de gerenciamento sob Controle do código-fonte. Selecione Desconectar.

Git icon

Insira seu nome do workspace e clique em Desconectar para remover o repositório Git associado ao workspace.

Depois de remover a associação com o repositório atual, você poderá definir as configurações do Git para usar um repositório diferente e importar recursos existentes para o novo repositório.

Importante

A remoção da configuração do Git de um workspace não exclui nada do repositório. O espaço de trabalho do Synapse conterá todos os recursos publicados. Você pode continuar a editar o workspace diretamente no serviço.

Melhores práticas para a integração do Git

  • Permissões. Depois de ter um repositório git conectado ao seu espaço de trabalho, qualquer pessoa que possa acessar o repositório git com qualquer função no espaço de trabalho poderá atualizar artefatos, como script sql, notebook, definição de trabalho do spark, conjunto de fluxo de trabalhos e pipeline no modo git. Normalmente, você não quer que todos os membros da equipe tenham permissões para atualizar o workspace. Conceda permissão somente ao repositório git para autores de artefato do workspace do Synapse.
  • Colaboração. É recomendável não permitir check-ins diretos no branch de colaboração. Essa restrição pode ajudar a evitar bugs, uma vez que cada check-in passará por um processo de revisão de solicitação de pull descrito em Criando branches de recurso.
  • Modo dinâmico do Synapse. Após a publicação no modo git, todas as alterações serão refletidas no modo dinâmico do Synapse. No modo dinâmico do Synapse, a publicação está desabilitada. E você pode exibir, executar artefatos no modo dinâmico se tiver recebido a permissão certa.
  • Editar artefatos no Studio. O Synapse Studio é o único lugar em que você pode habilitar o controle do código-fonte do workspace e sincronizar as alterações para o git automaticamente. Qualquer alteração via SDK, PowerShell, não será sincronizada no git. Recomendamos que você sempre edite o artefato no Studio quando o Git estiver habilitado.

Solução de problemas na integração com o git

Acesso ao modo git

Se você tiver recebido a permissão no repositório git do GitHub vinculado ao seu espaço de trabalho, mas não puder acessar o modo git:

  1. Limpe o cache e atualize a página.

  2. Login na sua conta do GitHub.

Branch de publicação obsoleto

Se a ramificação de publicação estiver fora de sincronia com a ramificação principal e contiver recursos desatualizados apesar de ter havido uma publicação recente, tente seguir estas etapas:

  1. Remover seu repositório Git atual

  2. Reconfigure o Git com as mesmas configurações, mas verifique se Importar recursos existentes para o repositório está selecionado e escolha a mesma ramificação.

  3. Criar uma solicitação de pull para mesclar as alterações com o branch de colaboração

Recursos sem suporte

  • O Synapse Studio não permite cherry-picking de confirmações nem a publicação seletiva de recursos.
  • O Synapse Studio não dá suporte à personalização de mensagem de confirmação.
  • Por design, a ação de exclusão no estúdio será confirmada diretamente no git

Próximas etapas