Controlo de código fonte no Synapse Studio

Por padrão, o Synapse Studio cria diretamente no serviço Synapse. Se você precisar de colaboração usando o Git para controle do código-fonte, o Synapse Studio permite que você associe seu espaço de trabalho a um repositório Git, Azure DevOps ou GitHub.

Este artigo descreve como configurar e trabalhar em um espaço de trabalho Synapse com o repositório git habilitado. E também destacamos algumas práticas recomendadas e um guia de solução de problemas.

Nota

Para usar o GitHub no Azure Gov e no Microsoft Azure operados pela 21Vianet, você pode trazer seu próprio aplicativo GitHub OAuth no Synapse Studio para integração com o git. A experiência de configuração é a mesma com o ADF. Você pode consultar o blog do anúncio.

Pré-requisitos

Os usuários devem ter a função de Colaborador do Azure (Azure RBAC) ou superior no espaço de trabalho Synapse para definir, editar 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 espaço de trabalho. Um espaço de trabalho do Synapse Studio pode ser associado a apenas um repositório git de cada vez.

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

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

Configure the code repository settings from authoring

Método de configuração 2: Gerenciar hub

Vá para o hub Gerenciar do Synapse Studio. Selecione Configuração do Git na seção Controle do código-fonte. Se você não tiver nenhum 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 espaço de trabalho.

Conecte-se com o Azure DevOps Git

Você pode associar um espaço de trabalho Synapse a um Repositório de DevOps do Azure para controle de origem, 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ório.

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

Ao se conectar ao repositório git, primeiro selecione o tipo de repositório como Azure DevOps git 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:

Definição Descrição Valor
Tipo de repositório O tipo do repositório de código do Azure Repos.
Azure DevOps Git ou GitHub
Entrar entre locatários Caixa de seleção para entrar com uma conta de locatário cruzado. 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 sua organização do Azure Repos. Você pode localizar o nome da organização do Azure Repos em https://{organization name}.visualstudio.com. Você pode entrar em sua organização do Azure Repos para acessar seu perfil do Visual Studio e ver seus repositórios e projetos. <your organization name>
ProjectName Seu nome de projeto do Azure Repos. Você pode localizar o nome do projeto Azure Repos em https://{organization name}.visualstudio.com/{project name}. <your Azure Repos project name>
Nome do repositório Seu nome de 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 seu projeto cresce. Você pode criar um novo repositório ou usar um repositório existente que já esteja em seu projeto. <your Azure Repos code repository name>
Ramo de colaboração Sua ramificação de colaboração do Azure Repos usada para publicação. Por padrão, seu masterarquivo . Altere essa configuração caso queira publicar recursos de outra ramificação. Você pode selecionar ramificações existentes ou criar novas <your collaboration branch name>
Pasta raiz Sua pasta raiz em sua ramificação de colaboração do Azure Repos. <your root folder name>
Importar recursos existentes para o repositório Especifica se os recursos existentes do Synapse Studio devem ser importados para um repositório Git do Azure Repos. Marque a caixa para importar seus recursos de espaço de trabalho (exceto pools) para o repositório Git associado no formato JSON. Esta ação exporta cada recurso individualmente. Quando essa caixa não está marcada, os recursos existentes não são importados. Verificado (padrão)
Importar recurso para esta ramificação Selecione para qual ramificação os recursos (script sql, bloco de anotações, definição de trabalho de faísca, conjunto de dados, fluxo de dados etc.) são importados.

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

Nota

O Azure Synapse não oferece suporte à conexão com o repositório Prem Azure DevOps.

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 um locatário diferente do Microsoft Entra, você precisa ter permissões de administrador para a assinatura do Azure que está usando. Para obter mais informações, consulte alterar administrador de assinatura

Importante

Para se conectar a outro ID do Microsoft Entra, o usuário conectado deve fazer parte desse diretório ativo.

Utilizar a sua conta Microsoft pessoal

Para usar uma conta pessoal da Microsoft para integração com o Git, você pode vincular seu Azure Repo pessoal ao Ative Directory da sua organização.

  1. Adicione a sua conta Microsoft pessoal ao Ative Directory da sua organização como convidado. Para obter mais informações, consulte Adicionar usuários de colaboração B2B do Microsoft Entra no portal do Azure.

  2. Inicie sessão no portal do Azure com a sua conta Microsoft pessoal. Em seguida, mude para o Ative Directory da sua organização.

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

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

Para saber mais sobre como conectar o Azure Repos ao Ative Directory da sua organização, veja Conectar sua organização ao Microsoft Entra ID.

Usar uma conta de DevOps do Azure entre locatários

Quando seu Azure DevOps não estiver no mesmo locatário que o espaço de trabalho Sinapse, você poderá configurá-lo com a conta de DevOps do Azure entre locatários.

  1. Selecione a opção Entrar entre locatários 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 do 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

    Nota

    Para fazer login no espaço de trabalho, você precisa usar o primeiro login para fazer login na sua conta de usuário do espaço de trabalho Sinapse. Sua conta de DevOps do Azure entre locatários é usada apenas para entrar e obter acesso ao repositório de DevOps do Azure associado a esse espaço de trabalho Synapse.

Conecte-se com o GitHub

Você pode associar um espaço de trabalho a um repositório GitHub para controle de código-fonte, colaboração e controle de versão. Se você 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 suporta o GitHub público (ou seja, https://github.com) e o GitHub Enterprise. Você pode usar repositórios públicos e privados do GitHub, desde que tenha permissão de leitura e gravação no 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, em seguida, 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 você usar o GitHub Enterprise Cloud. Selecione Continuar.

Nota

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 GitHub:

Definição Descrição Valor
Tipo de repositório O tipo do repositório de código do Azure Repos. GitHub
Usar o GitHub Enterprise Caixa de seleção para selecionar GitHub Enterprise Não selecionado (padrão)
GitHub Enterprise URL A URL raiz do GitHub Enterprise (deve ser HTTPS para o servidor local do GitHub Enterprise). Por exemplo: https://github.mydomain.com. Obrigatório somente se Usar o GitHub Enterprise estiver selecionado <your GitHub enterprise url>
Conta do GitHub O nome da sua conta no GitHub. Este nome pode ser encontrado em https://github.com/{account name}/{repository name}. Navegar para esta página solicita que você insira as credenciais OAuth do GitHub na sua conta do GitHub. <your GitHub account name>
Nome do repositório Seu nome de 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 repositório existente que já esteja em sua conta. <your repository name>
Ramo de colaboração Sua ramificação de colaboração do GitHub que é usada para publicação. Por padrão, seu mestre. Altere essa configuração caso queira publicar recursos de outra ramificação. <your collaboration branch>
Pasta raiz Sua pasta raiz na ramificação de colaboração do GitHub. <your root folder name>
Importar recursos existentes para o repositório Especifica se os recursos existentes do Synapse Studio devem ser importados para um repositório Git. Marque a caixa para importar seus recursos de espaço de trabalho (exceto pools) para o repositório Git associado no formato JSON. Esta ação exporta cada recurso individualmente. Quando essa caixa não está marcada, os recursos existentes não são importados. Selecionado (padrão)
Importar recurso para esta ramificação Selecione qual ramificação os recursos (script sql, bloco de anotações, definição de trabalho spark, conjunto de dados, fluxo de dados etc.) são importados.

Organizações do GitHub

A conexão com uma organização do GitHub requer que a organização conceda permissão ao Synapse Studio. Um usuário com permissões ADMIN na organização deve executar as etapas abaixo.

Primeira ligação ao GitHub

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

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

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

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

Depois de seguir estas etapas, seu espaço de trabalho poderá se conectar a repositórios públicos e privados dentro de 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 só concedeu permissão para acessar uma conta pessoal, siga as etapas abaixo para conceder permissões a uma organização.

  1. Vá para 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 Azure Synapse e conceda o acesso à sua organização.

    Grant organization permission

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

Controlo de versões

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

Criando ramificações de recursos

Cada repositório Git associado a um Synapse Studio tem uma ramificação de colaboração. main( ou master é a ramificação de colaboração padrão). Os usuários também podem criar ramificações de recursos clicando em + Nova ramificação na lista suspensa de ramificação.

Create new branch

Quando o novo painel de ramificação aparecer, insira o nome da ramificação de feição e selecione uma ramificação para basear o trabalho.

Create branch based on private branch

Quando estiver pronto para mesclar as alterações da ramificação de recurso para a ramificação de colaboração, clique na lista suspensa de ramificação e selecione Criar solicitação pull. Essa ação leva você ao provedor Git, onde você pode gerar solicitações pull, fazer revisões de código e mesclar alterações em sua ramificação de colaboração. Você só tem permissão para publicar no serviço Synapse a partir de sua ramificação de colaboração.

Create a new pull request

Definir definições de publicação

Por padrão, o Synapse Studio gera os modelos de espaço de trabalho e os salva em uma ramificação chamada workspace_publish. Para configurar uma ramificação de publicação personalizada, adicione um publish_config.json arquivo à pasta raiz na ramificação de colaboração. Quando você publica, o Synapse Studio lê esse arquivo, procura o campo publishBranche salva os arquivos de modelo do espaço de trabalho no local especificado. Se a ramificação não existir, o Synapse Studio criá-la-á automaticamente. E exemplo de como esse arquivo se parece está abaixo:

{
    "publishBranch": "workspace_publish"
}

O Synapse Studio só pode ter uma ramificação de publicação de cada vez. Quando você especifica uma nova ramificação de publicação, a ramificação de publicação original não será excluída. Se você quiser remover a ramificação de publicação anterior, exclua-a manualmente.

Publicar alterações de código

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

Publish changes

Um painel lateral é aberto onde você confirma que a ramificação de publicação e as alterações pendentes estão corretas. 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 Git diferente, vá para a página de configuração do Git no hub de gerenciamento em Controle do código-fonte. Selecione Desligar.

Git icon

Insira o nome do espaço de trabalho e clique em Desconectar para remover o repositório Git associado ao espaço de trabalho.

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

Importante

Remover a configuração do Git de um espaço de trabalho não exclui nada do repositório. O espaço de trabalho Synapse contém todos os recursos publicados. Você pode continuar a editar o espaço de trabalho diretamente no serviço.

Práticas recomendadas para integração com Git

  • Permissões. Depois de ter um repositório git conectado ao seu espaço de trabalho, qualquer pessoa que possa acessar seu repositório git com qualquer função em seu espaço de trabalho poderá atualizar artefatos, como script sql, notebook, definição de trabalho spark, conjunto de dados, fluxo de dados e pipeline no modo git. Normalmente, você não quer que todos os membros da equipe tenham permissões para atualizar o espaço de trabalho. Conceda permissão apenas ao repositório git aos autores de artefatos do espaço de trabalho Synapse.
  • Colaboração. É recomendável não permitir check-ins diretos na ramificação de colaboração. Essa restrição pode ajudar a evitar bugs, pois cada check-in passa por um processo de revisão de solicitação pull descrito em Criando ramificações de recursos.
  • Synapse modo ao vivo. Depois de publicar no modo git, todas as alterações são refletidas no modo Synapse ao vivo. No modo ao vivo do Sinapse, a publicação está desativada. E você pode visualizar, executar artefatos no modo ao vivo se você tiver recebido a permissão correta.
  • Edite artefatos no Studio. Synapse studio é o único lugar onde você pode ativar o controle do código-fonte do espaço de trabalho e sincronizar as alterações no git automaticamente. Qualquer alteração via SDK, PowerShell, não é sincronizada com o git. Recomendamos que você sempre edite o artefato no Studio quando o git estiver ativado.

Solução de problemas de integração do git

Acesso ao modo git

Se você recebeu a permissão para o repositório git do GitHub vinculado ao seu espaço de trabalho, mas não pode acessar o modo Git:

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

  2. Faça login na sua conta do GitHub.

Ramo de publicação obsoleto

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

  1. Remova seu repositório Git atual

  2. Reconfigure o Git com as mesmas configurações, mas certifique-se de que a opção Importar recursos existentes para o repositório esteja marcada e escolha a mesma ramificação.

  3. Criar um pedido Pull para unir as alterações no ramo de colaboração

Recursos não suportados

  • O Synapse Studio não permite a escolha seletiva de commits ou a publicação seletiva de recursos.
  • O Synapse Studio não suporta mensagens de confirmação autopersonalizadas.
  • Por design, a ação de exclusão no Studio está comprometida com o git diretamente

Próximos passos