Kopiera data till eller från Azure Data Explorer med hjälp av Azure Data Factory eller Synapse Analytics

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 använder kopieringsaktiviteten i Azure Data Factory- och Synapse Analytics-pipelines för att kopiera data till eller från Azure Data Explorer. Den bygger på översiktsartikeln för kopieringsaktivitet , som ger en allmän översikt över kopieringsaktiviteten.

Dricks

Mer information om Azure Data Explorer-integrering med tjänsten finns vanligtvis i Integrera Azure Data Explorer.

Funktioner som stöds

Den här Azure Data Explorer-anslutningsappen stöds för följande funktioner:

Funktioner som stöds IR
aktiviteten Kopiera (källa/mottagare) ① ②
Mappa dataflöde (källa/mottagare)
Sökningsaktivitet ① ②

(1) Azure Integration Runtime (2) Lokalt installerad integrationskörning

Du kan kopiera data från valfritt källdatalager som stöds till Azure Data Explorer. Du kan också kopiera data från Azure Data Explorer till valfritt mottagardatalager som stöds. En lista över datalager som kopieringsaktiviteten stöder som källor eller mottagare finns i tabellen Datalager som stöds.

Kommentar

Kopiering av data till eller från Azure Data Explorer via ett lokalt datalager med hjälp av lokalt installerad integrationskörning stöds i version 3.14 och senare.

Med Azure Data Explorer-anslutningsappen kan du göra följande:

  • Kopiera data med hjälp av Microsoft Entra-programtokenautentisering med tjänstens huvudnamn.
  • Hämta data som källa med hjälp av en KQL-fråga (Kusto).
  • Som mottagare lägger du till data i en måltabell.

Komma igång

Dricks

En genomgång av Azure Data Explorer-anslutningsprogrammet finns i Kopiera data till/från Azure Data Explorer och Masskopiering från en databas till Azure Data Explorer.

Om du vill utföra aktiviteten Kopiera med en pipeline kan du använda något av följande verktyg eller SDK:er:

Skapa en länkad tjänst till Azure Data Explorer med hjälp av användargränssnittet

Använd följande steg för att skapa en länkad tjänst till Azure Data Explorer i Användargränssnittet för Azure-portalen.

  1. Bläddra till fliken Hantera i Din Azure Data Factory- eller Synapse-arbetsyta och välj Länkade tjänster och klicka sedan på Ny:

  2. Sök efter Explorer och välj Anslutningsappen För Azure Data Explorer (Kusto).

    Screenshot of the Azure Data Explorer (Kusto) connector.

  3. Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.

    Screenshot of linked service configuration for Azure Data Explorer.

Anslut eller konfigurationsinformation

Följande avsnitt innehåller information om egenskaper som används för att definiera entiteter som är specifika för Azure Data Explorer-anslutningsprogrammet.

Länkade tjänstegenskaper

Azure Data Explorer-anslutningsappen stöder följande autentiseringstyper. Mer information finns i motsvarande avsnitt:

Tjänstens huvudautentisering

Om du vill använda autentisering med tjänstens huvudnamn följer du dessa steg för att hämta tjänstens huvudnamn och bevilja behörigheter:

  1. Registrera ett program med Microsofts identitetsplattform. Mer information finns i Snabbstart: Registrera ett program med Microsofts identitetsplattform. Anteckna dessa värden som du använder för att definiera den länkade tjänsten:

    • Program-ID:t
    • Programnyckel
    • Klientorganisations-ID
  2. Ge tjänstens huvudnamn rätt behörigheter i Azure Data Explorer. Mer information om roller och behörigheter och om hur du hanterar behörigheter finns i Hantera Azure Data Explorer-databasbehörigheter . I allmänhet måste du:

    • Som källa beviljar du åtminstone databasvisningsrollen till din databas
    • Som mottagare beviljar du åtminstone databasanvändarrollen till databasen

Kommentar

När du använder användargränssnittet för att skapa används ditt inloggningsanvändarkonto som standard för att lista Azure Data Explorer-kluster, databaser och tabeller. Du kan välja att lista objekten med tjänstens huvudnamn genom att klicka på listrutan bredvid uppdateringsknappen eller ange namnet manuellt om du inte har behörighet för dessa åtgärder.

Följande egenskaper stöds för den länkade Azure Data Explorer-tjänsten:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till AzureDataExplorer. Ja
slutpunkt Slutpunkts-URL för Azure Data Explorer-klustret med formatet https://<clusterName>.<regionName>.kusto.windows.net. Ja
database Namnet på databasen. Ja
tenant Ange klientinformationen (domännamn eller klient-ID) som programmet finns under. Detta kallas "Auktoritets-ID" i Kusto anslutningssträng. Hämta den genom att hovra muspekaren i det övre högra hörnet i Azure-portalen. Ja
servicePrincipalId Ange programmets klient-ID. Detta kallas "Microsoft Entra-programklient-ID" i Kusto anslutningssträng. Ja
servicePrincipalKey Ange programmets nyckel. Detta kallas "Microsoft Entra-programnyckel" i Kusto anslutningssträng. Markera det här fältet som en SecureString för att lagra det på ett säkert sätt eller referera till säkra data som lagras i Azure Key Vault. Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller en lokalt installerad integrationskörning om ditt datalager finns i ett privat nätverk. Om det inte anges används standardkörningen för Azure-integrering. Nej

Exempel: använda nyckelautentisering för tjänstens huvudnamn

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
            "tenant": "<tenant name/id e.g. microsoft.onmicrosoft.com>",
            "servicePrincipalId": "<service principal id>",
            "servicePrincipalKey": {
                "type": "SecureString",
                "value": "<service principal key>"
            }
        }
    }
}

Systemtilldelad autentisering av hanterad identitet

Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser.

Om du vill använda systemtilldelad hanterad identitetsautentisering följer du dessa steg för att bevilja behörigheter:

  1. Hämta den hanterade identitetsinformationen genom att kopiera värdet för det hanterade identitetsobjekt-ID som genereras tillsammans med din fabrik eller Synapse-arbetsyta.

  2. Ge den hanterade identiteten rätt behörigheter i Azure Data Explorer. Mer information om roller och behörigheter och om hur du hanterar behörigheter finns i Hantera Azure Data Explorer-databasbehörigheter . I allmänhet måste du:

    • Som källa beviljar du databasvisningsrollen till din databas.
    • Som mottagare beviljar du databas-ingestor - och databasvisningsrollerna till databasen.

Kommentar

När du använder användargränssnittet för att skapa används ditt inloggningsanvändarkonto för att lista Azure Data Explorer-kluster, databaser och tabeller. Ange namnet manuellt om du inte har behörighet för dessa åtgärder.

Följande egenskaper stöds för den länkade Azure Data Explorer-tjänsten:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till AzureDataExplorer. Ja
slutpunkt Slutpunkts-URL för Azure Data Explorer-klustret med formatet https://<clusterName>.<regionName>.kusto.windows.net. Ja
database Namnet på databasen. Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller en lokalt installerad integrationskörning om ditt datalager finns i ett privat nätverk. Om det inte anges används standardkörningen för Azure-integrering. Nej

Exempel: använda systemtilldelad hanterad identitetsautentisering

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
        }
    }
}

Användartilldelad hanterad identitetsautentisering

Mer information om hanterade identiteter för Azure-resurser finns i Hanterade identiteter för Azure-resurser

Följ dessa steg om du vill använda användartilldelad hanterad identitetsautentisering:

  1. Skapa en eller flera användartilldelade hanterade identiteter och bevilja behörighet i Azure Data Explorer. Mer information om roller och behörigheter och om hur du hanterar behörigheter finns i Hantera Azure Data Explorer-databasbehörigheter . I allmänhet måste du:

    • Som källa beviljar du åtminstone databasvisningsrollen till din databas
    • Som mottagare beviljar du minst rollen Databasingestor till databasen
  2. Tilldela en eller flera användartilldelade hanterade identiteter till din datafabrik eller Synapse-arbetsyta och skapa autentiseringsuppgifter för varje användartilldelad hanterad identitet.

Följande egenskaper stöds för den länkade Azure Data Explorer-tjänsten:

Property Beskrivning Obligatoriskt
type Typegenskapen måste anges till AzureDataExplorer. Ja
slutpunkt Slutpunkts-URL för Azure Data Explorer-klustret med formatet https://<clusterName>.<regionName>.kusto.windows.net. Ja
database Namnet på databasen. Ja
autentiseringsuppgifter Ange den användartilldelade hanterade identiteten som autentiseringsobjekt. Ja
connectVia Den integrationskörning som ska användas för att ansluta till datalagret. Du kan använda Azure Integration Runtime eller en lokalt installerad integrationskörning om ditt datalager finns i ett privat nätverk. Om det inte anges används standardkörningen för Azure-integrering. Nej

Exempel: använda användartilldelad hanterad identitetsautentisering

{
    "name": "AzureDataExplorerLinkedService",
    "properties": {
        "type": "AzureDataExplorer",
        "typeProperties": {
            "endpoint": "https://<clusterName>.<regionName>.kusto.windows.net ",
            "database": "<database name>",
            "credential": {
                "referenceName": "credential1",
                "type": "CredentialReference"
            }
        }
    }
}

Egenskaper för datauppsättning

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera datauppsättningar finns i Datauppsättningar. I det här avsnittet visas egenskaper som azure Data Explorer-datauppsättningen stöder.

Om du vill kopiera data till Azure Data Explorer anger du datauppsättningens typegenskap till AzureDataExplorerTable.

Följande egenskaper stöds:

Property Beskrivning Obligatoriskt
type Typegenskapen måste vara inställd på AzureDataExplorerTable. Ja
table Namnet på tabellen som den länkade tjänsten refererar till. Ja för mottagare; Nej för källan

Exempel på datauppsättningsegenskaper:

{
   "name": "AzureDataExplorerDataset",
    "properties": {
        "type": "AzureDataExplorerTable",
        "typeProperties": {
            "table": "<table name>"
        },
        "schema": [],
        "linkedServiceName": {
            "referenceName": "<Azure Data Explorer linked service name>",
            "type": "LinkedServiceReference"
        }
    }
}

Kopiera egenskaper för aktivitet

En fullständig lista över avsnitt och egenskaper som är tillgängliga för att definiera aktiviteter finns i Pipelines och aktiviteter. Det här avsnittet innehåller en lista över egenskaper som Azure Data Explorer-källor och mottagare stöder.

Azure Data Explorer som källa

Om du vill kopiera data från Azure Data Explorer anger du typegenskapen i aktiviteten Kopiera-källan till AzureDataExplorerSource. Följande egenskaper stöds i avsnittet kopieringsaktivitetskälla:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetskällan måste anges till: AzureDataExplorerSource Ja
query En skrivskyddad begäran som anges i ett KQL-format. Använd den anpassade KQL-frågan som referens. Ja
queryTimeout Väntetiden innan frågebegäran överskrider tidsgränsen. Standardvärdet är 10 min (00:10:00); tillåtet maxvärde är 1 timme (01:00:00). Nej
noTruncation Anger om den returnerade resultatuppsättningen ska trunkeras. Som standard trunkeras resultatet efter 500 000 poster eller 64 MEGABYTE (MB). Trunkering rekommenderas starkt för att säkerställa att aktiviteten fungerar korrekt. Nej

Kommentar

Som standard har Azure Data Explorer-källan en storleksgräns på 500 000 poster eller 64 MB. Om du vill hämta alla poster utan trunkering kan du ange set notruncation; i början av frågan. Mer information finns i Frågegränser.

Exempel:

"activities":[
    {
        "name": "CopyFromAzureDataExplorer",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "AzureDataExplorerSource",
                "query": "TestTable1 | take 10",
                "queryTimeout": "00:10:00"
            },
            "sink": {
                "type": "<sink type>"
            }
        },
        "inputs": [
            {
                "referenceName": "<Azure Data Explorer input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<output dataset name>",
                "type": "DatasetReference"
            }
        ]
    }
]

Azure Data Explorer som mottagare

Om du vill kopiera data till Azure Data Explorer anger du typegenskapen i kopieringsaktivitetsmottagaren till AzureDataExplorerSink. Följande egenskaper stöds i avsnittet kopieringsaktivitetsmottagare:

Property Beskrivning Obligatoriskt
type Typegenskapen för kopieringsaktivitetsmottagaren måste anges till: AzureDataExplorerSink. Ja
ingestionMappingName Namnet på en i förväg skapad mappning i en Kusto-tabell. Om du vill mappa kolumnerna från källan till Azure Data Explorer (som gäller för alla källlager och format som stöds, inklusive CSV/JSON/Avro-format), kan du använda kolumnmappningen för kopieringsaktivitet (implicit efter namn eller explicit som konfigurerad) och/eller Azure Data Explorer-mappningar. Nej
additionalProperties En egenskapsväska som kan användas för att ange någon av inmatningsegenskaperna som inte redan anges av Azure Data Explorer-mottagaren. Mer specifikt kan det vara användbart för att ange inmatningstaggar. Läs mer i dokumentationen om datainmatning i Azure Data Explore. Nej

Exempel:

"activities":[
    {
        "name": "CopyToAzureDataExplorer",
        "type": "Copy",
        "typeProperties": {
            "source": {
                "type": "<source type>"
            },
            "sink": {
                "type": "AzureDataExplorerSink",
                "ingestionMappingName": "<optional Azure Data Explorer mapping name>",
                "additionalProperties": {<additional settings for data ingestion>}
            }
        },
        "inputs": [
            {
                "referenceName": "<input dataset name>",
                "type": "DatasetReference"
            }
        ],
        "outputs": [
            {
                "referenceName": "<Azure Data Explorer output dataset name>",
                "type": "DatasetReference"
            }
        ]
    }
]

Mappa dataflödesegenskaper

När du transformerar data i dataflödet för mappning kan du läsa från och skriva till tabeller i Azure Data Explorer. Mer information finns i källtransformering och mottagartransformation i mappning av dataflöden. Du kan välja att använda en Azure Data Explorer-datauppsättning eller en infogad datauppsättning som käll- och mottagartyp.

Källtransformering

I tabellen nedan visas de egenskaper som stöds av Azure Data Explorer-källan. Du kan redigera dessa egenskaper på fliken Källalternativ .

Name beskrivning Obligatoriskt Tillåtna värden Egenskap för dataflödesskript
Register Om du väljer Tabell som indata hämtar dataflödet alla data från tabellen som anges i Azure Data Explorer-datauppsättningen eller i källalternativen när du använder infogad datauppsättning. Nej String (endast för infogad datamängd)
tableName
Fråga En skrivskyddad begäran som anges i ett KQL-format. Använd den anpassade KQL-frågan som referens. Nej String query
Timeout Väntetiden innan frågebegäran överskrider tidsgränsen. Standardvärdet är "172000" (2 dagar) Nej Integer timeout

Exempel på Azure Data Explorer-källskript

När du använder Azure Data Explorer-datauppsättningen som källtyp är det associerade dataflödesskriptet:

source(allowSchemaDrift: true,
	validateSchema: false,
	query: 'table | take 10',
	format: 'query') ~> AzureDataExplorerSource

Om du använder infogad datauppsättning är det associerade dataflödesskriptet:

source(allowSchemaDrift: true,
    validateSchema: false,
    format: 'query',
    query: 'table | take 10',
    store: 'azuredataexplorer') ~> AzureDataExplorerSource

Transformering av mottagare

I tabellen nedan visas de egenskaper som stöds av Azure Data Explorer-mottagare. Du kan redigera dessa egenskaper på fliken Inställningar. När du använder infogad datauppsättning visas ytterligare inställningar, som är samma som egenskaperna som beskrivs i avsnittet egenskaper för datauppsättningar.

Name beskrivning Obligatoriskt Tillåtna värden Egenskap för dataflödesskript
Tabellåtgärd Avgör om du vill återskapa eller ta bort alla rader från måltabellen innan du skriver.
- Ingen: Ingen åtgärd utförs i tabellen.
- Återskapa: Tabellen tas bort och återskapas. Krävs om du skapar en ny tabell dynamiskt.
- Trunkera: Alla rader från måltabellen tas bort.
Nej true eller false Återskapa
trunkera
Pre- och Post SQL-skript Ange flera Kusto-kontrollkommandoskript som ska köras före (förbearbetning) och efter att (efterbearbetning) data har skrivits till mottagardatabasen. Nej String preSQLs; postSQLs
Timeout Väntetiden innan frågebegäran överskrider tidsgränsen. Standardvärdet är "172000" (2 dagar) Nej Integer timeout

Exempel på mottagarskript i Azure Data Explorer

När du använder Azure Data Explorer-datauppsättningen som mottagartyp är det associerade dataflödesskriptet:

IncomingStream sink(allowSchemaDrift: true,
	validateSchema: false,
	format: 'table',
	preSQLs:['pre SQL scripts'],
	postSQLs:['post SQL script'],
	skipDuplicateMapInputs: true,
	skipDuplicateMapOutputs: true) ~> AzureDataExplorerSink

Om du använder infogad datauppsättning är det associerade dataflödesskriptet:

IncomingStream sink(allowSchemaDrift: true,
    validateSchema: false,
    format: 'table',
    store: 'azuredataexplorer',
    skipDuplicateMapInputs: true,
    skipDuplicateMapOutputs: true) ~> AzureDataExplorerSink

Egenskaper för uppslagsaktivitet

Mer information om egenskaperna finns i Sökningsaktivitet.