Azure Data Share gebruiken om gegevens te delen met Azure Data Explorer
Er zijn veel traditionele manieren om gegevens te delen, zoals via bestandsshares, FTP, e-mail en API's. Voor deze methoden moeten beide partijen een gegevenspijplijn bouwen en onderhouden waarmee gegevens tussen teams en organisaties worden verplaatst. Met Azure Data Explorer kunt u uw gegevens eenvoudig en veilig delen met personen in uw bedrijf of externe partners. Delen vindt bijna in realtime plaats, zonder dat u een gegevenspijplijn hoeft te bouwen of te onderhouden. Alle databasewijzigingen, inclusief schema en gegevens, aan de kant van de provider, zijn direct beschikbaar aan de kant van de consument.
Azure Data Explorer loskoppelt opslag en rekenkracht, waardoor klanten meerdere rekenprocessen (alleen-lezen) kunnen uitvoeren op dezelfde onderliggende opslag. U kunt een database koppelen als een volgdatabase. Dit is een alleen-lezendatabase in een extern cluster.
Gegevens delen configureren
Gebruik Azure Data Share voor het verzenden en beheren van uitnodigingen en shares in het hele bedrijf of met externe partners en klanten. Azure Data Share maakt gebruik van een volgdatabase om een symbolische koppeling te maken tussen de provider en het Azure Data Explorer-cluster van de consument. Deze optie biedt u één deelvenster om al uw gegevensshares in Azure Data Explorer-clusters en andere gegevensservices weer te geven en te beheren. Met Azure Data Share kunt u ook gegevens delen tussen organisaties in verschillende Microsoft Entra tenants.
Notitie
Een Beheer op beide clusters kan de volgdatabase rechtstreeks configureren met verschillende API's. Dit is handig in scenario's waarin u extra rekenkracht nodig hebt om uit te schalen voor rapportage.
U kunt het delen van gegevens configureren voor het volgende:
- De hele database (standaard).
- Specifieke tabellen: delen op tabelniveau.
Notitie
Wanneer de relatie voor delen tot stand is gebracht, maakt Azure Data Share een symbolische koppeling tussen de provider en het Azure Data Explorer-cluster van de consument. Als de gegevensprovider de toegang intrekt, wordt de symbolische koppeling verwijderd en zijn de gedeelde database(s) niet meer beschikbaar voor de gegevensgebruiker.
De gegevensprovider kan de gegevens delen op databaseniveau of op clusterniveau. Het cluster dat de database deelt, is het leidercluster en het cluster dat de share ontvangt, is het volgcluster. Een volgcluster kan een of meer leaderclusterdatabases volgen. Het volgcluster synchroniseert periodiek om te controleren op wijzigingen. De vertragingstijd tussen de leider en de volger varieert van een paar seconden tot een paar minuten, afhankelijk van de totale grootte van de metagegevens en de gegevens. Gegevens worden in de cache opgeslagen in het consumentencluster en zijn alleen beschikbaar voor lees- of querybewerkingen, met een uitzondering om het beleid voor dynamische caching en de databasemachtigingen te overschrijven. De query's die worden uitgevoerd op het volgcluster maken gebruik van de lokale cache en maken geen gebruik van de resources van het leadercluster.
Vereisten
- Een Azure-abonnement. Maak een gratis Azure-account.
- Een Azure Data Explorer cluster en database voor de leider en volger. Maak een cluster en database.
- De leader-database moet gegevens bevatten. U kunt gegevens opnemen met behulp van een van de methoden die worden besproken in het overzicht van opname.
Gegevenssharestroom
- De provider gebruikt de Azure Data Share-resource om een volledige database of een specifieke tabel te delen en het e-mailadres van de ontvanger op te geven.
- Azure Data Share verzendt een uitnodiging per e-mail naar de ontvanger.
- De ontvanger opent de uitnodiging per e-mail en selecteert de Azure Data Share-resource.
- De ontvanger gebruikt Azure Data Share om de gedeelde database of tabel toe te wijzen aan het juiste cluster.
Gegevensprovider - deelt gegevens
De gegevensprovider kan een volledige database of een specifieke tabel delen met de ontvanger.
Een volledige database delen
Volg de instructies in de video om een Azure Data Share-account te maken, een gegevensset toe te voegen en een uitnodiging te verzenden.
Tabellen delen
U kunt een Azure Resource Manager-sjabloon gebruiken om een of meer tabellen te delen via Azure Data Share.
Gebruik de volgende stappen om tabellen te delen:
Maak een sjabloon en stel de juiste parameters in voor de gegevensset, tabelbeperkingen en geef de ontvanger van de uitnodiging op. Gebruik de informatie in de volgende tabel om de sjabloon te configureren.
Parameter Beschrijving Voorbeeld accountName De naam van het Azure Data Share-account van de provider. location De locatie van alle resources. De leider en de volger moeten zich op dezelfde locatie bevinden. Sharenaam De naam van de share die wordt gemaakt in het datashare-account. recipientEmail Het e-mailadres van de ontvanger van de Azure Data Share. databaseName De naam van de database van de provider. databaseResourceId De resource-id van de database van de provider. externalTablesToExclude De lijst met externe tabellen die moeten worden uitgesloten. Als u alle externe tabellen wilt uitsluiten, gebruikt u ["*"]. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
externalTablesToInclude De lijst met externe tabellen die moeten worden opgenomen. Als u alle externe tabellen wilt opnemen die beginnen met 'Logboeken', gebruikt u ["Logboeken*"]. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
materializedViewsToExclude De lijst met gerealiseerde weergaven die moeten worden uitgesloten. Als u alle gerealiseerde weergaven wilt uitsluiten, gebruikt u ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
materializedViewsToInclude De lijst met gerealiseerde weergaven die moeten worden opgenomen. Als u alle gerealiseerde weergaven wilt opnemen die beginnen met 'Logboeken', gebruikt u ["Logboeken*"]. ["Mv1ToInclude", "Mv2ToInclude"]
tablesToExclude De lijst met tabellen die moeten worden uitgesloten. Als u alle tabellen wilt uitsluiten, gebruikt u ["*"]. ["table1ToExclude", "table2ToExclude"]
tablesToInclude De lijst met tabellen die moeten worden opgenomen. Als u alle tabellen wilt opnemen, gebruikt u ["*"]. ["table1ToInclude", "table2ToInclude"]
{ "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#", "contentVersion": "1.0.0.0", "parameters": { "accountName": { "type": "String" }, "location": { "defaultValue": "[resourceGroup().location]", "type": "String" }, "shareName": { "type": "String" }, "recipientEmail": { "type": "String" }, "databaseName": { "type": "String" }, "databaseResourceId": { "type": "String" }, "externalTablesToExclude": { "type": "Array" }, "externalTablesToInclude": { "type": "Array" }, "materializedViewsToExclude": { "type": "Array" }, "materializedViewsToInclude": { "type": "Array" }, "tablesToExclude": { "type": "Array" }, "tablesToInclude": { "type": "Array" } }, "variables": { "invitationSuffix": "[replace(replace(parameters('recipientEmail'),'@', '_'), '.', '_')]" }, "resources": [ { "type": "Microsoft.DataShare/accounts", "apiVersion": "2021-08-01", "name": "[parameters('accountName')]", "location": "[parameters('location')]", "identity": { "type": "SystemAssigned" }, "properties": {} }, { "type": "Microsoft.DataShare/accounts/shares", "apiVersion": "2021-08-01", "name": "[concat(parameters('accountName'), '/' , parameters('shareName'))]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]" ], "properties": { "shareKind": "InPlace" } }, { "type": "Microsoft.DataShare/accounts/shares/invitations", "apiVersion": "2021-08-01", "name": "[concat(parameters('accountName'), '/', parameters('shareName'), '/', concat(parameters('shareName'), variables('invitationSuffix')))]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts/shares', parameters('accountName'), parameters('shareName'))]", "[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]" ], "properties": { "targetEmail": "[parameters('recipientEmail')]" } }, { "type": "Microsoft.DataShare/accounts/shares/dataSets", "apiVersion": "2021-08-01", "name": "[concat(parameters('accountName'), '/', parameters('shareName'), '/', parameters('databaseName'))]", "dependsOn": [ "[resourceId('Microsoft.DataShare/accounts/shares', parameters('accountName'), parameters('shareName'))]", "[resourceId('Microsoft.DataShare/accounts', parameters('accountName'))]" ], "kind": "KustoTable", "properties": { "kustoDatabaseResourceId": "[parameters('databaseResourceId')]", "tableLevelSharingProperties": { "externalTablesToExclude": "[parameters('externalTablesToExclude')]", "externalTablesToInclude": "[parameters('externalTablesToInclude')]", "materializedViewsToExclude": "[parameters('materializedViewsToExclude')]", "materializedViewsToInclude": "[parameters('materializedViewsToInclude')]", "tablesToExclude": "[parameters('tablesToExclude')]", "tablesToInclude": "[parameters('tablesToInclude')]" } } } ] }
Implementeer de Azure Resource Manager-sjabloon met behulp van de Azure Portal of PowerShell.
Gegevensgebruiker - gegevens ontvangen
Volg de instructies in de video om de uitnodiging te accepteren, een datashare-account te maken en toe te wijzen aan het consumentencluster.
De gegevensgebruiker kan nu naar het Azure Data Explorer-cluster gaan om gebruikersmachtigingen te verlenen voor de gedeelde databases en toegang te krijgen tot de gegevens. Gegevens die worden opgenomen met behulp van opname in de wachtrij in het Azure Data Explorer-broncluster, worden binnen enkele seconden tot enkele minuten weergegeven op het doelcluster.