Odeslání dat do Microsoft Fabric z kanálu zpracovatele dat
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Pomocí cíle Fabric Lakehouse můžete zapisovat data do jezera v Microsoft Fabric z kanálu Azure IoT Data Processor Preview. Cílová fáze zapisuje soubory parquet do jezera, která umožňuje zobrazit data v tabulkách Delta. Cílová fáze před odesláním zpráv do Microsoft Fabric dávková zprávy.
Požadavky
Pokud chcete nakonfigurovat a použít cílovou fázi kanálu Microsoft Fabric, potřebujete:
- Nasazená instance zpracovatele dat.
- Předplatné Microsoft Fabric. Nebo si zaregistrujte bezplatnou zkušební verzi Microsoft Fabric (Preview).
- Jezero v Microsoft Fabric.
Nastavení Microsoft Fabric
Než budete moct zapisovat do Microsoft Fabric z datového kanálu, musíte udělit přístup k jezeru z kanálu. K ověření kanálu můžete použít instanční objekt nebo spravovanou identitu. Výhodou použití spravované identity je, že nemusíte spravovat životní cyklus instančního objektu. Spravovaná identita se automaticky spravuje v Azure a je svázaná s životním cyklem prostředku, ke kterému je přiřazený.
Než nakonfigurujete přístup instančního objektu nebo spravované identity k objektu lakehouse, povolte ověřování instančního objektu.
Vytvoření instančního objektu s tajným klíčem klienta:
Pomocí následujícího příkazu Azure CLI vytvořte instanční objekt.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
Výstup tohoto příkazu zahrnuje příkaz
appId
,displayName
password
, atenant
. Poznamenejte si tyto hodnoty, které se mají použít při konfiguraci přístupu ke cloudovému prostředku, jako je Microsoft Fabric, vytvoření tajného klíče a konfigurace cíle kanálu:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Přidání instančního objektu do pracovního prostoru Microsoft Fabric:
Poznamenejte si ID pracovního prostoru a ID lakehouse. Tyto hodnoty najdete v adrese URL, kterou používáte pro přístup k jezeru:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
V pracovním prostoru vyberte Spravovat přístup:
Vyberte Přidat lidi nebo skupiny:
Vyhledejte instanční objekt podle názvu. Začněte psát, abyste viděli seznam odpovídajících instančních objektů. Vyberte instanční objekt, který jste vytvořili dříve:
Udělte správci instančního objektu přístup k pracovnímu prostoru.
Konfigurace tajného kódu
Aby se cílová fáze připojila k Microsoft Fabric, potřebuje přístup k tajnému kódu, který obsahuje podrobnosti o ověřování. Vytvoření tajného kódu:
Pomocí následujícího příkazu přidejte tajný kód do služby Azure Key Vault, který obsahuje tajný klíč klienta, který jste si poznamenali při vytváření instančního objektu:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Přidejte do clusteru Kubernetes odkaz na tajný kód podle kroků v tématu Správa tajných kódů pro nasazení Azure IoT Operations Preview.
Konfigurace cílové fáze
Konfigurace JSON cílové fáze Fabric Lakehouse definuje podrobnosti fáze. Pokud chcete vytvořit fázi, můžete pracovat s uživatelským rozhraním založeným na formuláři nebo zadat konfiguraci JSON na kartě Upřesnit :
Pole | Typ | Popis | Požaduje se | Výchozí | Příklad |
---|---|---|---|---|---|
Zobrazované jméno | String | Název, který se má zobrazit v uživatelském rozhraní zpracovatele dat. | Ano | - | Azure IoT MQ output |
Popis | String | Uživatelsky přívětivý popis toho, co fáze dělá. | No | Write to topic default/topic1 |
|
Id pracovního prostoru | String | ID pracovního prostoru lakehouse. | Ano | - | |
LakehouseId | String | ID lakehouse Lakehouse. | Ano | - | |
Table | String | Název tabulky, do které se má zapisovat. | Ano | - | |
Cesta ksouboru 1 | Šablona | Cesta k souboru, kam chcete zapsat soubor parquet. | No | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Dávka2 | Batch | Jak dávkot data | No | 60s |
10s |
Ověřování4 | String | Podrobnosti o ověřování pro připojení k Azure Data Exploreru. Service principal nebo Managed identity |
Instanční objekt | Ano | - |
Zkusit znovu | Opakovat | Zásady opakování, které se mají použít. | No | default |
fixed |
Název sloupců > | string | Název sloupce. | Ano | temperature |
|
Typsloupců > 3 | string – výčet | Typ dat uložených ve sloupci pomocí jednoho z primitivních typů Delta. | Ano | integer |
|
Cesta ke sloupcům > | Cesta | Umístění v rámci každého záznamu dat, ze kterého se má číst hodnota sloupce. | No | .{{name}} |
.temperature |
1Cesta k souboru: K zápisu souborů do Microsoft Fabric potřebujete cestu k souboru. Ke konfiguraci cest k souborům můžete použít šablony . Cesty k souborům musí obsahovat následující součásti v libovolném pořadí:
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
Názvy souborů jsou přírůstkové celočíselné hodnoty, jak je uvedeno .fileNumber
Pokud chcete, aby váš systém rozpoznal typ souboru, nezapomeňte zahrnout příponu souboru.
2Dávkování: Dávkování je povinné při zápisu dat do Microsoft Fabric. Cílová fáze dávková zprávy v konfigurovatelném časovém intervalu.
Pokud interval dávkování nenakonfigurujete, fáze jako výchozí použije 60 sekund.
3. Typ: Zpracovatel dat zapisuje do Microsoft Fabric pomocí rozdílového formátu. Zpracovatel dat podporuje všechny rozdílové primitivní datové typy s výjimkou decimal
a timestamp without time zone
.
Chcete-li zajistit správné znázornění všech kalendářních dat a časů v Microsoft Fabric, ujistěte se, že hodnota vlastnosti je platný řetězec RFC 3339 a že datový typ je buď date
nebo timestamp
.
1Ověřování: V současné době cílová fáze podporuje ověřování na základě instančního objektu nebo spravovanou identitu při připojení k Microsoft Fabric.
Ověřování na základě instančního objektu
Pokud chcete nakonfigurovat ověřování na základě instančního objektu, zadejte následující hodnoty. Tyto hodnoty jste si poznamenali při vytváření instančního objektu a přidali jste do clusteru odkaz na tajný kód.
Pole | Popis | Povinní účastníci |
---|---|---|
TenantId | ID tenanta. | Ano |
ClientId | ID aplikace, které jste si poznamenali při vytváření instančního objektu, který má přístup k databázi. | Ano |
Tajný | Odkaz na tajný kód, který jste vytvořili v clusteru. | Ano |
Vzorová konfigurace
Následující příklad JSON ukazuje úplnou konfiguraci cílové fáze Microsoft Fabric Lakehouse, která zapíše celou zprávu do quickstart
tabulky v databázi:
{
"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
}
}
Konfigurace definuje, že:
- Zprávy se dávkují po dobu 5 sekund.
- Pomocí dávkové cesty
.payload
vyhledá data pro sloupce.
Příklad
Následující příklad ukazuje ukázkovou vstupní zprávu do cílové fáze 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"
}