Menggunakan Azure Data Share untuk berbagi data dengan Azure Data Explorer

Ada banyak cara tradisional untuk berbagi data, seperti melalui berbagi file, FTP, email, dan API. Metode ini mengharuskan kedua belah pihak untuk membangun dan memelihara alur data yang memindahkan data antara tim dan organisasi. Dengan Azure Data Explorer, Anda dapat dengan mudah dan aman berbagi data Anda dengan orang-orang di perusahaan atau mitra eksternal Anda. Berbagi terjadi hampir real-time, tanpa perlu membangun atau memelihara alur data. Semua perubahan database, termasuk skema dan data, di sisi penyedia langsung tersedia di sisi konsumen.

Video Jumat Azure.

Azure Data Explorer memisahkan penyimpanan dan komputasi, yang memungkinkan pelanggan menjalankan beberapa instans komputasi (baca-saja) pada penyimpanan yang mendasari yang sama. Anda bisa melampirkan database sebagai database pengikut, yang merupakan database baca-saja pada kluster jarak jauh.

Mengonfigurasi berbagi data

Gunakan Azure Data Share untuk mengirim dan mengelola undangan dan berbagi di seluruh perusahaan atau dengan mitra dan pelanggan eksternal. Azure Data Share menggunakan database pengikut untuk membuat tautan simbolis antara penyedia dan kluster Azure Data Explorer konsumen. Opsi ini memberi Anda satu panel untuk menampilkan dan mengelola semua berbagi data Anda di seluruh kluster Azure Data Explorer dan layanan data lainnya. Azure Data Share juga memungkinkan Anda berbagi data di seluruh organisasi di penyewa Microsoft Entra yang berbeda.

Catatan

Admin pada kedua kluster dapat langsung mengonfigurasi database pengikut dengan berbagai APIS. Ini berguna dalam skenario di mana Anda memerlukan komputasi tambahan untuk peluasan skala untuk pelaporan.

Anda dapat mengonfigurasi berbagi data untuk hal berikut:

Catatan

Saat hubungan berbagi terjalin, Azure Data Share membuat tautan simbolis antara penyedia dan kluster Azure Data Explorer konsumen. Jika penyedia data mencabut akses, tautan simbolis dihapus, dan database bersama tidak lagi tersedia untuk konsumen data.

Berbagi data Azure Data Explorer.

Penyedia data dapat berbagi data di tingkat database atau di tingkat kluster. Kluster yang berbagi database adalah kluster pemimpin dan kluster yang menerima berbagi adalah kluster pengikut. Kluster pengikut dapat mengikuti satu atau beberapa database kluster pemimpin. Kluster pengikut secara berkala disinkronkan untuk memeriksa perubahan. Waktu jeda antara pemimpin dan pengikut bervariasi dari beberapa detik hingga beberapa menit, tergantung pada ukuran keseluruhan metadata dan data. Data di-cache pada kluster konsumen dan hanya tersedia untuk operasi baca atau kueri, dengan pengecualian untuk mengambil alih kebijakan penembolokan panas dan izin database. Kueri yang berjalan pada kluster pengikut menggunakan cache lokal dan tidak menggunakan sumber daya kluster pemimpin.

Prasyarat

Alur berbagi data

  1. Penyedia menggunakan sumber daya Azure Data Share mereka untuk berbagi database lengkap atau tabel tertentu, dan menentukan alamat email penerima.
  2. Azure Data Share mengirim undangan email ke penerima.
  3. Penerima membuka undangan email dan memilih sumber daya Azure Data Share mereka.
  4. Penerima menggunakan Azure Data Share untuk memetakan database atau tabel bersama ke kluster yang sesuai.

Penyedia data - berbagi data

Penyedia data dapat berbagi database lengkap atau tabel tertentu dengan penerima.

Berbagi database lengkap

Ikuti instruksi dalam video untuk membuat akun Azure Data Share, menambahkan himpunan data, dan mengirim undangan. Penyedia data - berbagi data.

Berbagi tabel

Anda dapat menggunakan templat Azure Resource Manager untuk berbagi satu atau beberapa tabel melalui Azure Data Share.

Gunakan langkah-langkah berikut untuk berbagi tabel:

  1. Buat templat dan atur parameter yang sesuai pada himpunan data, pembatasan tabel, dan tentukan penerima undangan. Gunakan informasi dalam tabel berikut untuk membantu Anda mengonfigurasi templat.

    Parameter Deskripsi Contoh
    accountName Nama akun Azure Data Share penyedia.
    lokasi Lokasi semua sumber daya. Pemimpin dan pengikut harus berada di lokasi yang sama.
    shareName Nama berbagi yang akan dibuat pada akun berbagi data.
    recipientEmail Email penerima Azure Data Share.
    databaseName Nama database penyedia.
    databaseResourceId ID sumber daya database penyedia.
    externalTablesToExclude Daftar tabel eksternal yang akan dikecualikan. Untuk mengecualikan semua tabel eksternal, gunakan ["*"]. ["ExternalTable1ToExclude", "ExternalTable2ToExclude"]
    externalTablesToInclude Daftar tabel eksternal yang akan disertakan. Untuk menyertakan semua tabel eksternal yang dimulai dengan 'Log', gunakan ["Logs*"]. ["ExternalTable1ToInclude", "ExternalTable2ToInclude"]
    materializedViewsToExclude Daftar tampilan materialisasi yang akan dikecualikan. Untuk mengecualikan semua tampilan materialisasi, gunakan ["*"]. ["Mv11ToExclude", "Mv22ToExclude"]
    materializedViewsToInclude Daftar tampilan materialisasi yang akan disertakan. Untuk menyertakan semua tampilan materialisasi yang dimulai dengan 'Log', gunakan ["Logs*"]. ["Mv1ToInclude", "Mv2ToInclude"]
    tablesToExclude Daftar tabel yang akan dikecualikan. Untuk mengecualikan semua tabel, gunakan ["*"]. ["table1ToExclude", "table2ToExclude"]
    tablesToInclude Daftar tabel yang akan disertakan. Untuk menyertakan semua tabel, gunakan ["*"]. ["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. Sebarkan templat Azure Resource Manager menggunakan portal Azure atau PowerShell.

    penyebaran templat.

Konsumen data - menerima data

Ikuti instruksi dalam video untuk menerima undangan, membuat akun berbagi data, dan memetakan ke kluster konsumen.

Konsumen Data - Menerima Data.

Konsumen data sekarang dapat masuk ke kluster Azure Data Explorer mereka untuk memberikan izin pengguna ke database bersama dan mengakses data. Data yang diserap menggunakan penyerapan antrean ke dalam sumber kluster Azure Data Explorer akan muncul di kluster target dalam beberapa detik hingga beberapa menit.

Batasan