Criar um runtime de integração auto-hospedada compartilhado no Azure Data Factory

Aplica-se a: Azure Data Factory Azure Synapse Analytics

Dica

Experimente o Data Factory no Microsoft Fabric, uma solução de análise tudo-em-um para empresas. O Microsoft Fabric abrange desde movimentação de dados até ciência de dados, análise em tempo real, business intelligence e relatórios. Saiba como iniciar uma avaliação gratuita!

Este guia mostra como criar um runtime de integração auto-hospedada compartilhado no Azure Data Factory. Em seguida, você pode usar o runtime de integração auto-hospedada compartilhado em outro data factory.

Observação

À medida que você compartilha o tempo de execução da integração auto-hospedada entre mais data factories, o aumento da carga de trabalho pode, às vezes, levar a tempos de fila mais longos. Se os tempos de fila se tornarem excessivos, você poderá aumentar ou escalar horizontalmente seu nó adicionando outros nós. Você pode adicionar até 4 nós.

Criar um runtime de integração auto-hospedada compartilhado no Azure Data Factory

É possível reutilizar uma infraestrutura de runtime de integração auto-hospedada existente já configurada em um data factory. Essa reutilização permite que você crie um runtime de integração auto-hospedada vinculado em um data factory diferente, referenciando um IR auto-hospedado compartilhado existente.

Para ver uma introdução e uma demonstração desse recurso, assista ao vídeo de 12 minutos a seguir:

Terminologia

  • IR compartilhado: um IR auto-hospedado original executado em uma infraestrutura física.
  • IR vinculado: um IR que faz referência a outro IR compartilhado. O IR vinculado é um IR lógico e usa a infraestrutura de outro IR auto-hospedado compartilhado.

Criar um IR auto-hospedado compartilhado usando a interface do usuário do Azure Data Factory

Para criar um IR auto-hospedado compartilhado usando a interface do usuário do Azure Data Factory, siga estas etapas:

  1. No IR auto-hospedado a ser compartilhado, selecione Conceder permissão a outro Data Factory e, na página “Configuração do runtime de integração”, selecione o Data Factory no qual você deseja criar o IR vinculado.

    Botão para conceder permissão na guia Compartilhamento

  2. Observe e copie o “ID de recurso” acima do IR auto-hospedado a ser compartilhado.

  3. No data factory para o qual as permissões foram concedidas, crie um novo IR auto-hospedado (vinculado) e insira a ID do recurso.

    Botão para criar um runtime de integração auto-hospedada vinculado

    Botão para criar um runtime de integração auto-hospedada vinculado

    Caixas de nome e ID do recurso

Criar um IR auto-hospedado compartilhado usando o Azure PowerShell

Para criar um IR auto-hospedado compartilhado usando o Azure PowerShell, siga estas etapas:

  1. Criar um data factory.
  2. Criar um runtime de integração auto-hospedada.
  3. Compartilhe o runtime de integração auto-hospedada com outros data factories.
  4. Crie um runtime de integração vinculado.
  5. Revogue o compartilhamento.

Pré-requisitos

Observação

Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Confira Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.

Observação

Para obter uma lista de regiões do Azure nas quais o Data Factory está disponível no momento, selecione as regiões que deseja em Produtos disponíveis por região.

Criar uma data factory

  1. Inicie o ISE (ambiente de script integrado) do Windows PowerShell.

  2. Crie variáveis. Copie e cole o seguinte script. Substitua as variáveis, como SubscriptionName e ResourceGroupName, com valores reais:

    # If input contains a PSH special character, e.g. "$", precede it with the escape character "`" like "`$". 
    $SubscriptionName = "[Azure subscription name]" 
    $ResourceGroupName = "[Azure resource group name]" 
    $DataFactoryLocation = "EastUS" 
    
    # Shared Self-hosted integration runtime information. This is a Data Factory compute resource for running any activities 
    # Data factory name. Must be globally unique 
    $SharedDataFactoryName = "[Shared Data factory name]" 
    $SharedIntegrationRuntimeName = "[Shared Integration Runtime Name]" 
    $SharedIntegrationRuntimeDescription = "[Description for Shared Integration Runtime]"
    
    # Linked integration runtime information. This is a Data Factory compute resource for running any activities
    # Data factory name. Must be globally unique
    $LinkedDataFactoryName = "[Linked Data factory name]"
    $LinkedIntegrationRuntimeName = "[Linked Integration Runtime Name]"
    $LinkedIntegrationRuntimeDescription = "[Description for Linked Integration Runtime]"
    
  3. Entre e selecione uma assinatura. Adicione o código a seguir ao script para entrar e selecionar sua assinatura do Azure:

    Connect-AzAccount
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  4. Crie um grupo de recursos e um Data Factory.

    Observação

    Esta etapa é opcional. Se você já tiver um data factory, ignore esta etapa.

    Crie um grupo de recursos do Azure usando o comando New-AzResourceGroup. Um grupo de recursos é um contêiner lógico no qual os recursos do Azure são implantados e gerenciados em grupo. O exemplo a seguir cria um grupo de recursos denominado myResourceGroup na localização WestEurope:

    New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName
    

    Execute o comando a seguir para criar um data factory:

    Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
                             -Location $DataFactoryLocation `
                             -Name $SharedDataFactoryName
    

Criar um Integration Runtime auto-hospedado

Observação

Esta etapa é opcional. Se você já possui o runtime de integração auto-hospedada que deseja compartilhar com outros data factories, pule esta etapa.

Execute o comando a seguir para criar um runtime de integração auto-hospedada:

$SharedIR = Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -Type SelfHosted `
    -Description $SharedIntegrationRuntimeDescription

Obter a chave de autenticação do runtime de integração e registrar um nó

Execute o comando a seguir para obter a chave de autenticação para o runtime de integração auto-hospedada:

Get-AzDataFactoryV2IntegrationRuntimeKey `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName

A resposta contém a chave de autenticação para esse runtime de integração auto-hospedada. Use essa chave ao registrar o nó do runtime de integração.

Instale e registre o runtime de integração auto-hospedada

  1. Baixe o instalador do runtime de integração auto-hospedada do Integration runtime do Azure Data Factory.

  2. Execute o instalador para instalar a integração auto-hospedada em um computador local.

  3. Registre a nova integração auto-hospedada com a chave de autenticação que você recuperou em uma etapa anterior.

Compartilhar o runtime de integração auto-hospedada com outro data factory

Criar outro data factory

Observação

Esta etapa é opcional. Se você já possui o data factory com o qual deseja compartilhar, pule esta etapa. Mas, para adicionar ou remover atribuições de função a outros data factories, você deve ter as permissões Microsoft.Authorization/roleAssignments/write e Microsoft.Authorization/roleAssignments/delete, como Administrador de acesso do usuário ou Proprietário.

$factory = Set-AzDataFactoryV2 -ResourceGroupName $ResourceGroupName `
    -Location $DataFactoryLocation `
    -Name $LinkedDataFactoryName

Conceder permissão

Conceda permissão para o data factory que precisa acessar o runtime de integração auto-hospedada que você criou e registrou.

Importante

Não ignore esta etapa!

New-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId ` #MSI of the Data Factory with which it needs to be shared
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

Criar um runtime de integração auto-hospedada vinculado

Execute o comando a seguir para criar um runtime de integração auto-hospedada vinculado:

Set-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $LinkedDataFactoryName `
    -Name $LinkedIntegrationRuntimeName `
    -Type SelfHosted `
    -SharedIntegrationRuntimeResourceId $SharedIR.Id `
    -Description $LinkedIntegrationRuntimeDescription

Agora você pode usar esse runtime de integração vinculado em qualquer serviço vinculado. O runtime de integração vinculado usa o runtime de integração compartilhada para executar atividades.

Revogar o compartilhamento do runtime de integração de um data factory

Para revogar o acesso de um data factory a partir do runtime de integração compartilhada, execute o seguinte comando:

Remove-AzRoleAssignment `
    -ObjectId $factory.Identity.PrincipalId `
    -RoleDefinitionName 'Contributor' `
    -Scope $SharedIR.Id

Para remover o runtime de integração vinculado existente, execute o seguinte comando no runtime de integração compartilhada:

Remove-AzDataFactoryV2IntegrationRuntime `
    -ResourceGroupName $ResourceGroupName `
    -DataFactoryName $SharedDataFactoryName `
    -Name $SharedIntegrationRuntimeName `
    -LinkedDataFactoryName $LinkedDataFactoryName

Monitoramento

IR compartilhado

Seleções para localizar um runtime de integração compartilhado

Monitorar um runtime de integração compartilhado

IR vinculado

Seleções para localizar um runtime de integração vinculado

Monitorar um runtime de integração vinculado

Limitações conhecidas do compartilhamento de IR auto-hospedado

  • O data factory em que um IR vinculado será criado precisa ter uma Identidade Gerenciada. Por padrão, os data factories criados no portal do Azure ou nos cmdlets do PowerShell têm uma Identidade Gerenciada criada implicitamente. No entanto, quando um data factory é criado por meio de um modelo ou SDK do Azure Resource Manager, a propriedade Identity deve ser definida explicitamente. Essa configuração garante que o Azure Resource Manager crie um data factory que contenha uma Identidade Gerenciada.

  • O SDK do .NET do Data Factory que é compatível com esse recurso deve ser a versão 1.1.0 ou posterior.

  • Para conceder permissão, você precisa da função Proprietário ou da função Proprietário herdada no Data Factory em que o IR compartilhado existe.

  • O recurso de compartilhamento funciona apenas para data factories dentro do mesmo locatário do Microsoft Entra.

  • Para usuários convidados do Microsoft Entra ID, a funcionalidade de pesquisa na interface do usuário, que lista todos os data factories usando uma palavra-chave de pesquisa, não funciona. Mas, desde que o usuário convidado seja o proprietário do data factory, você pode compartilhar o IR sem a funcionalidade de pesquisa. Insira a Identidade Gerenciada do data factory que precisa compartilhar o IR na caixa Atribuir permissão e selecione Adicionar na interface do usuário do Data Factory.

    Observação

    Esse recurso está disponível apenas no Data Factory V2.