Używanie usługi Azure Data Share do udostępniania danych usłudze Azure Data Explorer
Istnieje wiele tradycyjnych sposobów udostępniania danych, takich jak udziały 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.
Usługa Azure Data Explorer rozdziela magazyn i zasoby obliczeniowe, co umożliwia klientom 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. Jest to przydatne w scenariuszach, w których wymagane jest dodatkowe zasoby obliczeniowe do skalowania w poziomie na potrzeby raportowania.
Udostępnianie danych można skonfigurować dla następujących elementów:
- 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 użytkownika danych.
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
- Subskrypcja platformy Azure. Utwórz bezpłatne konto platformy Azure.
- Klaster i baza danych usługi Azure Data Explorer dla lidera i obserwowanego. Utwórz klaster i bazę danych.
- Baza danych lidera powinna zawierać dane. Dane można pozyskiwać przy użyciu jednej z metod omówionych w omówieniu pozyskiwania.
Przepływ udostępniania danych
- 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.
- Usługa Azure Data Share wysyła wiadomość e-mail z zaproszeniem do odbiorcy.
- Odbiorca otwiera zaproszenie e-mail i wybiera zasób usługi Azure Data Share.
- Odbiorca używa usługi Azure Data Share do mapowania udostępnionej bazy danych lub tabeli na odpowiedni klaster.
Dostawca danych — udostępnia dane
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.
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:
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.
Parametr Opis Przykład accountName Nazwa konta usługi Azure Data Share dostawcy. location Lokalizacja wszystkich zasobów. Lider i zwolennik muszą znajdować się w tej samej lokalizacji. shareName Nazwa udziału, który zostanie utworzony na koncie udziału danych. recipientEmail Wiadomość e-mail odbiorcy usługi Azure Data Share. databaseName Nazwa bazy danych dostawcy. databaseResourceId Identyfikator zasobu bazy danych dostawcy. externalTablesToExclude Lista tabel zewnętrznych do wykluczenia. Aby wykluczyć wszystkie tabele zewnętrzne, użyj polecenia ["*"]. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
externalTablesToInclude 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"]
materializedViewsToExclude Lista zmaterializowanych widoków do wykluczenia. Aby wykluczyć wszystkie zmaterializowane widoki, użyj polecenia ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
materializedViewsToInclude 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"]
tablesToInclude 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')]" } } } ] }
Wdróż szablon usługi Azure Resource Manager przy użyciu witryny Azure Portal lub programu PowerShell.
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.
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 pozyskane przy użyciu pozyskiwania w kolejce do źródłowego klastra usługi Azure Data Explorer będą wyświetlane w klastrze docelowym w ciągu kilku sekund do kilku minut.