Sdílení dat s Azure Data Explorerem s využitím služby Azure Data Share

Existuje mnoho tradičních způsobů sdílení dat, například prostřednictvím sdílených složek, FTP, e-mailu a rozhraní API. Tyto metody vyžadují, aby obě strany vytvořily a udržovaly datový kanál, který přesouvá data mezi týmy a organizacemi. S Azure Data Explorer můžete snadno a bezpečně sdílet data s lidmi ve vaší společnosti nebo externími partnery. Ke sdílení dochází téměř v reálném čase bez nutnosti vytvářet nebo udržovat datový kanál. Všechny změny databáze, včetně schématu a dat, na straně poskytovatele jsou okamžitě dostupné na straně příjemce.

Video o Azure Friday.

Azure Data Explorer oddělení úložiště a výpočetních prostředků, což zákazníkům umožňuje spouštět více výpočetních instancí (jen pro čtení) ve stejném základním úložišti. Databázi můžete připojit jako databázi sledující, což je databáze jen pro čtení ve vzdáleném clusteru.

Konfigurace sdílení dat

Azure Data Share použijte k odesílání a správě pozvánek a sdílení v rámci společnosti nebo u externích partnerů a zákazníků. Azure Data Share používá databázi followerů k vytvoření symbolického propojení mezi poskytovatelem a clusterem Azure Data Explorer uživatele. Tato možnost poskytuje jedno podokno pro zobrazení a správu všech sdílených složek dat napříč clustery Azure Data Explorer a dalšími datovými službami. Azure Data Share také umožňuje sdílet data mezi organizacemi v různých tenantech Microsoft Entra.

Poznámka

Správa v obou clusterech může přímo nakonfigurovat databázi sledujících pomocí různých rozhraní API. To je užitečné ve scénářích, kdy potřebujete další výpočetní prostředky pro horizontální navýšení kapacity pro vytváření sestav.

Sdílení dat můžete nakonfigurovat pro následující účely:

Poznámka

Po vytvoření vztahu sdílení vytvoří Azure Data Share symbolické propojení mezi clusterem Azure Data Explorer poskytovatele a příjemce. Pokud poskytovatel dat odvolá přístup, symbolický odkaz se odstraní a sdílené databáze už nebudou pro příjemce dat dostupné.

Azure Data Explorer sdílení dat.

Poskytovatel dat může sdílet data na úrovni databáze nebo na úrovni clusteru. Cluster sdílející databázi je vedoucí cluster a cluster přijímající sdílenou složku je cluster sledujících. Cluster sledujících může sledovat jednu nebo více databází vedoucího clusteru. Cluster sledujících se pravidelně synchronizuje a kontroluje změny. Prodleva mezi vedoucí a sledující se liší od několika sekund až po několik minut v závislosti na celkové velikosti metadat a dat. Data se ukládají do mezipaměti v clusteru příjemců a jsou k dispozici pouze pro operace čtení nebo dotazování, s výjimkou přepsání zásad ukládání do mezipaměti za provozu a oprávnění k databázi. Dotazy spuštěné v clusteru sledujících používají místní mezipaměť a nepoužívají prostředky vedoucího clusteru.

Požadavky

Tok sdílení dat

  1. Poskytovatel použije prostředek Azure Data Share ke sdílení úplné databáze nebo konkrétní tabulky a určí e-mailovou adresu příjemce.
  2. Azure Data Share pošle příjemci e-mailovou pozvánku.
  3. Příjemce otevře e-mailovou pozvánku a vybere prostředek Azure Data Share.
  4. Příjemce pomocí Azure Data Share namapuje sdílenou databázi nebo tabulku na příslušný cluster.

Poskytovatel dat – sdílí data

Poskytovatel dat může s příjemcem sdílet úplnou databázi nebo konkrétní tabulku.

Sdílení úplné databáze

Podle pokynů ve videu vytvořte účet Azure Data Share, přidejte datovou sadu a pošlete pozvánku. Poskytovatel dat – sdílení dat.

Sdílení tabulek

Šablonu Azure Resource Manager můžete použít ke sdílení jedné nebo více tabulek prostřednictvím Azure Data Share.

Ke sdílení tabulek použijte následující postup:

  1. Vytvořte šablonu, nastavte příslušné parametry pro datovou sadu a omezení tabulek a určete příjemce pozvánky. Informace v následující tabulce vám pomůžou s konfigurací šablony.

    Parametr Popis Příklad
    accountName Název účtu Azure Data Share poskytovatele.
    Umístění Umístění všech prostředků. Vedoucí a sledujícími musí být na stejném místě.
    Název_sdílené_položky Název sdílené složky, která se vytvoří v účtu sdílené datové složky.
    recipientEmail E-mail příjemce Azure Data Share.
    databaseName Název databáze poskytovatele.
    id prostředku databáze ID prostředku databáze poskytovatele.
    externalTablesToExclude Seznam externích tabulek, které se mají vyloučit. Pokud chcete vyloučit všechny externí tabulky, použijte ["*"]. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
    externalTablesToInclude Seznam externích tabulek, které se mají zahrnout. Pokud chcete zahrnout všechny externí tabulky začínající na Protokoly, použijte ["Logs*"]. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
    materializedViewsToExclude Seznam materializovaných zobrazení, která se mají vyloučit. Pokud chcete vyloučit všechna materializovaná zobrazení, použijte ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
    materializedViewsToInclude Seznam materializovaných zobrazení, která se mají zahrnout. Pokud chcete zahrnout všechna materializovaná zobrazení začínající na Protokoly, použijte ["Logs*"]. ["Mv1ToInclude", "Mv2ToInclude"]
    tablesToExclude Seznam tabulek, které se mají vyloučit. Pokud chcete vyloučit všechny tabulky, použijte ["*"]. ["table1ToExclude", "table2ToExclude"]
    tablesToInclude Seznam tabulek, které se mají zahrnout. Pokud chcete zahrnout všechny tabulky, použijte ["*"]. ["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')]"
            }
          }
        }
      ]
    }
    
  2. Nasaďte šablonu Azure Resource Manager pomocí Azure Portal nebo PowerShellu.

    nasazení šablony.

Příjemce dat – příjem dat

Podle pokynů ve videu přijměte pozvánku, vytvořte účet sdílené datové složky a namapujte ho na cluster příjemců.

Příjemce dat – přijímá data.

Příjemce dat teď může přejít do svého clusteru Azure Data Explorer, udělit uživatelům oprávnění ke sdíleným databázím a získat přístup k datům. Data ingestovaná pomocí příjmu dat ve frontě do zdrojového clusteru Azure Data Explorer se zobrazí v cílovém clusteru během několika sekund až několika minut.

Omezení