Freigeben über


Freigeben von Daten mit Azure Data Explorer

Sie können Daten auf viele herkömmliche Weise freigeben, z. B. über Dateifreigaben, FTP, E-Mail und APIs. Diese Methoden erfordern, dass beide Parteien eine Datenpipeline erstellen und verwalten, über die die Daten zwischen Teams und Organisationen ausgetauscht werden. Mit Azure Data Explorer können Sie Ihre Daten problemlos und sicher für Personen in Ihrem Unternehmen oder externe Partner freigeben. Die Freigabe erfolgt nahezu in Echtzeit, ohne dass eine Datenpipeline erstellt oder gewartet werden muss. Alle Datenbankänderungen, einschließlich Schema und Daten, auf Anbieterseite sind auf Consumerseite sofort verfügbar.

Azure Friday-Video

Azure Data Explorer entkoppelt Speicher und Compute, sodass Sie mehrere Computeinstanzen (schreibgeschützt) auf demselben zugrunde liegenden Speicher ausführen können. Sie können eine Datenbank als Followerdatenbank anfügen, eine schreibgeschützte Datenbank in einem Remotecluster.

Konfigurieren der Datenfreigabe

Verwenden Sie Azure Data Share, um Einladungen und Freigaben innerhalb des Unternehmens oder an externe Partner und Kunden zu senden und zu verwalten. Zum Erstellen einer symbolischen Verknüpfung zwischen den Azure Data Explorer-Clustern des Anbieters und des Consumers verwendet Azure Data Share eine Followerdatenbank. Diese Option bietet Ihnen einen zentralen Bereich zum Anzeigen und Verwalten Ihrer Datenfreigaben in Azure Data Explorer-Clustern und anderen Datendiensten. Azure Data Share ermöglicht ihnen auch das Freigeben von Daten in organisationenübergreifend in verschiedenen Microsoft Entra-Mandanten.

Hinweis

Ein Administrator in beiden Clustern kann die Followerdatenbank direkt mit verschiedenen APIs konfigurieren. Diese Konfiguration ist in Szenarien hilfreich, in denen Sie zusätzliche Berechnung zum Skalieren für die Berichterstellung benötigen.

Sie können die Datenfreigabe für die folgenden Optionen konfigurieren:

Hinweis

Beim Herstellen einer Freigabebeziehung erstellt Azure Data Share eine symbolische Verknüpfung zwischen den Azure Data Explorer-Clustern des Anbieters und des Consumers. Wenn der Datenanbieter den Zugriff widerruft, wird die symbolische Verknüpfung gelöscht, und die freigegebenen Datenbanken stehen dem Datenanwender nicht mehr zur Verfügung.

Datenfreigabe in Azure Data Explorer

Der Datenanbieter kann die Daten auf Datenbankebene oder auf Clusterebene freigeben. Der Cluster, der die Datenbank freigibt, ist der übergeordnete Cluster (Leader), und der Cluster, der die Freigabe empfängt, ist der untergeordnete Cluster (Follower). Ein Followercluster kann einer oder mehreren übergeordneten Clusterdatenbanken untergeordnet sein. Der Followercluster wird regelmäßig synchronisiert, um Änderungen zu ermitteln. Die Verzögerungszeit zwischen Leader und Follower variiert in Abhängigkeit von der Gesamtgröße der Metadaten und der Daten zwischen einigen Sekunden und wenigen Minuten. Daten werden im Consumercluster zwischengespeichert und sind nur für Lese- oder Abfragevorgänge verfügbar. Die einzige Ausnahme bildet die Außerkraftsetzung der Richtlinie für das heiße Caching und der Datenbankberechtigungen. Bei den Abfragen im Followercluster wird der lokale Cache verwendet, es werden keine Ressourcen im Leadercluster genutzt.

Voraussetzungen

Datenfreigabeflow

  1. Der Anbieter verwendet seine Azure Data Share-Ressource, um eine gesamte Datenbank oder eine bestimmte Tabelle freizugeben und die E-Mail-Adresse des Empfängers anzugeben.
  2. Azure Data Share sendet eine E-Mail-Einladung an den Empfänger.
  3. Der Empfänger öffnet die E-Mail-Einladung und wählt seine Azure Data Share-Ressource aus.
  4. Der Empfänger verwendet Azure Data Share, um die freigegebene Datenbank oder Tabelle dem entsprechenden Cluster zuzuordnen.

Datenanbieter

Der Datenanbieter kann eine gesamte Datenbank oder eine bestimmte Tabelle für den Empfänger freigeben.

Freigeben einer gesamten Datenbank

Befolgen Sie die Anweisungen im Video, um ein Azure Data Share-Konto zu erstellen, ein Dataset hinzuzufügen und eine Einladung zu senden. Datenanbieter: Freigeben von Daten

Freigeben von Tabellen

Sie können eine Azure Resource Manager-Vorlage verwenden, um eine oder mehrere Tabellen über Azure Data Share zu teilen.

Führen Sie die folgenden Schritte aus, um Tabellen freizugeben:

  1. Erstellen Sie eine Vorlage, und legen Sie die entsprechenden Parameter für das Dataset und die Tabelleneinschränkungen fest, und geben Sie den Empfänger der Einladung an. Verwenden Sie die Informationen in der folgenden Tabelle, um die Vorlage zu konfigurieren.

Allgemeine Parameter

Parameter Beschreibung Beispiel
accountName Der Name des Azure Data Share-Kontos des Anbieters.
Standort. Der Speicherort aller Ressourcen. Der Leader und der Follower müssen sich am gleichen Speicherort befinden.
shareName Der Name der Freigabe, die Sie im Datenfreigabekonto erstellen.
recipientEmail Die E-Mail des Azure Data Share-Empfängers.

Datenbankparameter

Parameter Beschreibung Beispiel
databaseName Der Name der Datenbank des Anbieters.
databaseResourceId Die Ressourcen-ID der Datenbank des Anbieters.

Tabellen- und Ansichtsparameter

Parameter Beschreibung Beispiel
externeTabellenZumAusschließen Die Liste der auszuschließenden externen Tabellen. Verwenden Sie „["*"]“, um alle externen Tabellen auszuschließen. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
ExterneTabellenZumEinbeziehen Die Liste der einzuschließenden externen Tabellen. Verwenden Sie „["Logs*"]“, um alle externen Tabellen einzubeziehen, die mit „Logs“ beginnen. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
materialisierteAnsichtenZumAusschließen Die Liste der materialisierten Sichten, die ausgeschlossen werden sollen. Verwenden Sie „["*"]“, um alle materialisierten Sichten auszuschließen. ["Mv11ToExclude", "Mv22ToExclude"]
materialisierteAnsichtenEinzubeziehen Die Liste der materialisierten Sichten, die einbezogen werden sollen. Verwenden Sie „["Logs*"]“, um alle materialisierten Sichten einzubeziehen, die mit „Logs“ beginnen. ["Mv1ToInclude", "Mv2ToInclude"]
tablesToExclude Die Liste der Tabellen, die ausgeschlossen werden sollen. Verwenden Sie „["*"]“, um alle Tabellen auszuschließen. ["table1ToExclude", "table2ToExclude"]
TabellenZumEinfügen Die Liste der Tabellen, die einbezogen werden sollen. Verwenden Sie „["*"]“, um alle Tabellen einzuschließen. ["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. Stellen Sie die Azure Resource Manager-Vorlage mithilfe des Azure-Portals oder powerShell bereit.

    Vorlagenbereitstellung

Datenconsumer: Empfangen von Daten

Befolgen Sie die Anweisungen im Video, um die Einladung anzunehmen, ein Datenfreigabekonto zu erstellen und es dem Consumercluster zuzuordnen.

Datenconsumer: Empfangen von Daten

Der Datenconsumer kann nun in seinem Azure Data Explorer-Cluster Benutzerberechtigungen für die freigegebenen Datenbanken und den Zugriff auf die Daten gewähren. Daten, die durch Warteschlangenaufnahme in den Azure Data Explorer-Quellcluster aufgenommen werden, erscheinen innerhalb von Sekunden bis Minuten im Zielcluster.

Begrenzungen