Gegevens verzenden naar Microsoft Fabric vanuit een gegevensprocessorpijplijn
Belangrijk
Azure IoT Operations Preview: ingeschakeld door Azure Arc is momenteel in PREVIEW. Gebruik deze preview-software niet in productieomgevingen.
U moet een nieuwe Installatie van Azure IoT Operations implementeren wanneer er een algemeen beschikbare release beschikbaar wordt gesteld. U kunt geen preview-installatie upgraden.
Raadpleeg de Aanvullende voorwaarden voor Microsoft Azure-previews voor juridische voorwaarden die van toepassing zijn op Azure-functies die in bèta of preview zijn of die anders nog niet algemeen beschikbaar zijn.
Gebruik de bestemming Fabric Lakehouse om gegevens te schrijven naar een lakehouse in Microsoft Fabric vanuit een pijplijn voor een gegevensprocessor. In de doelfase worden parquet-bestanden naar een lakehouse geschreven waarmee u de gegevens in deltatabellen kunt bekijken. In de doelfase worden berichten in batches geplaatst voordat ze naar Microsoft Fabric worden verzonden.
Vereisten
Als u een doelpijplijnfase van Microsoft Fabric wilt configureren en gebruiken, hebt u het volgende nodig:
- Een geïmplementeerd exemplaar van de gegevensverwerker.
- Een Microsoft Fabric-abonnement. U kunt zich ook aanmelden voor een gratis proefversie van Microsoft Fabric.
- Een lakehouse in Microsoft Fabric.
Microsoft Fabric instellen
Voordat u vanuit een gegevenspijplijn naar Microsoft Fabric kunt schrijven, moet u toegang verlenen tot lakehouse vanuit de pijplijn. U kunt een service-principal of een beheerde identiteit gebruiken om de pijplijn te verifiëren. Het voordeel van het gebruik van een beheerde identiteit is dat u de levenscyclus van de service-principal niet hoeft te beheren. De beheerde identiteit wordt automatisch beheerd door Azure en is gekoppeld aan de levenscyclus van de resource waaraan deze is toegewezen.
Voordat u de toegang tot een service-principal of beheerde identiteit tot een Lakehouse configureert, moet u verificatie van de service-principal inschakelen.
Een service-principal maken met een clientgeheim:
Gebruik de volgende Azure CLI-opdracht om een service-principal te maken.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
De uitvoer van deze opdracht bevat een
appId
,displayName
,password
entenant
. Noteer deze waarden die u wilt gebruiken wanneer u de toegang tot uw cloudresource configureert, zoals Microsoft Fabric, een geheim maakt en een pijplijnbestemming configureert:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
De service-principal toevoegen aan uw Microsoft Fabric-werkruimte:
Noteer uw werkruimte-id en lakehouse-id. U vindt deze waarden in de URL die u gebruikt voor toegang tot uw lakehouse:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
Selecteer Toegang beheren in uw werkruimte:
Selecteer Personen of groepen toevoegen:
Zoek uw service-principal op naam. Begin te typen om een lijst met overeenkomende service-principals weer te geven. Selecteer de service-principal die u eerder hebt gemaakt:
Verdeel de beheerder van de service-principal toegang tot de werkruimte.
Uw geheim configureren
Voor de doelfase om verbinding te kunnen maken met Microsoft Fabric, moet deze toegang hebben tot een geheim dat de verificatiegegevens bevat. Een geheim maken:
Gebruik de volgende opdracht om een geheim toe te voegen aan uw Azure Key Vault die het clientgeheim bevat dat u hebt genoteerd toen u de service-principal maakte:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Voeg de geheime verwijzing toe aan uw Kubernetes-cluster door de stappen in Geheimen beheren voor uw Azure IoT Operations Preview-implementatie te volgen.
De doelfase configureren
De JSON-configuratie van de fabric Lakehouse-doelfase definieert de details van de fase. Als u de fase wilt ontwerpen, kunt u communiceren met de gebruikersinterface op basis van formulieren of de JSON-configuratie opgeven op het tabblad Geavanceerd :
Veld | Type | Beschrijving | Vereist | Standaardinstelling | Opmerking |
---|---|---|---|---|---|
Weergavenaam | String | Een naam die moet worden weergegeven in de gebruikersinterface van de gegevensverwerker. | Ja | - | MQTT broker output |
Beschrijving | String | Een gebruiksvriendelijke beschrijving van wat de fase doet. | Nee | Write to topic default/topic1 |
|
WorkspaceId | String | De werkruimte-id van Lakehouse. | Ja | - | |
LakehouseId | String | De lakehouse Lakehouse ID. | Ja | - | |
Tabel | String | De naam van de tabel waarnaar moet worden geschreven. | Ja | - | |
Bestandspad1 | Sjabloon | Het bestandspad waarnaar het Parquet-bestand moet worden geschreven. | Nee | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Batch2 | Batch | Gegevens batcheren. | Nee | 60s |
10s |
Verificatie4 | String | De verificatiegegevens om verbinding te maken met Azure Data Explorer. Service principal of Managed identity |
Service-principal | Ja | - |
Opnieuw proberen | Opnieuw proberen | Het beleid voor opnieuw proberen dat moet worden gebruikt. | Nee | default |
fixed |
Kolomnaam > | tekenreeks | De naam van de kolom. | Ja | temperature |
|
Kolomtype >3 | enum van tekenreeks | Het type gegevens dat in de kolom is opgeslagen, met behulp van een van de primitieve typen Delta. | Ja | integer |
|
Pad naar kolommen > | Pad | De locatie binnen elke record van de gegevens waaruit de waarde van de kolom moet worden gelezen. | Nee | .{{name}} |
.temperature |
1Bestandspad: Als u bestanden naar Microsoft Fabric wilt schrijven, hebt u een bestandspad nodig. U kunt sjablonen gebruiken om bestandspaden te configureren. Bestandspaden moeten de volgende onderdelen in elke volgorde bevatten:
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
De bestandsnamen zijn incrementele gehele getallen, zoals aangegeven door fileNumber
. Zorg ervoor dat u een bestandsextensie opneemt als u wilt dat uw systeem het bestandstype herkent.
2Batching: Batching is verplicht wanneer u gegevens naar Microsoft Fabric schrijft. De doelfase batcht berichten over een configureerbaar tijdsinterval.
Als u geen batchinterval configureert, gebruikt de fase 60 seconden als de standaardinstelling.
3Type: De gegevensverwerker schrijft naar Microsoft Fabric met behulp van de delta-indeling. De gegevensprocessor ondersteunt alle primitieve deltagegevenstypen , met uitzondering van decimal
en timestamp without time zone
.
Als u ervoor wilt zorgen dat alle datums en tijden correct worden weergegeven in Microsoft Fabric, moet u ervoor zorgen dat de waarde van de eigenschap een geldige RFC 3339-tekenreeks is en of het gegevenstype een date
of timestamp
.
1Verificatie: Momenteel ondersteunt de doelfase verificatie op basis van service-principal of beheerde identiteit wanneer deze verbinding maakt met Microsoft Fabric.
Verificatie op basis van service-principal
Als u verificatie op basis van een service-principal wilt configureren, geeft u de volgende waarden op. U hebt deze waarden genoteerd toen u de service-principal maakte en de geheime verwijzing naar uw cluster hebt toegevoegd.
Veld | Beschrijving | Vereist |
---|---|---|
TenantId | De tenant-id. | Ja |
ClientId | De app-id die u hebt genoteerd toen u de service-principal hebt gemaakt die toegang heeft tot de database. | Ja |
Geheim | De geheime verwijzing die u in uw cluster hebt gemaakt. | Ja |
Voorbeeldconfiguratie
In het volgende JSON-voorbeeld ziet u een volledige configuratie van de doelfase van Microsoft Fabric Lakehouse waarmee het hele bericht naar de quickstart
tabel in de database wordt geschreven':
{
"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
}
}
De configuratie definieert dat:
- Berichten worden vijf seconden in batches geplaatst.
- Gebruikt het batchpad
.payload
om de gegevens voor de kolommen te zoeken.
Opmerking
In het volgende voorbeeld ziet u een voorbeeld van een invoerbericht voor de doelfase van 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"
}