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:
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.
Observe e copie o “ID de recurso” acima do IR auto-hospedado a ser compartilhado.
No data factory para o qual as permissões foram concedidas, crie um novo IR auto-hospedado (vinculado) e insira a 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:
- Criar um data factory.
- Criar um runtime de integração auto-hospedada.
- Compartilhe o runtime de integração auto-hospedada com outros data factories.
- Crie um runtime de integração vinculado.
- Revogue o compartilhamento.
Pré-requisitos
Observação
Recomendamos que você use o módulo Az PowerShell do Azure para interagir com o Azure. Para começar, consulte Instalar o Azure PowerShell. Para saber como migrar para o módulo Az PowerShell, confira Migrar o Azure PowerShell do AzureRM para o Az.
Assinatura do Azure. Se você não tiver uma assinatura do Azure, crie uma conta gratuita antes de começar.
Azure PowerShell. Siga as instruções em Instalar o Azure PowerShell no Windows com o PowerShellGet. Você usa o PowerShell para executar um script para criar um runtime de integração auto-hospedada que pode ser compartilhado com outros data factories.
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
Inicie o ISE (ambiente de script integrado) do Windows PowerShell.
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]"
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
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
Baixe o instalador do runtime de integração auto-hospedada do Integration runtime do Azure Data Factory.
Execute o instalador para instalar a integração auto-hospedada em um computador local.
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
IR 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.