Importante
Questa pagina include istruzioni sulla gestione dei componenti di Operazioni di Azure IoT tramite i manifesti di distribuzione Kubernetes, disponibile in anteprima. Questa funzionalità è fornita con diverse limitazioni e non deve essere usata per carichi di lavoro 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.
Per inviare dati a Esplora dati di Azure in Operazioni di Azure IoT, è possibile configurare un endpoint del flusso di dati. Questa configurazione consente di specificare l'endpoint di destinazione, il metodo di autenticazione, la tabella e altre impostazioni.
Prerequisiti
Creare un database di Esplora dati di Azure
Nel portale di Azure, creare un database nel cluster completo di Esplora dati di Azure.
Creare una tabella nel database per i dati. È possibile usare il portale di Azure e creare colonne manualmente oppure usare KQL nella scheda query. Ad esempio, per creare una tabella per i dati del termostato campione, eseguire il comando seguente:
.create table thermostat (
externalAssetId: string,
assetName: string,
CurrentTemperature: real,
Pressure: real,
MqttTopic: string,
Timestamp: datetime
)
Abilitare l'inserimento in streaming nella tabella e nel database. Nella scheda query, eseguire il comando seguente sostituendo <DATABASE_NAME>
con il nome del database:
.alter database ['<DATABASE_NAME>'] policy streamingingestion enable
In alternativa, abilitare l'inserimento in streaming nell'intero cluster. Vedere Abilitare l'inserimento in streaming in un cluster esistente.
Assegnare l'autorizzazione all'identità gestita
Per configurare un endpoint del flusso di dati per Esplora dati di Azure, è consigliabile usare un'identità gestita assegnata dall'utente o assegnata dal sistema. Questo approccio è sicuro ed elimina la necessità di gestire manualmente le credenziali.
Dopo aver creato il database di Esplora dati di Azure, è necessario assegnare un ruolo all'identità gestita di Operazioni di Azure IoT che conceda l'autorizzazione per la scrittura nel database.
Se si usa l'identità gestita assegnata dal sistema, nel portale di Azure passare all'istanza di Operazioni di Azure IoT e selezionare Panoramica. Copiare il nome dell'estensione elencata dopo l'estensione di Operazioni di Azure IoT Arc. Ad esempio, azure-iot-operations-xxxx7. L'identità gestita assegnata dal sistema può essere trovata usando lo stesso nome dell'estensione di Operazioni di Azure IoT Arc.
- Nel database di Esplora dati di Azure (non cluster), in Panoramica, selezionare Autorizzazioni>Aggiungi, e quindi selezionare Ingestor come ruolo. In questo modo l'identità gestita dispone delle autorizzazioni necessarie per scrivere nel database di Esplora dati di Azure. Per altre informazioni, vedere l'articolo relativo al controllo degli accessi in base al ruolo.
- Cercare il nome dell'identità gestita assegnata dall'utente configurata per connessioni cloud o l'identità gestita assegnata dal sistema. Ad esempio, azure-iot-operations-xxxx7.
- Quindi, selezionare Seleziona.
Creare un endpoint del flusso di dati per Esplora dati di Azure
Nell'esperienza operativa, selezionare la scheda Endpoint del flusso di dati.
In Crea nuovo endpoint del flusso di dati, selezionare Esplora dati di Azure>Nuovo.
Immettere le impostazioni seguenti per l'endpoint:
Impostazione |
Descrizione |
Nome |
Nome dell'endpoint del flusso di dati. |
Padrone di casa / Ospitante / Conduttore (depending on the intended context) |
Nome host dell'endpoint di Esplora dati di Azure nel formato <cluster>.<region>.kusto.windows.net . |
Metodo di autenticazione |
Metodo utilizzato per l'autenticazione. Scegliere Identità gestita assegnata dal sistema o Identità gestita assegnata dall'utente. |
ID client |
ID client dell'identità gestita assegnata dall'utente. Obbligatorio se si usa l'identità gestita assegnata dall'utente. |
ID tenant |
ID tenant dell'identità gestita assegnata dall'utente. Obbligatorio se si usa l'identità gestita assegnata dall'utente. |
Selezionare Applica per effettuare il provisioning dell'endpoint.
Creare o sostituire
Usare il comando az iot ops dataflow endpoint create adls per creare o sostituire un endpoint del flusso di dati di Azure Data Explorer.
az iot ops dataflow endpoint create adx --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --host <ClusterName> --database <DatabaseName>
Il --host
parametro è il nome host del cluster di Esplora dati di Azure nel formato <cluster>.<region>.kusto.windows.net
. Il --database
parametro è il nome del database di Esplora dati di Azure.
Ecco un comando di esempio per creare o sostituire un endpoint del flusso di dati di Esplora dati di Azure denominato adx-endpoint:
az iot ops dataflow endpoint create adx --resource-group myResourceGroup --instance myAioInstance --name adx-endpoint --host myadxcluster.eastus.kusto.windows.net --database mydatabase
Creare o modificare
Usare il comando az iot ops dataflow endpoint apply per creare o modificare un endpoint del flusso di dati di Azure Data Explorer.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Il --config-file
parametro è il percorso e il nome file di un file di configurazione JSON contenente le proprietà della risorsa.
In questo esempio si supponga che un file di configurazione denominato adx-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataExplorer",
"dataExplorerSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<cluster>.<region>.kusto.windows.net",
"database": "<DatabaseName>"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Explorer denominato adx-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adx-endpoint --config-file ~/adx-endpoint.json
Creare un file Bicep .bicep
con il contenuto seguente.
param aioInstanceName string = '<AIO_INSTANCE_NAME>'
param customLocationName string = '<CUSTOM_LOCATION_NAME>'
param endpointName string = '<ENDPOINT_NAME>'
param hostName string = 'https://<cluster>.<region>.kusto.windows.net'
param databaseName string = '<DATABASE_NAME>'
resource aioInstance 'Microsoft.IoTOperations/instances@2024-11-01' existing = {
name: aioInstanceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource adxEndpoint 'Microsoft.IoTOperations/instances/dataflowEndpoints@2024-11-01' = {
parent: aioInstance
name: endpointName
extendedLocation: {
name: customLocation.id
type: 'CustomLocation'
}
properties: {
endpointType: 'DataExplorer'
dataExplorerSettings: {
host: hostName
database: databaseName
authentication: {
// See available authentication methods section for method types
// method: <METHOD_TYPE>
}
}
}
}
Quindi, distribuire tramite l'interfaccia della riga di comando di Azure.
az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep
Creare un file manifesto Kubernetes .yaml
con il contenuto seguente.
apiVersion: connectivity.iotoperations.azure.com/v1
kind: DataflowEndpoint
metadata:
name: <ENDPOINT_NAME>
namespace: azure-iot-operations
spec:
endpointType: DataExplorer
dataExplorerSettings:
host: 'https://<cluster>.<region>.kusto.windows.net'
database: <DATABASE_NAME>
authentication:
# See available authentication methods section for method types
# method: <METHOD_TYPE>
Quindi, applicare il file manifesto al cluster Kubernetes.
kubectl apply -f <FILE>.yaml
Metodi di autenticazione disponibili
Per gli endpoint di Esplora dati di Azure, sono disponibili i metodi di autenticazione seguenti.
Identità gestita assegnata dal sistema
Prima di configurare l'endpoint del flusso di dati, assegnare un ruolo all'identità gestita di Operazioni di Azure IoT che concede l'autorizzazione per la scrittura nel database di Esplora dati di Azure:
- Nel portale di Azure, passare all'istanza di Operazioni di Azure IoT e selezionare Panoramica.
- Copiare il nome dell'estensione elencata dopo l'estensione di Operazioni di Azure IoT Arc. Ad esempio, azure-iot-operations-xxxx7.
- Passare al database di Esplora dati di Azure (non cluster); in Panoramica, selezionare > e quindi selezionare un ruolo appropriato.
- Cercare il nome dell'identità gestita assegnata dal sistema. Ad esempio, azure-iot-operations-xxxx7.
- Scegliere Seleziona.
Quindi, configurare l'endpoint del flusso di dati con le impostazioni di identità gestite assegnate dal sistema.
Nella pagina impostazioni dell'endpoint del flusso di dati dell'esperienza operativa, selezionare la scheda Basic, quindi scegliere Metodo di autenticazione>Identità gestita assegnata dal sistema.
Creare o sostituire
Usare il comando az iot ops dataflow endpoint create adls per creare o sostituire un endpoint del flusso di dati di Azure Data Explorer.
az iot ops dataflow endpoint create adx --auth-type SystemAssignedManagedIdentity --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --host <ClusterName> --database <DatabaseName>
Il --host
parametro è il nome host del cluster di Esplora dati di Azure nel formato <cluster>.<region>.kusto.windows.net
. Il --database
parametro è il nome del database di Esplora dati di Azure.
Ecco un comando di esempio per creare o sostituire un endpoint del flusso di dati di Esplora dati di Azure denominato adx-endpoint:
az iot ops dataflow endpoint create adx --auth-type SystemAssignedManagedIdentity --resource-group myResourceGroup --instance myAioInstance --name adx-endpoint --host myadxcluster.eastus.kusto.windows.net --database mydatabase
Creare o modificare
Usare il comando az iot ops dataflow endpoint apply per creare o modificare un endpoint del flusso di dati di Azure Data Explorer.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Il --config-file
parametro è il percorso e il nome file di un file di configurazione JSON contenente le proprietà della risorsa.
In questo esempio si supponga che un file di configurazione denominato adx-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataExplorer",
"dataExplorerSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<cluster>.<region>.kusto.windows.net",
"database": "<DatabaseName>"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Explorer denominato adx-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adx-endpoint --config-file ~/adx-endpoint.json
dataExplorerSettings: {
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {}
}
}
dataExplorerSettings:
authentication:
method: SystemAssignedManagedIdentity
systemAssignedManagedIdentitySettings: {}
Se si necessita di eseguire l'override del gruppo di destinatari dell'identità gestita assegnata dal sistema, è possibile specificare l'impostazione audience
.
Nella maggior parte dei casi, non è necessario specificare altre impostazioni. Questa configurazione crea un'identità gestita con il gruppo di destinatari predefinito https://api.kusto.windows.net
.
Creare o sostituire
Usare il comando az iot ops dataflow endpoint create adls per creare o sostituire un endpoint del flusso di dati di Azure Data Explorer con un'identità gestita assegnata dal sistema.
az iot ops dataflow endpoint create adx --auth-type SystemAssignedManagedIdentity --audience https://<cluster>.<region>.kusto.windows.net --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --host <cluster>.<region>.kusto.windows.net --database <DatabaseName>
Il --host
parametro è il nome host del cluster di Esplora dati di Azure nel formato <cluster>.<region>.kusto.windows.net
. Il --database
parametro è il nome del database di Esplora dati di Azure. Il parametro --audience
è l'URL del gruppo di destinatari per l'identità gestita per l'autenticazione in Esplora dati di Azure.
Ecco un comando di esempio per creare o sostituire un endpoint del flusso di dati di Esplora dati di Azure denominato adx-endpoint
:
az iot ops dataflow endpoint create adx --auth-type SystemAssignedManagedIdentity --audience https://myadxcluster.eastus.kusto.windows.net --resource-group myResourceGroup --instance myAioInstance --name adx-endpoint --host myadxcluster.eastus.kusto.windows.net --database mydatabase
Creare o modificare
Usare il comando az iot ops dataflow endpoint apply per creare o modificare un endpoint del flusso di dati di Azure Data Explorer con identità gestita assegnata dal sistema.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Il --config-file
parametro è il percorso e il nome file di un file di configurazione JSON contenente le proprietà della risorsa.
In questo esempio si supponga che un file di configurazione denominato adx-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataExplorer",
"dataExplorerSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {
"audience": "https://<cluster>.<region>.kusto.windows.net"
}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<cluster>.<region>.kusto.windows.net",
"database": "<DatabaseName>"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso dati di Azure Data Explorer denominato adx-endpoint
:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adx-endpoint --config-file ~/adx-endpoint.json
dataExplorerSettings: {
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {
audience: 'https://<AUDIENCE_URL>'
}
}
}
dataExplorerSettings:
authentication:
method: SystemAssignedManagedIdentity
systemAssignedManagedIdentitySettings:
audience: https://<AUDIENCE_URL>
Identità gestita assegnata dall'utente
Per usare l'identità gestita assegnata dall'utente per l'autenticazione, è prima necessario distribuire Operazioni di Azure IoT con impostazioni di sicure abilitate. È quindi necessario configurare un'identità gestita assegnata dall'utente per connessioni cloud. Per altre informazioni, vedere Abilitare le impostazioni sicure nella distribuzione di Operazioni di Azure IoT.
Prima di configurare l'endpoint del flusso di dati, assegnare un ruolo all'identità gestita assegnata dall'utente che conceda l'autorizzazione per la scrittura nel database di Esplora dati di Azure:
- Nel portale di Azure, passare al database di Esplora dati di Azure (non cluster); in Panoramica, selezionare > e quindi selezionare un ruolo appropriato.
- Cercare il nome dell'identità gestita assegnata dall'utente.
- Scegliere Seleziona.
Quindi, configurare l'endpoint del flusso di dati con le impostazioni di identità gestite assegnate dall'utente.
Nella pagina impostazioni dell'endpoint del flusso di dati dell'esperienza operativa, selezionare la scheda Basic, quindi scegliere Metodo di autenticazione>Identità gestita assegnata dall'utente.
Immettere l'ID client e l'ID tenant dell'identità gestita assegnata dall'utente nei campi appropriati.
Creare o sostituire
Usare il comando az iot ops dataflow endpoint create adls per creare o sostituire un endpoint del flusso di dati di Azure Data Explorer con l'identità gestita assegnata dall'utente stesso.
az iot ops dataflow endpoint create adx --auth-type UserAssignedManagedIdentity --client-id <ClientId> --tenant-id <TenantId> --scope <Scope> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --host <cluster>.<region>.kusto.windows.net --database <DatabaseName>
Il --host
parametro è il nome host del cluster di Esplora dati di Azure nel formato <cluster>.<region>.kusto.windows.net
. Il --database
parametro è il nome del database di Esplora dati di Azure. Il --auth-type
parametro specifica il metodo di autenticazione, in UserAssignedManagedIdentity
questo caso. I parametri --client-id
, --tenant-id
e --scope
specificano rispettivamente l'ID client dell'identità gestita assegnata dall'utente, l'ID tenant e l'ambito.
Ecco un comando di esempio per creare o sostituire un endpoint del flusso di dati di Esplora dati di Azure denominato adx-endpoint
:
az iot ops dataflow endpoint create adx --auth-type UserAssignedManagedIdentity --client-id ClientId --tenant-id TenantId --scope https://api.kusto.windows.net/.default --resource-group myResourceGroup --instance myAioInstance --name adx-endpoint --host myadxcluster.eastus.kusto.windows.net --database mydatabase
Creare o modificare
Usare il comando az iot ops dataflow endpoint apply per creare o modificare un endpoint di flusso di dati in Azure Data Explorer utilizzando l'identità gestita assegnata dall'utente.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Il --config-file
parametro è il percorso e il nome file di un file di configurazione JSON contenente le proprietà della risorsa.
In questo esempio si supponga che un file di configurazione denominato adx-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataExplorer",
"dataExplorerSettings": {
"authentication": {
"method": "UserAssignedManagedIdentity",
"userAssignedManagedIdentitySettings": {
"clientId": "<ClientId>",
"scope": "<Scope>",
"tenantId": "<TenantId>"
}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<cluster>.<region>.kusto.windows.net",
"database": "<DatabaseName>"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso dati di Azure Data Explorer denominato adx-endpoint
:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adx-endpoint --config-file ~/adx-endpoint.json
dataExplorerSettings: {
authentication: {
method: 'UserAssignedManagedIdentity'
userAssignedManagedIdentitySettings: {
clientId: '<ID>'
tenantId: '<ID>'
// Optional, defaults to 'https://api.kusto.windows.net/.default'
// scope: 'https://<SCOPE_URL>'
}
}
}
dataExplorerSettings:
authentication:
method: UserAssignedManagedIdentity
userAssignedManagedIdentitySettings:
clientId: <ID>
tenantId: <ID>
# Optional, defaults to 'https://api.kusto.windows.net/.default'
# scope: https://<SCOPE_URL>
In questo caso, l'ambito è facoltativo e la sua impostazione predefinita è https://api.kusto.windows.net/.default
. Se si necessita di eseguire l'override dell'ambito predefinito, specificare l'impostazione scope
tramite Bicep o Kubernetes.
Impostazioni avanzate
È possibile configurare impostazioni avanzate per l'endpoint di Esplora dati di Azure, ad esempio la latenza di invio in batch e il numero di messaggi.
Usare le impostazioni batching
per configurare il numero massimo di messaggi e la latenza massima prima che i messaggi vengano inviati alla destinazione. Questa impostazione è utile quando si voglia ottimizzare la larghezza di banda di rete e ridurre il numero di richieste alla destinazione.
Campo |
Descrizione |
Obbligatoria |
latencySeconds |
Numero massimo di secondi di attesa prima dell'invio dei messaggi alla destinazione. Il valore predefinito è 60 secondi. |
NO |
maxMessages |
Numero massimo di messaggi da inviare alla destinazione. Il valore predefinito è di 100000 messaggi. |
NO |
Ad esempio, per impostare il numero massimo di messaggi su 1000 e la latenza massima su 100 secondi, usare le impostazioni seguenti:
Nell'esperienza operativa, selezionare la scheda Avanzate per l'endpoint del flusso di dati.
Usare il comando az iot ops dataflow endpoint apply per creare o modificare un endpoint di flusso dati di Azure Data Explorer con impostazioni avanzate.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Il --config-file
parametro è il percorso e il nome file di un file di configurazione JSON contenente le proprietà della risorsa.
In questo esempio si supponga che un file di configurazione denominato adx-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataExplorer",
"dataExplorerSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 100,
"maxMessages": 1000
},
"host": "https://<cluster>.<region>.kusto.windows.net",
"database": "<DatabaseName>"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Explorer denominato adx-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adx-endpoint --config-file ~/adx-endpoint.json
dataExplorerSettings: {
batching: {
latencySeconds: 100
maxMessages: 1000
}
}
dataExplorerSettings:
batching:
latencySeconds: 100
maxMessages: 1000
Passaggi successivi
Per altre informazioni sui flussi di dati, vedere Creare un flusso di dati.