Mengirim data ke Microsoft Fabric dari alur Pemroses Data
Penting
Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.
Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.
Gunakan tujuan Fabric Lakehouse untuk menulis data ke lakehouse di Microsoft Fabric dari alur Pratinjau Prosesor Data Azure IoT. Tahap tujuan menulis file parket ke lakehouse yang memungkinkan Anda melihat data dalam tabel delta. Tahap tujuan membuat batch pesan sebelum mengirimkannya ke Microsoft Fabric.
Prasyarat
Untuk mengonfigurasi dan menggunakan tahap alur tujuan Microsoft Fabric, Anda memerlukan:
- Instans Pemroses Data yang disebarkan.
- Langganan Microsoft Fabric. Atau, daftar untuk Uji Coba Microsoft Fabric (Pratinjau) gratis.
- Sebuah lakehouse di Microsoft Fabric.
Menyiapkan Microsoft Fabric
Sebelum Anda dapat menulis ke Microsoft Fabric dari alur data, Anda perlu memberikan akses ke lakehouse dari alur. Anda dapat menggunakan perwakilan layanan atau identitas terkelola untuk mengautentikasi alur. Keuntungan menggunakan identitas terkelola adalah Anda tidak perlu mengelola siklus hidup perwakilan layanan. Identitas terkelola dikelola secara otomatis oleh Azure dan terkait dengan siklus hidup sumber daya yang ditetapkannya.
Sebelum Anda mengonfigurasi perwakilan layanan atau akses identitas terkelola ke lakehouse, aktifkan autentikasi perwakilan layanan.
Untuk membuat perwakilan layanan dengan rahasia klien:
Gunakan perintah Azure CLI berikut untuk membuat perwakilan layanan.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Output dari perintah ini mencakup
appId
, ,displayName
,password
dantenant
. Catat nilai-nilai ini untuk digunakan saat Anda mengonfigurasi akses ke sumber daya cloud Anda seperti Microsoft Fabric, membuat rahasia, dan mengonfigurasi tujuan alur:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Untuk menambahkan perwakilan layanan ke ruang kerja Microsoft Fabric Anda:
Catat ID ruang kerja dan ID lakehouse Anda. Anda dapat menemukan nilai-nilai ini di URL yang Anda gunakan untuk mengakses lakehouse Anda:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
Di ruang kerja Anda, pilih Kelola akses:
Pilih Tambahkan orang atau grup:
Cari perwakilan layanan Anda berdasarkan nama. Mulai ketik untuk melihat daftar perwakilan layanan yang cocok. Pilih perwakilan layanan yang Anda buat sebelumnya:
Berikan akses admin perwakilan layanan Anda ke ruang kerja.
Mengonfigurasi rahasia Anda
Agar tahap tujuan tersambung ke Microsoft Fabric, perlu akses ke rahasia yang berisi detail autentikasi. Untuk membuat rahasia:
Gunakan perintah berikut untuk menambahkan rahasia ke Azure Key Vault yang berisi rahasia klien yang Anda catat saat membuat perwakilan layanan:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Tambahkan referensi rahasia ke kluster Kubernetes Anda dengan mengikuti langkah-langkah dalam Mengelola rahasia untuk penyebaran Pratinjau Operasi Azure IoT Anda.
Mengonfigurasi tahap tujuan
Konfigurasi JSON tahap tujuan Fabric Lakehouse mendefinisikan detail tahapan. Untuk menulis tahapan, Anda dapat berinteraksi dengan UI berbasis formulir, atau menyediakan konfigurasi JSON pada tab Tingkat Lanjut :
Bidang | Jenis | Deskripsi | Wajib diisi | Default | Contoh |
---|---|---|---|---|---|
Nama tampilan | String | Nama yang akan ditampilkan di UI Pemroses Data. | Ya | - | Azure IoT MQ output |
Deskripsi | String | Deskripsi yang mudah digunakan tentang apa yang dilakukan panggung. | No | Write to topic default/topic1 |
|
WorkspaceId | String | ID ruang kerja lakehouse. | Ya | - | |
LakehouseId | String | Identitas Lakehouse Lakehouse. | Ya | - | |
Tabel | String | Nama tabel yang akan ditulis. | Ya | - | |
Jalur file1 | Templat | Jalur file tempat menulis file parkel. | No | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Batch2 | Batch | Cara membuat batch data. | No | 60s |
10s |
Autentikasi4 | String | Detail autentikasi untuk menyambungkan ke Azure Data Explorer. Service principal atau Managed identity |
Perwakilan layanan | Ya | - |
Coba lagi | Coba lagi | Kebijakan coba lagi untuk digunakan. | No | default |
fixed |
> Nama Kolom | string | Nama kolom. | Ya | temperature |
|
> Kolom Tipe3 | enum string | Jenis data yang disimpan di kolom, menggunakan salah satu jenis primitif Delta. | Ya | integer |
|
> Jalur Kolom | Jalur | Lokasi dalam setiap rekaman data dari tempat membaca nilai kolom. | No | .{{name}} |
.temperature |
1Jalur file: Untuk menulis file ke Microsoft Fabric, Anda memerlukan jalur file. Anda dapat menggunakan templat untuk mengonfigurasi jalur file. Jalur file harus berisi komponen berikut dalam urutan apa pun:
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
Nama file adalah nilai bilangan bulat inkremental seperti yang ditunjukkan oleh fileNumber
. Pastikan untuk menyertakan ekstensi file jika Anda ingin sistem Anda mengenali jenis file.
2Batching: Batching adalah wajib saat Anda menulis data ke Microsoft Fabric. Tahap tujuan membuat batch pesan selama interval waktu yang dapat dikonfigurasi.
Jika Anda tidak mengonfigurasi interval batching, tahap menggunakan 60 detik sebagai default.
3Jenis: Prosesor data menulis ke Microsoft Fabric dengan menggunakan format delta. Prosesor data mendukung semua jenis data primitif delta kecuali dan timestamp without time zone
decimal
.
Untuk memastikan semua tanggal dan waktu diwakili dengan benar di Microsoft Fabric, pastikan nilai properti adalah string RFC 3339 yang valid dan bahwa jenis data adalah date
atau timestamp
.
1Autentikasi: Saat ini, tahap tujuan mendukung autentikasi berbasis perwakilan layanan atau identitas terkelola saat terhubung ke Microsoft Fabric.
Autentikasi berbasis perwakilan layanan
Untuk mengonfigurasi autentikasi berbasis perwakilan layanan, berikan nilai berikut. Anda membuat catatan nilai-nilai ini saat membuat perwakilan layanan dan menambahkan referensi rahasia ke kluster Anda.
Bidang | Deskripsi | Wajib diisi |
---|---|---|
TenantId | ID penyewa. | Ya |
ClientId | ID aplikasi yang Anda catat saat membuat perwakilan layanan yang memiliki akses ke database. | Ya |
Rahasia | Referensi rahasia yang Anda buat di kluster Anda. | Ya |
Konfigurasi sampel
Contoh JSON berikut menunjukkan konfigurasi tahap tujuan microsoft Fabric lakehouse lengkap yang menulis seluruh pesan ke quickstart
tabel dalam database':
{
"displayName": "Fabric Lakehouse - 520f54",
"type": "output/fabric@v1",
"viewOptions": {
"position": {
"x": 0,
"y": 784
}
},
"workspace": "workspaceId",
"lakehouse": "lakehouseId",
"table": "quickstart",
"columns": [
{
"name": "Timestamp",
"type": "timestamp",
"path": ".Timestamp"
},
{
"name": "AssetName",
"type": "string",
"path": ".assetname"
},
{
"name": "Customer",
"type": "string",
"path": ".Customer"
},
{
"name": "Batch",
"type": "integer",
"path": ".Batch"
},
{
"name": "CurrentTemperature",
"type": "float",
"path": ".CurrentTemperature"
},
{
"name": "LastKnownTemperature",
"type": "float",
"path": ".LastKnownTemperature"
},
{
"name": "Pressure",
"type": "float",
"path": ".Pressure"
},
{
"name": "IsSpare",
"type": "boolean",
"path": ".IsSpare"
}
],
"authentication": {
"type": "servicePrincipal",
"tenantId": "tenantId",
"clientId": "clientId",
"clientSecret": "secretReference"
},
"batch": {
"time": "5s",
"path": ".payload"
},
"retry": {
"type": "fixed",
"interval": "20s",
"maxRetries": 4
}
}
Konfigurasi menentukan bahwa:
- Pesan di-batch selama 5 detik.
- Menggunakan jalur
.payload
batch untuk menemukan data untuk kolom.
Contoh
Contoh berikut menunjukkan contoh pesan input ke tahap tujuan Microsoft Fabric lakehouse:
{
"payload": {
"Batch": 102,
"CurrentTemperature": 7109,
"Customer": "Contoso",
"Equipment": "Boiler",
"IsSpare": true,
"LastKnownTemperature": 7109,
"Location": "Seattle",
"Pressure": 7109,
"Timestamp": "2023-08-10T00:54:58.6572007Z",
"assetName": "oven"
},
"qos": 0,
"systemProperties": {
"partitionId": 0,
"partitionKey": "quickstart",
"timestamp": "2023-11-06T23:42:51.004Z"
},
"topic": "quickstart"
}