Creare un runtime di integrazione self-hosted condiviso in Azure Data Factory

SI APPLICA A: Azure Data Factory Azure Synapse Analytics

Suggerimento

Provare Data Factory in Microsoft Fabric, una soluzione di analisi completa per le aziende. Microsoft Fabric copre tutti gli elementi, dallo spostamento dei dati all'analisi scientifica dei dati, all'analisi in tempo reale, alla business intelligence e alla creazione di report. Scopri come avviare gratuitamente una nuova versione di valutazione .

Questa guida illustra come creare un runtime di integrazione self-hosted condiviso in Azure Data Factory. È quindi possibile usare il runtime di integrazione self-hosted condiviso in un'altra data factory.

Creare un runtime di integrazione self-hosted condiviso in Azure Data Factory

È possibile usare nuovamente un'infrastruttura del runtime di integrazione self-hosted esistente già configurata in una data factory. Questo riutilizzo consente di creare un runtime di integrazione self-hosted collegato in una data factory diversa facendo riferimento a un runtime di integrazione self-hosted condiviso esistente.

Per visualizzare un'introduzione e una dimostrazione di questa funzionalità, guardare il video di 12 minuti seguente:

Terminologia

  • Runtime di integrazione condiviso: runtime di integrazione self-hosted originale eseguito in un'infrastruttura fisica.
  • Runtime di integrazione collegato: runtime di integrazione che fa riferimento a un altro runtime di integrazione condiviso. Il runtime di integrazione collegato è un runtime di integrazione logico e usa l'infrastruttura di un altro runtime di integrazione self-hosted condiviso.

Creare un runtime di integrazione self-hosted condiviso usando l'interfaccia utente di Azure Data Factory

Per creare un runtime di integrazione self-hosted condiviso usando l'interfaccia utente di Azure Data Factory, è possibile seguire questa procedura:

  1. Nel runtime di integrazione self-hosted da condividere selezionare Concedi autorizzazione a un'altra data factory e nella pagina "Integration runtime setup" (Configurazione del runtime di integrazione) selezionare la data factory in cui si vuole creare il runtime di integrazione collegato.

    Button for granting permission on the Sharing tab

  2. Prendere nota e copiare l'"ID risorsa" precedente del runtime di integrazione self-hosted da condividere.

  3. Nella data factory per cui sono state concesse le autorizzazioni creare un nuovo runtime di integrazione self-hosted (collegato) e immettere l'ID risorsa.

    Button for creating a self-hosted integration runtime

    Button for creating a linked self-hosted integration runtime

    Boxes for name and resource ID

Creare un runtime di integrazione self-hosted condiviso usando Azure PowerShell

Per creare un runtime di integrazione self-hosted condiviso usando Azure PowerShell, è possibile seguire questa procedura:

  1. Creare una data factory.
  2. Creare un runtime di integrazione self-hosted.
  3. Condividere il runtime di integrazione self-hosted con altre data factory.
  4. Creare un runtime di integrazione collegato.
  5. Revocare la condivisione.

Prerequisiti

Nota

È consigliabile usare il modulo Azure Az PowerShell per interagire con Azure. Per iniziare, vedere Installare Azure PowerShell. Per informazioni su come eseguire la migrazione al modulo AZ PowerShell, vedere Eseguire la migrazione di Azure PowerShell da AzureRM ad Az.

  • Sottoscrizione di Azure. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.

  • Azure PowerShell. Seguire le istruzioni fornite in Installare Azure PowerShell in Windows con PowerShellGet. Usare PowerShell per eseguire uno script per creare un runtime di integrazione self-hosted che può essere condiviso con altre data factory.

Nota

Per un elenco delle aree di Azure in cui Data Factory è attualmente disponibile, selezionare le aree di interesse in Prodotti disponibili in base all'area.

Creare una data factory

  1. Avviare Windows PowerShell Integrated Scripting Environment (ISE).

  2. Creare le variabili. Copiare e incollare lo script seguente. Sostituire le variabili, ad esempio SubscriptionName e ResourceGroupName, con gli effettivi valori:

    # 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. Eseguire l'accesso e selezionare una sottoscrizione. Aggiungere il codice seguente allo script per eseguire l'accesso e selezionare la sottoscrizione di Azure:

    Connect-AzAccount
    Select-AzSubscription -SubscriptionName $SubscriptionName
    
  4. Creare un gruppo di risorse e una data factory.

    Nota

    Questo passaggio è facoltativo. Se è già presente una data factory, ignorare questo passaggio.

    Creare un Gruppo di risorse di Azure con il comando New-AzResourceGroup. Un gruppo di risorse è un contenitore logico in cui le risorse di Azure vengono distribuite e gestite come gruppo. L'esempio seguente crea un gruppo di risorse denominato myResourceGroup nell'area Europa occidentale:

    New-AzResourceGroup -Location $DataFactoryLocation -Name $ResourceGroupName
    

    Eseguire questo comando per creare una data factory:

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

Creare un runtime di integrazione self-hosted

Nota

Questo passaggio è facoltativo. Se è già presente un runtime di integrazione self-hosted che si vuole condividere con altre data factory, ignorare questo passaggio.

Eseguire questo comando per creare un runtime di integrazione self-hosted:

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

Ottenere la chiave di autenticazione per il runtime di integrazione e registrare un nodo

Eseguire questo comando per ottenere la chiave di autenticazione per il runtime di integrazione self-hosted:

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

La risposta contiene la chiave di autenticazione per il runtime di integrazione self-hosted. Questa chiave viene usata al momento della registrazione del nodo del runtime di integrazione.

Installare e registrare il runtime di integrazione self-hosted

  1. Scaricare il programma di installazione del runtime di integrazione self-hosted da Azure Data Factory Integration Runtime.

  2. Eseguire il programma scaricato per installare l'integrazione self-hosted in un computer locale.

  3. Registrare la nuova integrazione self-hosted con la chiave di autenticazione ottenuta in uno dei passaggi precedenti.

Condividere il runtime di integrazione self-hosted con un'altra data factory

Creare un'altra data factory

Nota

Questo passaggio è facoltativo. Se è già presente la data factory per la condivisione, ignorare questo passaggio. Tuttavia, per aggiungere o rimuovere assegnazioni di ruolo ad altre data factory, è necessario disporre Microsoft.Authorization/roleAssignments/write di autorizzazioni e Microsoft.Authorization/roleAssignments/delete , ad esempio Accesso utenti Amministrazione istrator o Proprietario.

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

Concedere un'autorizzazione

Concedere l'autorizzazione alla data factory che deve accedere al runtime di integrazione self-hosted creato e registrato.

Importante

Non ignorare questo passaggio.

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

Creare un runtime di integrazione self-hosted collegato

Eseguire questo comando per creare un runtime di integrazione self-hosted collegato:

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

È ora possibile usare questo runtime di integrazione collegato in qualsiasi servizio collegato. Per eseguire le attività, il runtime di integrazione collegato usa il runtime di integrazione condiviso.

Revocare la condivisione del runtime di integrazione da una data factory

Per revocare l'accesso di una data factory al runtime di integrazione condiviso, è possibile eseguire il comando seguente:

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

Per rimuovere il runtime di integrazione collegato esistente, è possibile eseguire il comando seguente sul runtime di integrazione condiviso:

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

Monitoraggio

IR condiviso

Selections to find a shared integration runtime

Monitor a shared integration runtime

IR collegato

Selections to find a linked integration runtime

Monitor a linked integration runtime

Limitazioni note della condivisione del runtime di integrazione self-hosted

  • La data factory in cui viene creato un runtime di integrazione collegato deve avere un'identità gestita. Per impostazione predefinita, le data factory create nei cmdlet di portale di Azure o PowerShell hanno un'identità gestita creata in modo implicito. Tuttavia, quando una data factory viene creata tramite un modello o un SDK di Azure Resource Manager, è necessario impostare la proprietà Identity in modo esplicito. Questa impostazione garantisce che Resource Manager crei una data factory contenente un'identità gestita.

  • Data Factory .NET SDK che supporta questa funzionalità deve essere la versione 1.1.0 o successiva.

  • Per concedere l'autorizzazione, è necessario il ruolo Proprietario o proprietario ereditato nella data factory in cui esiste il runtime di integrazione condiviso.

  • La funzionalità di condivisione funziona solo per le data factory all'interno dello stesso tenant di Microsoft Entra.

  • Per gli utenti guest di Microsoft Entra ID, la funzionalità di ricerca nell'interfaccia utente, che elenca tutte le data factory usando una parola chiave di ricerca, non funziona. Tuttavia, purché l'utente guest sia il proprietario della data factory, è possibile condividere il runtime di integrazione senza la funzionalità di ricerca. Per l'identità gestita della data factory che deve condividere il runtime di integrazione, immettere tale identità gestita nella casella Assegna autorizzazione e selezionare Aggiungi nell'interfaccia utente di Data Factory.

    Nota

    Questa funzionalità è disponibile solo in Data Factory V2.