Share via


Criar um runtime de integração autoalojado no Azure Data Factory

APLICA-SE A: Azure Data Factory Azure Synapse Analytics

Gorjeta

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

Este guia mostra como criar um runtime de integração autoalojado no Azure Data Factory. Em seguida, pode usar o runtime de integração autoalojado partilhado noutro data factory.

Nota

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

Criar um runtime de integração autoalojado no Azure Data Factory

Você pode reutilizar uma infraestrutura de tempo de execução de integração auto-hospedada existente que já configurou em um data factory. Essa reutilização permite criar um tempo de execução de integração auto-hospedado vinculado em uma fábrica de dados diferente, fazendo referência a um IR auto-hospedado compartilhado existente.

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

Terminologia

  • IR compartilhado: um IR auto-hospedado original que é 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 compartilhado auto-hospedado.

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, você pode executar as seguintes etapas:

  1. No IR auto-hospedado a ser compartilhado, selecione Conceder permissão a outro Data factory e, na página "Configuração do tempo de execução da 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 do recurso" acima do IR auto-hospedado a ser compartilhado.

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

    Botão para criar um tempo de execução de integração auto-hospedado

    Botão para criar um tempo de execução de integração auto-hospedado vinculado

    Caixas para nome e ID do recurso

Criar um IR compartilhado auto-hospedado usando o Azure PowerShell

Para criar um IR compartilhado auto-hospedado usando o Azure PowerShell, você pode executar as seguintes etapas:

  1. Criar uma fábrica de dados.
  2. Criar um integration runtime autoalojado.
  3. Compartilhe o tempo de execução de integração auto-hospedado com outras fábricas de dados.
  4. Crie um tempo de execução de integração vinculado.
  5. Revogar o compartilhamento.

Pré-requisitos

Nota

Recomendamos que utilize o módulo do Azure Az PowerShell para interagir com o Azure. Veja Instalar o Azure PowerShell para começar. Para saber como migrar para o módulo do Az PowerShell, veja Migrar o Azure PowerShell do AzureRM para o Az.

  • Subscrição do Azure. Se não tiver uma subscrição do Azure, crie uma conta gratuita antes de começar.

  • Azure PowerShell. Siga as instruções em Instalar o Azure PowerShell no Windows com PowerShellGet. Você usa o PowerShell para executar um script para criar um tempo de execução de integração auto-hospedado que pode ser compartilhado com outras fábricas de dados.

Nota

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

Criar uma fábrica de dados

  1. Inicie o Windows PowerShell Integrated Scripting Environment (ISE).

  2. Crie variáveis. Copie e cole o script a seguir. Substitua as variáveis, como SubscriptionName e ResourceGroupName, por 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. Inicie sessão e selecione uma subscrição. Adicione o seguinte código 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.

    Nota

    Este passo é 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 contentor lógico no qual os recursos do Azure são implementados e geridos como um grupo. O exemplo a seguir cria um grupo de recursos nomeado myResourceGroup no local WestEurope:

    New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName
    

    Execute o comando seguinte para criar uma fábrica de dados:

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

Criar um integration runtime autoalojado

Nota

Este passo é opcional. Se você já tiver o tempo de execução de integração auto-hospedado que deseja compartilhar com outras fábricas de dados, ignore esta etapa.

Execute o seguinte comando para criar um tempo de execução de integração auto-hospedado:

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

Obtenha a chave de autenticação do tempo de execução de integração e registre um nó

Execute o seguinte comando para obter a chave de autenticação para o tempo de execução de integração auto-hospedado:

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

A resposta contém a chave de autenticação para esse tempo de execução de integração auto-hospedado. Você usa essa chave quando registra o nó de tempo de execução de integração.

Instalar e registrar o tempo de execução de integração auto-hospedado

  1. Baixe o instalador do tempo de execução de integração auto-hospedado do Azure Data Factory Integration Runtime.

  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 recuperada em uma etapa anterior.

Compartilhar o tempo de execução de integração auto-hospedado com outro data factory

Criar outro data factory

Nota

Este passo é opcional. Se você já tiver o data factory com o qual deseja compartilhar, ignore esta etapa. Mas, para adicionar ou remover atribuições de função a outro data factory, você deve ter Microsoft.Authorization/roleAssignments/write e Microsoft.Authorization/roleAssignments/delete permissões, como Administrador de Acesso de Usuário ou Proprietário.

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

Conceder permissão

Conceda permissão ao data factory que precisa acessar o tempo de execução de integração auto-hospedado que você criou e registrou.

Importante

Não salte este passo!

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 tempo de execução de integração auto-hospedado vinculado

Execute o seguinte comando para criar um tempo de execução de integração auto-hospedado vinculado:

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

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

Revogar o compartilhamento de tempo de execução de integração de um data factory

Para revogar o acesso de uma fábrica de dados do tempo de execução de integração compartilhada, execute o seguinte comando:

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

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

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

Monitorização

RI compartilhado

Seleções para encontrar um tempo de execução de integração compartilhada

Monitorar um tempo de execução de integração compartilhada

RI vinculado

Seleções para encontrar um tempo de execução de integração vinculado

Monitorar um tempo de execução de integração vinculado

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

  • O data factory no qual um RI vinculado é criado deve ter uma Identidade Gerenciada. Por padrão, as fábricas de dados criadas no portal do Azure ou cmdlets do PowerShell têm uma Identidade Gerenciada criada implicitamente. Mas quando uma fábrica de dados é criada por meio de um modelo ou SDK do Azure Resource Manager, você deve definir a propriedade Identity explicitamente. Essa configuração garante que o Gerenciador de Recursos crie uma fábrica de dados que contenha uma Identidade Gerenciada.

  • O SDK do Data Factory .NET que oferece suporte a 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 onde o RI compartilhado existe.

  • O recurso de compartilhamento funciona apenas para fábricas de dados 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 todas as fábricas de dados 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. Para a Identidade Gerenciada do data factory que precisa compartilhar o IR, insira essa Identidade Gerenciada na caixa Atribuir Permissão e selecione Adicionar na interface do usuário do Data Factory.

    Nota

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