Inviare dati a Microsoft Fabric da una pipeline del responsabile del trattamento dei dati
Importante
Anteprima delle operazioni di Azure IoT: abilitata da Azure Arc è attualmente disponibile in ANTEPRIMA. Non è consigliabile usare questo software di anteprima negli ambienti di produzione.
Vedere le condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale.
Usare la destinazione Fabric Lakehouse per scrivere dati in una lakehouse in Microsoft Fabric da una pipeline di anteprima del processore di dati IoT di Azure. La fase di destinazione scrive i file parquet in una lakehouse che consente di visualizzare i dati nelle tabelle delta. La fase di destinazione raggruppa i messaggi prima di inviarli a Microsoft Fabric.
Prerequisiti
Per configurare e usare una fase della pipeline di destinazione di Microsoft Fabric, è necessario:
- Istanza distribuita del responsabile del trattamento dei dati.
- Sottoscrizione di Microsoft Fabric. In alternativa, iscriversi per ottenere una capacità di valutazione gratuita di Microsoft Fabric.
- Una lakehouse in Microsoft Fabric.
Configurare Microsoft Fabric
Prima di poter scrivere in Microsoft Fabric da una pipeline di dati, è necessario concedere l'accesso alla lakehouse dalla pipeline. È possibile usare un'entità servizio o un'identità gestita per autenticare la pipeline. Il vantaggio dell'uso di un'identità gestita è che non è necessario gestire il ciclo di vita dell'entità servizio. L'identità gestita viene gestita automaticamente da Azure ed è associata al ciclo di vita della risorsa a cui viene assegnata.
Prima di configurare l'accesso dell'entità servizio o dell'identità gestita a un lakehouse, abilitare l'autenticazione dell'entità servizio.
Per creare un'entità servizio con un segreto client:
Usare il comando seguente dell'interfaccia della riga di comando di Azure per creare un'entità servizio.
az ad sp create-for-rbac --name <YOUR_SP_NAME>
L'output di questo comando include un
appId
oggetto ,displayName
,password
etenant
. Prendere nota di questi valori da usare quando si configura l'accesso alla risorsa cloud, ad esempio Microsoft Fabric, creare un segreto e configurare una destinazione della pipeline:{ "appId": "<app-id>", "displayName": "<name>", "password": "<client-secret>", "tenant": "<tenant-id>" }
Per aggiungere l'entità servizio all'area di lavoro di Microsoft Fabric:
Prendere nota dell'ID dell'area di lavoro e dell'ID lakehouse. È possibile trovare questi valori nell'URL usato per accedere al lakehouse:
https://msit.powerbi.com/groups/<your workspace ID>/lakehouses/<your lakehouse ID>?experience=data-engineering
Nell'area di lavoro selezionare Gestisci accesso:
Selezionare Aggiungi persone o gruppi:
Cercare l'entità servizio in base al nome. Iniziare a digitare per visualizzare un elenco di entità servizio corrispondenti. Selezionare l'entità servizio creata in precedenza:
Concedere all'amministratore dell'entità servizio l'accesso all'area di lavoro.
Configurare il segreto
Affinché la fase di destinazione si connetta a Microsoft Fabric, deve accedere a un segreto che contiene i dettagli di autenticazione. Per creare un segreto:
Usare il comando seguente per aggiungere un segreto all'insieme di credenziali delle chiavi di Azure contenente il segreto client annotato quando è stata creata l'entità servizio:
az keyvault secret set --vault-name <your-key-vault-name> --name AccessFabricSecret --value <client-secret>
Aggiungere il riferimento al segreto al cluster Kubernetes seguendo la procedura descritta in Gestire i segreti per la distribuzione di Azure IoT Operations Preview.
Configurare la fase di destinazione
La configurazione JSON della fase di destinazione Fabric Lakehouse definisce i dettagli della fase. Per creare la fase, è possibile interagire con l'interfaccia utente basata su form o specificare la configurazione JSON nella scheda Avanzate :
Campo | Tipo | Descrizione | Richiesto | Valore predefinito | Esempio |
---|---|---|---|---|---|
Nome visualizzato | String | Nome da visualizzare nell'interfaccia utente del responsabile del trattamento dei dati. | Sì | - | Azure IoT MQ output |
Descrizione | Stringa | Descrizione descrittiva delle operazioni della fase. | No | Write to topic default/topic1 |
|
WorkspaceId | String | ID dell'area di lavoro lakehouse. | Sì | - | |
LakehouseId | String | ID lakehouse Lakehouse. | Sì | - | |
Tabella | String | Nome della tabella in cui scrivere. | Sì | - | |
Percorsofile 1 | Modello | Percorso del file in cui scrivere il file parquet. | No | {{{instanceId}}}/{{{pipelineId}}}/{{{partitionId}}}/{{{YYYY}}}/{{{MM}}}/{{{DD}}}/{{{HH}}}/{{{mm}}}/{{{fileNumber}}} |
|
Batch2 | Batch | Come eseguire il batch dei dati. | No | 60s |
10s |
Autenticazione4 | String | Dettagli di autenticazione per connettersi ad Azure Esplora dati. Service principal oppure Managed identity |
Entità servizio | Sì | - |
Riprova | Riprova | Criterio di ripetizione dei tentativi da usare. | No | default |
fixed |
Nome colonne > | string | Nome della colonna. | Sì | temperature |
|
Colonne > di tipo3 | stringa enumerazione | Tipo di dati contenuti nella colonna, utilizzando uno dei tipi primitivi Delta. | Sì | integer |
|
Percorso colonne > | Percorso | Posizione all'interno di ogni record dei dati da cui leggere il valore della colonna. | No | .{{name}} |
.temperature |
1Percorso file: per scrivere file in Microsoft Fabric, è necessario un percorso di file. È possibile usare i modelli per configurare i percorsi dei file. I percorsi di file devono contenere i componenti seguenti in qualsiasi ordine:
instanceId
pipelineId
partitionId
YYYY
MM
DD
HH
mm
fileNumber
I nomi dei file sono valori integer incrementali, come indicato da fileNumber
. Assicurarsi di includere un'estensione di file se si vuole che il sistema riconosca il tipo di file.
2Invio in batch: l'invio in batch è obbligatorio quando si scrivono dati in Microsoft Fabric. La fase di destinazione raggruppa i messaggi in un intervallo di tempo configurabile.
Se non si configura un intervallo di invio in batch, la fase usa 60 secondi come impostazione predefinita.
3Tipo: il responsabile del trattamento dei dati scrive in Microsoft Fabric usando il formato differenziale. Il responsabile del trattamento dei dati supporta tutti i tipi di dati primitivi differenziali ad eccezione di decimal
e timestamp without time zone
.
Per garantire che tutte le date e le ore siano rappresentate correttamente in Microsoft Fabric, assicurarsi che il valore della proprietà sia una stringa RFC 3339 valida e che il tipo di dati sia date
o timestamp
.
1Autenticazione: attualmente, la fase di destinazione supporta l'autenticazione basata su entità servizio o l'identità gestita quando si connette a Microsoft Fabric.
Autenticazione basata su entità servizio
Per configurare l'autenticazione basata sull'entità servizio, specificare i valori seguenti. Dopo aver creato l'entità servizio, è stato preso nota di questi valori e è stato aggiunto il riferimento al segreto al cluster.
Campo | Descrizione | Richiesto |
---|---|---|
TenantId | ID tenant. | Sì |
ClientId | ID app annotato quando è stata creata l'entità servizio che ha accesso al database. | Sì |
Segreto | Riferimento al segreto creato nel cluster. | Sì |
Configurazione di esempio
L'esempio JSON seguente mostra una configurazione completa della fase di destinazione di Microsoft Fabric lakehouse che scrive l'intero messaggio nella quickstart
tabella nel 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
}
}
La configurazione definisce che:
- I messaggi vengono inseriti in batch per 5 secondi.
- Usa il percorso
.payload
batch per individuare i dati per le colonne.
Esempio
L'esempio seguente mostra un messaggio di input di esempio nella fase di destinazione 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"
}
Contenuto correlato
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per