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 |
---|---|
Kopieringsaktivitet (källa/mottagare) | (1) (2) |
Mappa dataflöde (källa/mottagare) | (1) |
Sökningsaktivitet | (1) (2) |
(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 kopieringsaktiviteten med en pipeline kan du använda något av följande verktyg eller SDK:er:
- Verktyget Kopiera data
- Azure-portalen
- The .NET SDK
- The Python SDK
- Azure PowerShell
- REST-API:et
- Azure Resource Manager-mallen
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.
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:
Sök efter Explorer och välj Anslutningsappen För Azure Data Explorer (Kusto).
Konfigurera tjänstinformationen, testa anslutningen och skapa den nya länkade tjänsten.
Konfigurationsinformation för anslutningsprogram
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:
- Autentisering av tjänstens huvudnamn
- Systemtilldelad autentisering av hanterad identitet
- Användartilldelad hanterad identitetsautentisering
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:
Registrera ett program med Microsoft platforma za identitete. Mer information finns i Snabbstart: Registrera ett program med Microsoft platforma za identitete. Anteckna dessa värden som du använder för att definiera den länkade tjänsten:
- Program-ID:t
- Programnyckel
- Klientorganisations-ID
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 niska veze. 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 niska veze. | Ja |
servicePrincipalKey | Ange programmets nyckel. Detta kallas "Microsoft Entra-programnyckel" i Kusto niska veze. 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:
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.
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:
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
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 kopieringsaktivitetskä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 de här egenskaperna 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.
Relaterat innehåll
En lista över datalager som kopieringsaktiviteten stöder som källor och mottagare finns i datalager som stöds.
Läs mer om hur du kopierar data från Azure Data Factory och Synapse Analytics till Azure Data Explorer.