Delen via


Gegevens delen met Azure Data Explorer

U kunt gegevens op veel traditionele manieren 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 onderhouden. Alle databasewijzigingen, inclusief schema en gegevens, aan de providerzijde zijn direct beschikbaar aan de kant van de consument.

Azure Friday-video.

Azure Data Explorer koppelt opslag en rekenkracht los, zodat u meerdere rekeninstanties (alleen-lezen) kunt uitvoeren op dezelfde onderliggende opslag. U kunt een database koppelen als een volgerdatabase, wat een alleen-lezen database op een extern cluster is.

Gegevens delen configureren

Gebruik Azure Data Share om uitnodigingen en shares binnen het bedrijf of met externe partners en klanten te verzenden en te beheren. Azure Data Share maakt gebruik van een volgdatabase om een symbolische koppeling te maken tussen het Azure Data Explorer-cluster van de provider en 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.

Opmerking

Een beheerder op beide clusters kan de volgdatabase rechtstreeks configureren met verschillende API's. Deze configuratie 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 de volgende opties:

Opmerking

Wanneer de relatie voor delen tot stand is gebracht, maakt Azure Data Share een symbolische koppeling tussen het Azure Data Explorer-cluster van de provider en de consument. Als de gegevensprovider de toegang intrekt, wordt de symbolische koppeling verwijderd en zijn de gedeelde databases niet meer beschikbaar voor de gegevensgebruiker.

Gegevens delen in Azure Data Explorer.

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 hoofdclusterdatabases volgen. Het volgcluster synchroniseert periodiek om te controleren op wijzigingen. De vertragingstijd tussen de leider en 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 hot caching-beleid en de databasemachtigingen te overschrijven. De query's die op het volgcluster worden uitgevoerd, maken gebruik van de lokale cache en gebruiken niet de resources van het leader-cluster.

Vereiste voorwaarden

Gegevenssharestroom

  1. De provider gebruikt de Azure Data Share-resource om een volledige database of een specifieke tabel te delen en geef het e-mailadres van de ontvanger op.
  2. Azure Data Share verzendt een e-mailnodiging naar de ontvanger.
  3. De ontvanger opent de uitnodiging voor e-mail en selecteert de Azure Data Share-resource.
  4. De ontvanger gebruikt Azure Data Share om de gedeelde database of tabel toe te wijzen aan het juiste cluster.

Gegevensprovider

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. Gegevensprovider : gegevens delen.

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:

  1. 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 u te helpen bij het configureren van de sjabloon.

Algemene parameters

Parameter Beschrijving Voorbeeld
accountName De naam van het Azure Data Share-account van de provider.
plaats De locatie van alle resources. De leider en de volger moeten zich op dezelfde locatie bevinden.
shareName De naam van de share die u maakt op het datashare-account.
recipientEmail Het e-mailadres van de ontvanger van de Azure Data Share.

Database parameters

Parameter Beschrijving Voorbeeld
databaseName De naam van de database van de provider.
databaseResourceId De resource-id van de database van de provider.

Tabel- en weergaveparameters

Parameter Beschrijving Voorbeeld
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 ["Logs*"]. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
gematerialiseerdeWeergavenOmUitTeSluiten De lijst met gematerialiseerde weergaven die moeten worden uitgesloten. Als u alle gerealiseerde weergaven wilt uitsluiten, gebruikt u ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
gematerialiseerdeWeergavenOmTeInclusief De lijst met gerealiseerde weergaven die moeten worden opgenomen. Om alle gematerialiseerde views die beginnen met 'Logs' op te nemen, gebruikt u ["Logs*"]. ["Mv1ToInclude", "Mv2ToInclude"]
tablesToExclude De lijst met tabellen die moeten worden uitgesloten. Als u alle tabellen wilt uitsluiten, gebruikt u ["*"]. ["table1ToExclude", "table2ToExclude"]
tabellenDieMoetenWordenOpgenomen De lijst met tabellen die u wilt opnemen. 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')]"
            }
          }
        }
      ]
    }
  1. Implementeer de Azure Resource Manager-sjabloon met behulp van Azure Portal of PowerShell.

    sjabloonimplementatie.

Gegevensconsumer - gegevens ontvangen

Volg de instructies in de video om de uitnodiging te accepteren, een gegevensdeelaccount aan te maken en te koppelen aan het afnemerscluster.

Gegevensconsumer : ontvangen van gegevens.

De gegevensgebruiker kan nu naar het Azure Data Explorer-cluster gaan om gebruikersmachtigingen te verlenen aan de gedeelde databases en toegang te krijgen tot de gegevens. Gegevens die worden ingevoerd met wachtrij-opname in het Azure Data Explorer-broncluster, verschijnen binnen enkele seconden tot enkele minuten op het doelcluster.

Beperkingen