Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Azure Data Factory (ADF) adalah layanan integrasi data berbasis cloud yang dapat Anda gunakan untuk melakukan kombinasi aktivitas pada data. Gunakan ADF untuk membuat alur kerja berbasis data untuk mengatur dan mengotomatiskan pergerakan data dan transformasi data. Aktivitas Perintah Azure Data Explorer di Azure Data Factory memungkinkan Anda menjalankan perintah manajemen Azure Data Explorer dalam alur kerja ADF. Artikel ini memperlihatkan kepada Anda cara membuat alur dengan aktivitas pencarian dan aktivitas ForEach yang berisi aktivitas perintah Azure Data Explorer.
Prasyarat
- Langganan Azure. Membuat akun Azure gratis.
- Kluster dan database Azure Data Explorer. Membuat kluster dan database.
- Sumber data.
- Pabrik pengolahan data. Membuat data factory.
Membuat alur baru
Pilih alat pensil Penulis.
Buat alur baru dengan memilih + lalu pilih Alur dari menu dropdown.
Membuat aktivitas Pencarian
Aktivitas pencarian dapat mengambil himpunan data dari sumber data yang didukung Azure Data Factory. Anda dapat menggunakan output dari aktivitas Pencarian di ForEach atau aktivitas lainnya.
Di panel Aktivitas , di bawah Umum, pilih aktivitas Pencarian . Seret dan letakkan ke kanvas utama di sebelah kanan.
Kini kanvas berisi aktivitas Pencarian yang Anda buat. Gunakan tab di bawah kanvas untuk mengubah parameter yang relevan. Secara umum, ganti nama aktivitas.
Petunjuk / Saran
Pilih area kanvas kosong untuk melihat properti pipelin. Gunakan tab Umum untuk mengganti nama alur. Alur diberi nama pipeline-4-docs.
Membuat himpunan data Azure Data Explorer dalam aktivitas pencarian
Di Pengaturan, pilih himpunan data Sumber Azure Data Explorer yang telah dibuat sebelumnya, atau pilih + Baru untuk membuat himpunan data baru.
Pilih dataset Azure Data Explorer (Kusto) dari jendela Dataset baru. Pilih Lanjutkan untuk menambahkan himpunan data baru.
Parameter himpunan data Azure Data Explorer baru terlihat di Pengaturan. Untuk memperbarui parameter, pilih Edit.
Tab baru AzureDataExplorerTable terbuka di kanvas utama.
- Pilih Umum dan edit nama himpunan data.
- Pilih Koneksi untuk mengedit properti himpunan data.
- Pilih layanan Tertaut dari menu dropdown, atau pilih + Baru untuk membuat layanan tertaut baru.
Saat membuat layanan tertaut baru, halaman Layanan Tertaut Baru (Azure Data Explorer) terbuka:
- Pilih Nama untuk layanan tertaut Azure Data Explorer. Tambahkan Deskripsi jika diperlukan.
- Di Sambungkan melalui runtime integrasi, ubah pengaturan saat ini jika diperlukan.
- Dalam Metode pemilihan akun pilih kluster Anda menggunakan salah satu dari dua metode:
- Pilih tombol radio Dari langganan Azure dan pilih akun Azure Anda. Kemudian, pilih Kluster Anda. Dropdown hanya mencantumkan kluster milik Anda.
- Sebagai gantinya, pilih tombol radio Masukkan secara manual dan masukkan Endpoint (URL kluster) Anda.
- Tentukan Penyewa.
- Masukkan ID Service principal. Temukan nilai ini di portal Azure di bawah Pendaftaran Aplikasi>Ringkasan>ID Aplikasi (klien). Prinsipal harus memiliki izin yang memadai, sesuai dengan tingkat izin yang diperlukan oleh perintah yang digunakan.
- Pilih tombol Kunci Perwakilan Layanan dan masukkan Kunci Perwakilan Layanan.
- Pilih Database Anda dari menu dropdown. Atau, pilih kotak centang Edit dan masukkan nama database Anda.
- Pilih Uji Koneksi untuk menguji koneksi layanan tertaut yang Anda buat. Jika Anda bisa menyambungkan ke penyetelan, tanda centang hijau Koneksi berhasil muncul.
- Pilih Selesai untuk menyelesaikan pembuatan layanan tertaut.
Setelah Anda menyiapkan layanan tertaut, Dalam AzureDataExplorerTable>Koneksi, tambahkan nama Table. Pilih Pratinjau data, untuk memastikan bahwa data disajikan dengan benar.
Himpunan data Anda sudah siap, dan Anda dapat terus mengedit alur Anda.
Menambahkan kueri ke aktivitas pencarian Anda
Di
alur-4-dokumen Pengaturan , tambahkan kueri di kotak teksKueri , misalnya:ClusterQueries | where Database !in ("KustoMonitoringPersistentDatabase", "$systemdb") | summarize count() by DatabaseUbah properti Batas Waktu Kueri atau Tidak Ada Pemotongan dan Hanya Baris Pertama, sesuai kebutuhan. Dalam alur ini, pertahankan batas waktu Kueri default dan kosongkan kotak centang.
Membuat aktivitas For-Each
Gunakan aktivitas For-Each untuk menelusuri koleksi dan menjalankan aktivitas tertentu dalam sebuah perulangan.
Tambahkan aktivitas For-Each ke alur. Aktivitas ini memproses data yang dikembalikan dari aktivitas Pencarian.
Di panel Aktivitas, di bawah Iterasi & Kondisi, pilih aktivitas ForEach. Seret dan letakkan ke kanvas.
Gambar garis antara output aktivitas Pencarian dan input aktivitas ForEach di kanvas untuk menghubungkannya.
Pilih aktivitas ForEach di kanvas. Di tab Pengaturan:
Centang kotak Centang berurutan untuk pemrosesan berurutan hasil Pencarian, atau biarkan tidak dicentang untuk membuat pemrosesan paralel.
Atur Hitungan Batch.
Di Item, berikan referensi berikut ke nilai output: @activity('Lookup1').output.value
Membuat aktivitas Perintah Azure Data Explorer dalam aktivitas ForEach
Klik dua kali aktivitas ForEach di kanvas untuk membukanya di kanvas baru. Tentukan aktivitas dalam ForEach.
Di panel Aktivitas, di bawah Azure Data Explorer, pilih Azure Data Explorer Command dan seret dan letakkan ke kanvas.
Di tab Koneksi , pilih Layanan Tertaut yang sama dengan yang sebelumnya Anda buat.
Di tab Perintah , berikan perintah berikut ini:
.export async compressed into csv h"http://<storageName>.blob.core.windows.net/data/ClusterQueries;<storageKey>" with ( sizeLimit=100000, namePrefix=export ) <| ClusterQueries | where Database == "@{item().Database}"Perintah menginstruksikan Azure Data Explorer untuk mengekspor hasil kueri tertentu ke dalam penyimpanan blob, dalam format terkompresi. Ini berjalan secara asinkron (menggunakan pengubah asinkron). Kueri mengakses kolom database dari setiap baris dalam hasil aktivitas Lookup. Anda dapat membiarkan batas waktu Perintah tidak berubah.
Catatan
Aktivitas perintah memiliki batas berikut:
- Batas ukuran: Ukuran respons 1 MB
- Batas waktu: 20 menit (default), 1 jam (maksimum).
- Jika diperlukan, Anda dapat menambahkan kueri ke hasil menggunakan AdminThenQuery, untuk mengurangi ukuran atau waktu yang dihasilkan.
Sekarang alur sudah siap. Anda dapat kembali ke tampilan alur utama dengan memilih nama alur.
Pilih Debug sebelum menerbitkan alur. Anda dapat memantau kemajuan alur di tab Output .
Pilih Terbitkan Semua lalu Tambahkan pemicu untuk menjalankan alur.
Hasil perintah manajemen
Bagian berikut menjelaskan struktur output aktivitas perintah. Aktivitas berikutnya dalam alur dapat menggunakan output ini.
Nilai yang dikembalikan dari perintah manajemen non-asinkron
Dalam perintah manajemen non-asinkron, struktur nilai yang dikembalikan mirip dengan struktur hasil aktivitas Pencarian. Bidang count memperlihatkan jumlah rekaman yang dikembalikan. Bidang value array tetap berisi daftar rekaman.
{
"count": "2",
"value": [
{
"ExtentId": "1b9977fe-e6cf-4cda-84f3-4a7c61f28ecd",
"ExtentSize": 1214.0,
"CompressedSize": 520.0
},
{
"ExtentId": "b897f5a3-62b0-441d-95ca-bf7a88952974",
"ExtentSize": 1114.0,
"CompressedSize": 504.0
}
]
}
Nilai yang dikembalikan dari perintah manajemen asinkron
Dalam perintah manajemen asinkron, aktivitas secara berkala memeriksa tabel operasi di belakang layar, hingga operasi asinkron selesai atau waktu habis. Oleh karena itu, nilai yang dikembalikan berisi hasil dari .show operations OperationId untuk properti OperationId yang diberikan. Periksa nilai properti Status dan Status , untuk memverifikasi keberhasilan penyelesaian operasi.
{
"count": "1",
"value": [
{
"OperationId": "910deeae-dd79-44a4-a3a2-087a90d4bb42",
"Operation": "TableSetOrAppend",
"NodeId": "",
"StartedOn": "2019-06-23T10:12:44.0371419Z",
"LastUpdatedOn": "2019-06-23T10:12:46.7871468Z",
"Duration": "00:00:02.7500049",
"State": "Completed",
"Status": "",
"RootActivityId": "f7c5aaaf-197b-4593-8ba0-e864c94c3c6f",
"ShouldRetry": false,
"Database": "MyDatabase",
"Principal": "<some principal id>",
"User": "<some User id>"
}
]
}