Konfigurera en lokalt installerad IR som proxy för en Azure-SSIS IR
GÄLLER FÖR: Azure Data Factory Azure Synapse Analytics
Dricks
Prova Data Factory i Microsoft Fabric, en allt-i-ett-analyslösning för företag. Microsoft Fabric omfattar allt från dataflytt till datavetenskap, realtidsanalys, business intelligence och rapportering. Lär dig hur du startar en ny utvärderingsversion kostnadsfritt!
Den här artikeln beskriver hur du kör SQL Server Integration Services-paket (SSIS) på en Azure-SSIS Integration Runtime (Azure-SSIS IR) med en lokalt installerad integrationskörning (lokalt installerad IR) som konfigurerats som en proxyserver.
Med den här funktionen kan du komma åt data och köra uppgifter lokalt utan att behöva ansluta din Azure-SSIS IR till ett virtuellt nätverk. Funktionen är användbar när företagets nätverk har en för komplex konfiguration eller en princip som är för restriktiv för att du ska kunna mata in din Azure-SSIS IR i den.
Den här funktionen kan bara aktiveras på SSIS Dataflöde uppgift och köra SQL/Process-uppgifter för tillfället.
Aktiverad för Dataflöde uppgift delar den här funktionen upp den i två mellanlagringsuppgifter när det är tillämpligt:
- Lokal mellanlagringsaktivitet: Den här uppgiften kör din dataflödeskomponent som ansluter till ett lokalt datalager på din lokala IR. Den flyttar data från det lokala datalagret till ett mellanlagringsområde i Azure Blob Storage eller vice versa.
- Molnlagringsaktivitet: Den här uppgiften kör din dataflödeskomponent som inte ansluter till ett lokalt datalager på din Azure-SSIS IR. Den flyttar data från mellanlagringsområdet i Azure Blob Storage till ett molndatalager eller vice versa.
Om din Dataflöde uppgift flyttar data från en lokal plats till molnet blir de första och andra mellanlagringsuppgifterna lokala uppgifter respektive mellanlagringsuppgifter i molnet. Om din Dataflöde uppgift flyttar data från molnet till en lokal plats blir de första och andra mellanlagringsuppgifterna molnuppgifter respektive lokala mellanlagringsuppgifter. Om din Dataflöde uppgift flyttar data från en lokal plats till en lokal plats blir den första och andra mellanlagringen både lokala mellanlagringsuppgifter. Om din Dataflöde uppgift flyttar data från molnet till molnet är den här funktionen inte tillämplig.
Den här funktionen är aktiverad vid Körning av SQL/Process-uppgifter och kör dem på din lokala IR.
Med andra fördelar och funktioner i den här funktionen kan du till exempel konfigurera din lokalt installerad IR i regioner som ännu inte stöds av en Azure-SSIS IR och tillåta den offentliga statiska IP-adressen för din lokala IR i brandväggen för dina datakällor.
Förbereda lokalt installerad IR
Om du vill använda den här funktionen skapar du först en datafabrik och konfigurerar en Azure-SSIS IR i den. Om du inte redan har gjort det följer du anvisningarna i Konfigurera en Azure-SSIS IR.
Sedan konfigurerar du din lokalt installerad IR i samma datafabrik där din Azure-SSIS IR har konfigurerats. Det gör du genom att läsa Skapa en lokalt installerad IR.
Slutligen laddar du ned och installerar den senaste versionen av lokalt installerad IR, samt ytterligare drivrutiner och körning på din lokala dator eller virtuella Azure-dator (VM), enligt följande:
Ladda ned och installera den senaste versionen av lokalt installerad IR.
Aktivera SSIS-paketkörning på lokalt installerad integrationskörningsnod om den lokalt installerade IR-versionen är 5.28.0 eller senare.
Egenskapen ExecuteSsisPackage har nyligen introducerats från den lokalt installerade IR-versionen 5.28.0. Använd IR-kommandoradsåtgärden nedan för att aktivera eller inaktivera SSIS-paketkörning:
-EnableExecuteSsisPackage Aktivera SSIS-paketkörning på lokalt installerad IR-nod.
-DisableExecuteSsisPackage Inaktivera SSIS-paketkörning på lokalt installerad IR-nod.
-GetExecuteSsisPackage
Information om lokalt installerad IR-kommandorad finns i Konfigurera en befintlig lokalt installerad IR via lokal PowerShell.
Nyligen installerad lokalt installerad IR-nod med version 5.28.0 eller senare inaktiveras egenskapen ExecuteSsisPackage som standard.
Befintlig lokalt installerad IR-nod uppdaterad till version 5.28.0 eller senare, executeSsisPackage-egenskapen är som standard aktiverad
Om du använder Object Linking and Embedding Database (OLEDB), Open Database Connectivity (ODBC) eller ADO.NET-anslutningsappar i dina paket laddar du ned och installerar relevanta drivrutiner på samma dator där din lokala IR är installerad, om du inte redan har gjort det.
Om du använder den tidigare versionen av OLEDB-drivrutinen för SQL Server (SQL Server Native Client [SQLNCLI]) laddar du ned 64-bitarsversionen.
Om du använder den senaste versionen av OLEDB-drivrutinen för SQL Server (MSOLEDBSQL) laddar du ned 64-bitarsversionen.
Om du använder OLEDB/ODBC/ADO.NET-drivrutiner för andra databassystem, till exempel PostgreSQL, MySQL, Oracle och så vidare, kan du ladda ned 64-bitarsversionerna från deras webbplatser.
Om du använder dataflödeskomponenter från Azure Feature Pack i dina paket laddar du ned och installerar Azure Feature Pack för SQL Server 2017 på samma dator där din lokala IR är installerad, om du inte redan har gjort det.
Om du inte redan har gjort det laddar du ned och installerar 64-bitarsversionen av Visual C++ (VC) på samma dator där din lokalt installerad IR är installerad.
Aktivera Windows-autentisering för lokala uppgifter
Om lokala mellanlagringsuppgifter och Kör SQL/Process-uppgifter på din lokalt installerade IR kräver Windows-autentisering måste du även konfigurera Windows-autentiseringsfunktionen i din Azure-SSIS IR.
Dina lokala mellanlagringsuppgifter och Kör SQL/Process-uppgifter anropas med det lokalt installerade IR-tjänstkontot (NT SERVICE\DIAHostService, som standard), och dina datalager kommer att nås med Windows-autentiseringskontot. Båda kontona kräver att vissa säkerhetsprinciper tilldelas dem. På den lokalt installerade IR-datorn går du till Tilldelning av lokala säkerhetsprinciper>för lokala principer>för användarrättigheter och gör sedan följande:
Tilldela policyerna Justera minneskvoter för en process och Ersätt tokenprinciper på processnivå till det lokalt installerade IR-tjänstkontot. Detta bör ske automatiskt när du installerar din lokala IR med standardtjänstkontot. Om den inte gör det tilldelar du dessa principer manuellt. Om du använder ett annat tjänstkonto tilldelar du samma principer till det.
Tilldela inloggningen som en tjänstprincip till Windows-autentiseringskontot.
Förbereda den länkade Azure Blob Storage-tjänsten för mellanlagring
Om du inte redan har gjort det skapar du en länkad Azure Blob Storage-tjänst i samma datafabrik där din Azure-SSIS IR har konfigurerats. Det gör du genom att läsa Skapa en länkad Azure Data Factory-tjänst. Se till att göra följande:
- För Data Store väljer du Azure Blob Storage.
- För Anslut via integrationskörning väljer du AutoResolveIntegrationRuntime (inte din lokalt installerad IR), så vi kan ignorera det och använda din Azure-SSIS IR i stället för att hämta åtkomstautentiseringsuppgifter för Azure Blob Storage.
- Som Autentiseringsmetod väljer du Kontonyckel, SAS-URI, Tjänstens huvudnamn, Hanterad identitet eller Användartilldelad hanterad identitet.
Dricks
Om din datafabriksinstans är Git-aktiverad publiceras inte en länkad tjänst utan nyckelautentisering omedelbart, vilket innebär att du inte kan spara integrationskörningen som är beroende av den länkade tjänsten i funktionsgrenen. Autentisering med kontonyckel eller SAS-URI publicerar omedelbart den länkade tjänsten.
Dricks
Om du väljer metoden Tjänstens huvudnamn beviljar du tjänstens huvudnamn minst en roll som Storage Blob Data-deltagare . Mer information finns i Azure Blob Storage-anslutningsprogrammet. Om du väljer metoden Hanterad identitet/Användartilldelad hanterad identitet ger du den angivna system-/användartilldelade hanterade identiteten för din ADF en lämplig roll för åtkomst till Azure Blob Storage. Mer information finns i Access Azure Blob Storage using Microsoft Entra authentication with the specified system/user-assigned managed identity for your ADF (Åtkomst till Azure Blob Storage med Microsoft Entra-autentisering med angiven system-/användartilldelad hanterad identitet för din ADF).
Konfigurera en Azure-SSIS IR med din lokalt installerad IR som proxy
När du har förberett din egen värdbaserade IR- och Azure Blob Storage-länkade tjänst för mellanlagring kan du nu konfigurera din nya eller befintliga Azure-SSIS IR med den lokalt installerade IR:n som proxy i datafabriksportalen eller appen. Innan du gör det kan du dock stoppa, redigera och starta om den om din befintliga Azure-SSIS IR redan körs.
I fönstret Installation av integrationskörning hoppar du förbi sidorna Allmänna inställningar och Distributionsinställningar genom att välja knappen Fortsätt.
Gör följande på sidan Avancerade inställningar :
Markera kryssrutan Konfigurera lokalt installerad integrationskörning som proxy för Azure-SSIS Integration Runtime .
I listrutan Lokalt installerad integrationskörning väljer du din befintliga lokalt installerad IR som proxy för Azure-SSIS IR.
I listrutan Mellanlagring av länkad tjänst väljer du din befintliga länkade Azure Blob Storage-tjänst eller skapar en ny för mellanlagring.
I rutan Mellanlagringssökväg anger du en blobcontainer i ditt valda Azure Storage-konto eller lämnar den tom om du vill använda en standardcontainer för mellanlagring.
Välj knappen Fortsätt.
Du kan också konfigurera din nya eller befintliga Azure-SSIS IR med lokalt installerad IR som proxy med hjälp av PowerShell.
$ResourceGroupName = "[your Azure resource group name]"
$DataFactoryName = "[your data factory name]"
$AzureSSISName = "[your Azure-SSIS IR name]"
# Self-hosted integration runtime info - This can be configured as a proxy for on-premises data access
$DataProxyIntegrationRuntimeName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingLinkedServiceName = "" # OPTIONAL to configure a proxy for on-premises data access
$DataProxyStagingPath = "" # OPTIONAL to configure a proxy for on-premises data access
# Add self-hosted integration runtime parameters if you configure a proxy for on-premises data access
if(![string]::IsNullOrEmpty($DataProxyIntegrationRuntimeName) -and ![string]::IsNullOrEmpty($DataProxyStagingLinkedServiceName))
{
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-DataProxyIntegrationRuntimeName $DataProxyIntegrationRuntimeName `
-DataProxyStagingLinkedServiceName $DataProxyStagingLinkedServiceName
if(![string]::IsNullOrEmpty($DataProxyStagingPath))
{
Set-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-DataProxyStagingPath $DataProxyStagingPath
}
}
Start-AzDataFactoryV2IntegrationRuntime -ResourceGroupName $ResourceGroupName `
-DataFactoryName $DataFactoryName `
-Name $AzureSSISName `
-Force
Aktivera SSIS-paket för att använda en proxy
Genom att använda den senaste SSDT som antingen SSIS Projects-tillägget för Visual Studio eller ett fristående installationsprogram kan du hitta en ny ConnectByProxy
egenskap i anslutningshanterare för komponenter och ExecuteOnProxy
egenskaper för dataflöde som stöds i Kör SQL/Process-uppgifter.
- Ladda ned SSIS Projects-tillägget för Visual Studio
- Ladda ned det fristående installationsprogrammet
När du utformar nya paket som innehåller Dataflöde Uppgifter med komponenter som har åtkomst till data lokalt kan du aktivera ConnectByProxy
egenskapen genom att ställa in den på Sant i fönstret Egenskaper för relevanta anslutningshanterare.
När du utformar nya paket som innehåller Kör SQL-/processaktiviteter som körs lokalt kan du aktivera egenskapen genom att ställa in den ExecuteOnProxy
på Sant i fönstret Egenskaper för relevanta uppgifter.
Du kan också aktivera ConnectByProxy
/ExecuteOnProxy
egenskaperna när du kör befintliga paket, utan att behöva ändra dem manuellt en i taget. Det finns två alternativ:
Alternativ A: Öppna, återskapa och distribuera om projektet som innehåller paketen med den senaste SSDT som ska köras på din Azure-SSIS IR. Du kan sedan aktivera egenskapen genom att ställa in den på Sant för relevanta anslutningshanterare som visas på fliken Anslutningshanteraren s i popup-fönstret Kör paket när du kör paket från SSMS.
ConnectByProxy
Du kan också aktivera egenskapen genom att ställa in den på Sant för relevanta anslutningshanterare som visas på fliken Anslutningshanteraren s i Kör SSIS-paketaktivitet när du kör paket i Data Factory-pipelines.
ConnectByProxy
Alternativ B: Distribuera om projektet som innehåller de paket som ska köras på din SSIS IR. Du kan sedan aktivera
ConnectByProxy
/ExecuteOnProxy
egenskaperna genom att ange deras egenskapssökvägar,\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]
\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]
/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]
/ , och ställa in dem på True som egenskaps åsidosättningar på fliken Avancerat i popup-fönstret Kör paket när du kör paket från SSMS.Du kan också aktivera
ConnectByProxy
/ExecuteOnProxy
egenskaperna genom att ange deras egenskapssökvägar,/\Package\YourExecuteSQLTaskName.Properties[ExecuteOnProxy]
\Package.Connections[YourConnectionManagerName].Properties[ConnectByProxy]
/\Package\YourExecuteProcessTaskName.Properties[ExecuteOnProxy]
, och ställa in dem på Sant som egenskaps åsidosättningar på fliken Egenskaps åsidosättningar i Aktiviteten Kör SSIS-paket när du kör paket i Data Factory-pipelines.
Felsöka lokala uppgifter och mellanlagringsuppgifter i molnet
På din lokala IR hittar du körningsloggarna i mappen C:\ProgramData\SSISTelemetry och körningsloggarna för lokala mellanlagringsuppgifter och Kör SQL-/processaktiviteter i mappen C:\ProgramData\SSISTelemetry\ExecutionLog . Du hittar körningsloggarna för molnlagringsuppgifter i din SSISDB, angivna loggningsfilsökvägar eller Azure Monitor beroende på om du lagrar dina paket i SSISDB, aktiverar Azure Monitor-integrering osv. Du kan också hitta unika ID:er för lokala mellanlagringsuppgifter i körningsloggarna för molnlagringsuppgifter.
Om du har skapat kundsupportärenden kan du välja knappen Skicka loggar på fliken Diagnostik i Microsoft Integration Runtime Configuration Manager som är installerad på din lokala IR för att skicka de senaste åtgärds-/körningsloggarna som vi kan undersöka.
Fakturering för lokala uppgifter och mellanlagringsuppgifter i molnet
De lokala mellanlagringsuppgifterna och Kör SQL/Process-uppgifter som körs på din lokalt installerad IR debiteras separat, precis som alla dataförflyttningsaktiviteter som körs på en lokalt installerad IR faktureras. Detta anges i prisartikeln för Azure Data Factory-datapipelines .
Molnlagringsuppgifterna som körs på din Azure-SSIS IR debiteras inte separat, men din azure-SSIS IR som körs faktureras enligt vad som anges i prisartikeln för Azure-SSIS IR.
Aktivera TLS 1.2
Om du behöver komma åt datalager som har konfigurerats för att endast använda det starkaste kryptografi-/säkraste nätverksprotokollet (TLS 1.2), inklusive Din Azure Blob Storage för mellanlagring, måste du endast aktivera TLS 1.2 och inaktivera äldre SSL/TLS-versioner samtidigt på din lokala IR. Det gör du genom att ladda ned och köra skriptet main.cmd från https://github.com/Azure/Azure-DataFactory/tree/main/SamplesV2/SQLServerIntegrationServices/publicpreview/CustomSetupScript/UserScenarios/TLS%201.2.
Aktuella begränsningar
- Endast dataflödeskomponenter som är inbyggda/förinstallerade i Azure-SSIS IR Standard Edition, förutom Hadoop/HDFS/DQS-komponenter, stöds för närvarande, se alla inbyggda/förinstallerade komponenter i Azure-SSIS IR.
- Endast anpassade/tredjepartskomponenter för dataflöde som är skrivna i hanterad kod (.NET Framework) stöds för närvarande – de som skrivits i intern kod (C++) stöds för närvarande inte.
- För närvarande stöds inte ändring av variabelvärden i både lokala och molnbaserade mellanlagringsuppgifter.
- Att ändra variabelvärden för typobjekt i lokala mellanlagringsuppgifter återspeglas inte i andra aktiviteter.
- ParameterMapping i OLEDB-källan stöds för närvarande inte. Som en lösning kan du använda SQL-kommandot från variabeln som AccessMode och använda Uttryck för att infoga variabler/parametrar i ett SQL-kommando. Som en bild kan du läsa ParameterMappingSample.dtsx-paketet som finns i mappen SelfHostedIRProxy/Limitations i vår blobcontainer för offentlig förhandsversion. Med Azure Storage Explorer kan du ansluta till vår offentliga blobcontainer för förhandsversion genom att ange SAS-URI:n ovan.
Relaterat innehåll
När du har konfigurerat din lokalt installerad IR som proxy för din Azure-SSIS IR kan du distribuera och köra dina paket för att komma åt data och eller köra SQL-instruktioner/processer lokalt som Kör SSIS-paketaktiviteter i Data Factory-pipelines. Mer information finns i Köra SSIS-paket som Kör SSIS-paketaktiviteter i Data Factory-pipelines. Se även våra bloggar: Kör valfri SQL var som helst i tre enkla steg med SSIS i Azure Data Factory och Kör valfri process var som helst i tre enkla steg med SSIS i Azure Data Factory.