Udostępnij przez


Udostępnianie danych za pomocą usługi Azure Data Explorer

Dane można udostępniać na wiele tradycyjnych sposobów, takich jak współdzielenie plików, FTP, poczta e-mail i interfejsy API. Metody te wymagają, aby obie strony tworzyły i obsługiwały potok danych, który przenosi dane między zespołami a organizacjami. Usługa Azure Data Explorer umożliwia łatwe i bezpieczne udostępnianie danych osobom w firmie lub partnerach zewnętrznych. Udostępnianie odbywa się niemal w czasie rzeczywistym, bez konieczności tworzenia ani obsługi potoku danych. Wszystkie zmiany bazy danych, w tym schemat i dane, po stronie dostawcy są natychmiast dostępne po stronie konsumenta.

Wideo z piątku platformy Azure.

Usługa Azure Data Explorer rozdziela magazyn i zasoby obliczeniowe, co umożliwia uruchamianie wielu wystąpień obliczeniowych (tylko do odczytu) w tym samym magazynie bazowym. Bazę danych można dołączyć jako następującą bazę danych, która jest bazą danych tylko do odczytu w klastrze zdalnym.

Konfigurowanie udostępniania danych

Usługa Azure Data Share umożliwia wysyłanie zaproszeń i udziałów oraz zarządzanie nimi w całej firmie lub z partnerami zewnętrznymi i klientami. Usługa Azure Data Share używa bazy danych obserwowanej do utworzenia symbolicznego połączenia między dostawcą i klastrem usługi Azure Data Explorer odbiorcy. Ta opcja umożliwia wyświetlenie wszystkich udziałów danych w klastrach usługi Azure Data Explorer i innych usługach danych oraz zarządzanie nimi. Usługa Azure Data Share umożliwia również udostępnianie danych między organizacjami w różnych dzierżawach firmy Microsoft Entra.

Uwaga

Administrator w obu klastrach może bezpośrednio skonfigurować bazę danych obserwowanych przy użyciu różnych interfejsów API. Ta konfiguracja jest przydatna w scenariuszach, w których wymagana jest dodatkowa moc obliczeniowa do skalowania horyzontalnie na potrzeby raportowania.

Udostępnianie danych można skonfigurować dla następujących opcji:

  • Cała baza danych (wartość domyślna).
  • Określone tabele — udostępnianie na poziomie tabeli.

Uwaga

Po ustanowieniu relacji udostępniania usługa Azure Data Share tworzy symboliczne połączenie między dostawcą a klastrem usługi Azure Data Explorer odbiorcy. Jeśli dostawca danych odwoła dostęp, link symboliczny zostanie usunięty, a udostępnione bazy danych nie będą już dostępne dla konsumenta danych.

Udostępnianie danych w usłudze Azure Data Explorer.

Dostawca danych może udostępniać dane na poziomie bazy danych lub na poziomie klastra. Klaster współużytkowania bazy danych jest klastrem liderem, a klaster odbierający udział jest klastrem obserwowanym. Klaster obserwowany może podążać za co najmniej jedną bazą danych klastra wiodącego. Klaster obserwowany okresowo synchronizuje się w celu sprawdzenia zmian. Czas opóźnienia między liderem a kontynuacją różni się od kilku sekund do kilku minut, w zależności od ogólnego rozmiaru metadanych i danych. Dane są buforowane w klastrze odbiorców i są dostępne tylko w przypadku operacji odczytu lub zapytań, z wyjątkiem zastąpienia zasad gorącego buforowania i uprawnień bazy danych. Zapytania uruchomione w klastrze obserwowanym używają lokalnej pamięci podręcznej i nie używają zasobów klastra lidera.

Wymagania wstępne

Przepływ udostępniania danych

  1. Dostawca używa swojego zasobu usługi Azure Data Share do udostępniania pełnej bazy danych lub określonej tabeli i określa adres e-mail odbiorcy.
  2. Usługa Azure Data Share wysyła wiadomość e-mail z zaproszeniem do odbiorcy.
  3. Odbiorca otwiera zaproszenie e-mail i wybiera zasób usługi Azure Data Share.
  4. Odbiorca używa usługi Azure Data Share do mapowania udostępnionej bazy danych lub tabeli na odpowiedni klaster.

Dostawca danych

Dostawca danych może udostępnić pełną bazę danych lub określoną tabelę odbiorcy.

Udostępnianie pełnej bazy danych

Postępuj zgodnie z instrukcjami w filmie wideo, aby utworzyć konto usługi Azure Data Share, dodać zestaw danych i wysłać zaproszenie. Dostawca danych — udostępnianie danych.

Udostępnianie tabel

Szablon usługi Azure Resource Manager umożliwia udostępnianie co najmniej jednej tabeli za pośrednictwem usługi Azure Data Share.

Aby udostępnić tabele, wykonaj następujące czynności:

  1. Utwórz szablon i ustaw odpowiednie parametry zestawu danych, ograniczeń tabeli i określ adresata zaproszenia. Skorzystaj z informacji w poniższej tabeli, aby ułatwić skonfigurowanie szablonu.

Parametry ogólne

Parametr Opis Przykład
accountName Nazwa konta usługi Azure Data Share dostawcy.
lokalizacja Lokalizacja wszystkich zasobów. Lider i zwolennik muszą znajdować się w tej samej lokalizacji.
shareName Nazwa udziału, który tworzysz na koncie udziału danych.
recipientEmail Wiadomość e-mail odbiorcy usługi Azure Data Share.

Parametry bazy danych

Parametr Opis Przykład
databaseName Nazwa bazy danych dostawcy.
databaseResourceId Identyfikator zasobu bazy danych dostawcy.

Parametry tabeli i widoku

Parametr Opis Przykład
tabeleZewnętrzneDoWykluczenia Lista tabel zewnętrznych do wykluczenia. Aby wykluczyć wszystkie tabele zewnętrzne, użyj polecenia ["*"]. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
tabeleZewnętrzneDoUwzględnienia Lista tabel zewnętrznych do uwzględnienia. Aby uwzględnić wszystkie tabele zewnętrzne rozpoczynające się od "Dzienniki", użyj polecenia ["Logs*"]. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
materializedViewsDoWykluczenia Lista zmaterializowanych widoków do wykluczenia. Aby wykluczyć wszystkie zmaterializowane widoki, użyj polecenia ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
zmaterializowaneWidokiDoUwzględnienia Lista zmaterializowanych widoków do uwzględnienia. Aby uwzględnić wszystkie zmaterializowane widoki rozpoczynające się od "Dzienniki", użyj polecenia ["Logs*".]. ["Mv1ToInclude", "Mv2ToInclude"]
tablesToExclude Lista tabel do wykluczenia. Aby wykluczyć wszystkie tabele, użyj polecenia ["*"]. ["table1ToExclude", "table2ToExclude"]
tabeleDoUwzględnienia Lista tabel do uwzględnienia. Aby uwzględnić wszystkie tabele, użyj polecenia ["*"]. ["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. Wdróż szablon usługi Azure Resource Manager przy użyciu witryny Azure Portal lub programu PowerShell.

    wdrożenie szablonu.

Odbiorca danych — odbieranie danych

Postępuj zgodnie z instrukcjami w filmie wideo, aby zaakceptować zaproszenie, utworzyć konto udziału danych i mapować je na klaster odbiorców.

Odbiorca danych — odbieranie danych.

Użytkownik danych może teraz przejść do klastra usługi Azure Data Explorer, aby udzielić użytkownikom uprawnień do udostępnionych baz danych i uzyskać dostęp do danych. Dane załadowane za pomocą kolejkowania do źródłowego klastra Azure Data Explorer pojawiają się w klastrze docelowym w ciągu kilku sekund do kilku minut.

Ograniczenia