Importante
Questa pagina include istruzioni per la gestione dei componenti di Operazioni IoT di Azure usando i manifesti di distribuzione kubernetes, disponibile in anteprima. Questa funzionalità viene fornita con diverse limitazioni e non deve essere usata per i carichi di lavoro di produzione.
Vedere le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure per le condizioni legali applicabili alle funzionalità di Azure in versione beta, in anteprima o non ancora rilasciate nella disponibilità generale.
Inviare dati ad Azure Data Lake Storage Gen2 nelle operazioni di Azure IoT configurando 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
Assegnare l'autorizzazione all'identità gestita
Per configurare un endpoint del flusso di dati per Azure Data Lake Storage Gen2, usare un'identità gestita assegnata dall'utente o assegnata dal sistema. Questo approccio è sicuro e rimuove la necessità di gestire manualmente le credenziali.
Dopo aver creato Azure Data Lake Storage Gen2, è necessario assegnare un ruolo all'identità gestita di Operazioni di Azure IoT che concede l'autorizzazione per la scrittura nell'account di archiviazione.
Se si usa un'identità gestita assegnata dal sistema, nel portale di Azure passare all'istanza di Operazioni IoT di Azure e selezionare Panoramica. Copiare il nome dell'estensione elencata dopo l'estensione Azure IoT Operations Arc. Ad esempio, azure-iot-operations-xxxx7. L'identità gestita assegnata dal sistema può essere trovata utilizzando lo stesso nome dell'estensione Arc di Operazioni di Azure IoT.
Passare quindi all'account di archiviazione di Azure >Controllo di accesso (IAM)>Aggiungi assegnazione ruolo.
- Nella scheda Ruolo selezionare un ruolo appropriato, ad esempio
Storage Blob Data Contributor
. In questo modo, l'identità gestita dispone delle autorizzazioni necessarie per scrivere nei contenitori BLOB Archiviazione di Azure. Per altre informazioni, vedere Autorizzare l'accesso ai BLOB usando Microsoft Entra ID.
- Nella scheda Membri :
- Se si usa un'identità gestita assegnata dal sistema, per Assegna accesso a, selezionare Utente, gruppo o entità servizio, quindi selezionare + Seleziona membri e cercare il nome dell'estensione Azure IoT Operations Arc.
- Se si usa un'identità gestita assegnata dall'utente, per Assegna accesso a, selezionare Identità gestita, quindi selezionare + Seleziona membri e cercare l'identità gestita assegnata dall'utente configurata per le connessioni cloud.
Creare un endpoint del flusso di dati per Azure Data Lake Storage Gen2
Nel portale di Operazioni IoT selezionare la scheda Endpoint flusso di dati.
In Crea nuovo endpoint del flusso di dati selezionare Azure Data Lake Storage (seconda generazione)>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 Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net . Sostituire il segnaposto dell'account con il nome dell'account endpoint. |
Metodo di autenticazione |
Metodo utilizzato per l'autenticazione. È consigliabile 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. |
Nome segreto sincronizzato |
Nome di riferimento per il segreto nelle impostazioni del punto finale del flusso di dati e nel cluster Kubernetes. Obbligatorio se si usa il token di accesso. |
Nome del segreto del token di accesso |
Nome del segreto Kubernetes contenente il token di firma di accesso condiviso. Obbligatorio se si usa il token di accesso. |
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 Lake Storage Gen2.
az iot ops dataflow endpoint create adls --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Il nome dell'account di archiviazione è il nome dell'account Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net
.
Ecco un comando di esempio per creare o sostituire un endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint create adls --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
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 Lake Storage Gen2.
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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-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 host string = 'https://<ACCOUNT>.blob.core.windows.net'
resource aioInstance 'Microsoft.IoTOperations/instances@2024-11-01' existing = {
name: aioInstanceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource adlsGen2Endpoint 'Microsoft.IoTOperations/instances/dataflowEndpoints@2024-11-01' = {
parent: aioInstance
name: endpointName
extendedLocation: {
name: customLocation.id
type: 'CustomLocation'
}
properties: {
endpointType: 'DataLakeStorage'
dataLakeStorageSettings: {
host: host
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: DataLakeStorage
dataLakeStorageSettings:
host: https://<ACCOUNT>.blob.core.windows.net
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
Utilizzare l'autenticazione con token di accesso
Seguire la procedura descritta nella sezione token di accesso per ottenere un token di firma di accesso condiviso per l'account di archiviazione e archiviarlo in un segreto Kubernetes.
Creare quindi la risorsa DataflowEndpoint e specificare il metodo di autenticazione del token di accesso. In questo caso sostituire <SAS_SECRET_NAME>
con il nome del segreto contenente il token di firma di accesso condiviso e altri valori segnaposto.
Vedere la sezione token di accesso per i passaggi per creare un segreto nell'interfaccia utente Web dell'esperienza operativa.
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 host string = 'https://<ACCOUNT>.blob.core.windows.net'
resource aioInstance 'Microsoft.IoTOperations/instances@2024-11-01' existing = {
name: aioInstanceName
}
resource customLocation 'Microsoft.ExtendedLocation/customLocations@2021-08-31-preview' existing = {
name: customLocationName
}
resource adlsGen2Endpoint 'Microsoft.IoTOperations/instances/dataflowEndpoints@2024-11-01' = {
parent: aioInstance
name: endpointName
extendedLocation: {
name: customLocation.id
type: 'CustomLocation'
}
properties: {
endpointType: 'DataLakeStorage'
dataLakeStorageSettings: {
host: host
authentication: {
method: 'AccessToken'
accessTokenSettings: {
secretRef: '<SAS_SECRET_NAME>'
}
}
}
}
}
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: DataLakeStorage
dataLakeStorageSettings:
host: https://<ACCOUNT>.blob.core.windows.net
authentication:
method: AccessToken
accessTokenSettings:
secretRef: <SAS_SECRET_NAME>
Quindi, applicare il file manifesto al cluster Kubernetes.
kubectl apply -f <FILE>.yaml
Metodi di autenticazione disponibili
Per gli endpoint di Azure Data Lake Storage Gen2 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 nell'account di archiviazione:
- Nel portale di Azure passare all'istanza di Operazioni IoT di Azure e selezionare Panoramica.
- Copiare il nome dell'estensione elencata dopo l'estensione Azure IoT Operations Arc. Ad esempio, azure-iot-operations-xxxx7.
- Passare alla risorsa cloud necessaria per concedere le autorizzazioni. Ad esempio, vai all'account di archiviazione di Azure >, Controllo di accesso (IAM)>, Aggiungi un'assegnazione di ruolo.
- Nella scheda Ruolo selezionare un ruolo appropriato.
- Nella scheda Membri , per Assegna accesso a, selezionare l'opzione Utente, gruppo o entità servizio , quindi selezionare + Seleziona membri e cercare l'identità gestita di Operazioni IoT di Azure. Ad esempio, azure-iot-operations-xxxx7.
Quindi, configurare l'endpoint del flusso di dati con le impostazioni di identità gestite assegnate dal sistema.
Nella pagina delle impostazioni dell'endpoint del flusso di dati dell'esperienza operativa, selezionare la scheda Basic e quindi scegliere Metodo di autenticazione>Identità gestita assegnata dal sistema.
Nella maggior parte dei casi, non è necessario specificare un gruppo di destinatari del servizio. Se non si specifica un gruppo di destinatari, viene creata un'identità gestita con l'ambito del gruppo di destinatari predefinito con l'account di archiviazione.
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 Lake Storage Gen2 con l'identità gestita assegnata dal sistema.
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Il nome dell'account di archiviazione è il nome dell'account Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net
.
Un comando di esempio per creare o sostituire un endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato my-endpoint
è:
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
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 Lake Storage Gen2 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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
dataLakeStorageSettings: {
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {}
}
}
dataLakeStorageSettings:
authentication:
method: SystemAssignedManagedIdentity
systemAssignedManagedIdentitySettings: {}
Se si ha la 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 un gruppo di destinatari del servizio. Se non si specifica un gruppo di destinatari, viene creata un'identità gestita con l'ambito del gruppo di destinatari predefinito con l'account di archiviazione.
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 Lake Storage Gen2 con l'identità gestita assegnata dal sistema.
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --audience https://<account>.blob.core.windows.net --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Il nome dell'account di archiviazione è il nome dell'account Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net
.
Un comando di esempio per creare o sostituire un endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato my-endpoint
è:
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --audience https://<account>.blob.core.windows.net --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
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 Lake Storage Gen2 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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {
"audience": "https://<account>.blob.core.windows.net"
}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
dataLakeStorageSettings: {
authentication: {
method: 'SystemAssignedManagedIdentity'
systemAssignedManagedIdentitySettings: {
audience: 'https://<ACCOUNT>.blob.core.windows.net'
}
}
}
dataLakeStorageSettings:
authentication:
method: SystemAssignedManagedIdentity
systemAssignedManagedIdentitySettings:
audience: https://<ACCOUNT>.blob.core.windows.net
Identità gestita assegnata dall'utente
Per utilizzare l'identità gestita assegnata dall'utente per l'autenticazione, è prima necessario distribuire Operazioni di Azure IoT con le impostazioni di sicurezza abilitate. È quindi necessario configurare un'identità gestita assegnata dall'utente per le connessioni cloud. Per altre informazioni, vedere Abilitare le impostazioni sicure nella distribuzione di Operazioni IoT di Azure.
Prima di configurare l'endpoint del flusso di dati, assegnare un ruolo all'identità gestita assegnata dall'utente che concede l'autorizzazione per la scrittura nell'account di archiviazione:
- Nel portale di Azure passare alla risorsa cloud necessaria per concedere le autorizzazioni. Ad esempio, vai all'account di archiviazione di Azure >, Controllo di accesso (IAM)>, Aggiungi un'assegnazione di ruolo.
- Nella scheda Ruolo selezionare un ruolo appropriato.
- Nella scheda Membri selezionare l'opzione Identità gestita per Assegnare l'accesso, quindi selezionare + Seleziona membri e cercare l'identità gestita assegnata dall'utente.
Quindi, configurare l'endpoint del flusso di dati con le impostazioni delle identità gestite assegnate dall'utente.
Nella pagina impostazioni dell'endpoint del flusso di dati dell'esperienza operativa, selezionare la scheda Di base, quindi scegliere Metodo di autenticazione>Identità gestita assegnata dall'utente.
Immettere l'ID client dell'identità gestita assegnata dall'utente e l'ID tenant 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 Lake Storage Gen2 con l'identità gestita assegnata dall'utente.
az iot ops dataflow endpoint create adls --auth-type UserAssignedManagedIdentity --client-id <ClientId> --tenant-id <TenantId> --scope <Scope> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Il nome dell'account di archiviazione è il nome dell'account Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net
. 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.
Un comando di esempio per creare o sostituire un endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato my-endpoint
è:
az iot ops dataflow endpoint create adls --auth-type UserAssignedManagedIdentity --client-id ClientId --tenant-id TenantId --scope https://storage.azure.com/.default --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
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 Lake Storage Gen2 con 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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "UserAssignedManagedIdentity",
"userAssignedManagedIdentitySettings": {
"clientId": "<ClientId>",
"scope": "<Scope>",
"tenantId": "<TenantId>"
}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
dataLakeStorageSettings: {
authentication: {
method: 'UserAssignedManagedIdentity'
userAssignedManagedIdentitySettings: {
clientId: '<ID>'
tenantId: '<ID>'
// Optional, defaults to 'https://storage.azure.com/.default'
// scope: 'https://<SCOPE_URL>'
}
}
}
dataLakeStorageSettings:
authentication:
method: UserAssignedManagedIdentity
userAssignedManagedIdentitySettings:
clientId: <ID>
tenantId: <ID>
# Optional, defaults to 'https://storage.azure.com/.default'
# scope: https://<SCOPE_URL>
In questo caso, l'ambito è facoltativo e la sua impostazione predefinita è https://storage.azure.com/.default
. Per eseguire l'override dell'ambito predefinito, specificare l'impostazione scope
tramite il manifesto Bicep o Kubernetes.
Token di accesso
L'uso di un token di accesso è un metodo di autenticazione alternativo. Questo metodo richiede di creare un Kubernetes secret con il SAS token e riferirsi al secret nella risorsa DataflowEndpoint.
Ottieni un token SAS per un account Azure Data Lake Storage Gen2 (ADLSv2). Ad esempio, utilizzare il portale di Azure per passare all'account di archiviazione. Nel menu a sinistra scegliere Sicurezza e rete>Firma di accesso condiviso. Utilizzare la tabella seguente per impostare le autorizzazioni necessarie.
Parametro |
Impostazione abilitata |
Servizi consentiti |
BLOB |
Tipi di risorse consentiti |
Oggetto, contenitore |
Autorizzazioni consentite |
Lettura, scrittura, eliminazione, elenco, creazione |
Per migliorare la sicurezza e seguire il principio dei privilegi minimi, è possibile generare un token di firma di accesso condiviso per un contenitore specifico. Per evitare errori di autenticazione, assicurarsi che il contenitore specificato nel token di firma di accesso condiviso corrisponda all'impostazione di destinazione del flusso di dati nella configurazione.
Importante
Per usare l'interfaccia utente Web dell'esperienza operativa per gestire i segreti, le operazioni di Azure IoT devono prima essere abilitate con impostazioni sicure configurando un insieme di credenziali delle chiavi di Azure e abilitando le identità del carico di lavoro. Per altre informazioni, vedere Abilitare le impostazioni sicure nella distribuzione di Operazioni IoT di Azure.
Nella pagina impostazioni dell'endpoint del flusso di dati dell'esperienza operativa, selezionare la scheda Di base e quindi scegliere Metodo di autenticazione>Token di accesso.
Qui, sotto Nome segreto sincronizzato, immettere un nome per il segreto. Questo nome viene utilizzato per fare riferimento al segreto nelle impostazioni dell'endpoint del flusso di dati e corrisponde al nome del segreto archiviato nel cluster Kubernetes.
Quindi, in Nome segreto token di accesso selezionare Aggiungi riferimento per aggiungere il segreto da Azure Key Vault. Nella pagina successiva selezionare il segreto da Azure Key Vault con Aggiungi da Azure Key Vault o Crea nuovo segreto.
Se si seleziona Crea nuovo, immettere le impostazioni seguenti:
Impostazione |
Descrizione |
Nome segreto |
Nome del segreto in Azure Key Vault. Selezionare un nome facile da ricordare per selezionare il segreto in un secondo momento dall'elenco. |
Valore segreto |
Token di firma di accesso condiviso nel formato 'sv=2022-11-02&ss=b&srt=c&sp=rwdlax&se=2023-07-22T05:47:40Z&st=2023-07-21T21:47:40Z&spr=https&sig=<signature>' . |
Impostare la data di attivazione |
Se attivata, data in cui il segreto diventa attivo. |
Impostare la data di scadenza |
Se attivata, data di scadenza del segreto. |
Per altre informazioni sui segreti, vedere Creare e gestire segreti nelle operazioni IoT di Azure.
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 Lake Storage Gen2 con l'autenticazione del token di accesso.
az iot ops dataflow endpoint create adls --auth-type AccessToken --secret-name <SasSecretName> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Il nome dell'account di archiviazione è il nome dell'account Azure Data Lake Storage Gen2 nel formato <account>.blob.core.windows.net
. Il --auth-type
parametro specifica il metodo di autenticazione, in AccessToken
questo caso. Il parametro --secret-name
specifica il nome di un segreto di Kubernetes contenente il SAS token.
Un comando di esempio per creare o sostituire un endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato my-endpoint
è:
az iot ops dataflow endpoint create adls --auth-type AccessToken --secret-name mySasSecret --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
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 Lake Storage Gen2 con l'autenticazione del token di accesso.
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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "AccessToken",
"accessTokenSettings": {
"secretRef": "<SAS_SECRET_NAME>"
}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
dataLakeStorageSettings: {
authentication: {
method: 'AccessToken'
accessTokenSettings: {
secretRef: '<SAS_SECRET_NAME>'
}
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
Creare un segreto Kubernetes con il token di firma di accesso condiviso.
kubectl create secret generic <SAS_SECRET_NAME> -n azure-iot-operations \
--from-literal=accessToken='sv=2022-11-02&ss=b&srt=c&sp=rwdlax&se=2023-07-22T05:47:40Z&st=2023-07-21T21:47:40Z&spr=https&sig=<signature>'
dataLakeStorageSettings:
authentication:
method: AccessToken
accessTokenSettings:
secretRef: <SAS_SECRET_NAME>
Impostazioni avanzate
È possibile impostare impostazioni avanzate per l'endpoint di Azure Data Lake Storage Gen2, ad esempio la latenza di invio in batch e il numero di messaggi.
Utilizzare 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, utilizzare 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 le impostazioni avanzate dell'endpoint del flusso di dati di Azure Data Lake Storage Gen2.
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 adls-endpoint.json
con il contenuto seguente archiviato nella home directory dell'utente:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 100,
"maxMessages": 1000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Ecco un comando di esempio per creare un nuovo endpoint del flusso di dati di Azure Data Lake Storage Gen2 denominato adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
dataLakeStorageSettings: {
batching: {
latencySeconds: 100
maxMessages: 1000
}
}
dataLakeStorageSettings:
batching:
latencySeconds: 100
maxMessages: 1000
Passaggi successivi