Wichtig
Diese Seite enthält Anweisungen zum Verwalten von Azure IoT Operations-Komponenten mithilfe von Kubernetes-Bereitstellungsmanifesten, die sich in DER VORSCHAU befinden. Dieses Feature wird mit einigen Einschränkungen bereitgestellt und sollte nicht für Produktionsworkloads verwendet werden.
Die zusätzlichen Nutzungsbestimmungen für Microsoft Azure-Vorschauen enthalten rechtliche Bedingungen. Sie gelten für diejenigen Azure-Features, die sich in der Beta- oder Vorschauversion befinden oder aber anderweitig noch nicht zur allgemeinen Verfügbarkeit freigegeben sind.
Senden Sie Daten an Azure Data Lake Storage Gen2 in Azure IoT Operations, indem Sie einen Datenflussendpunkt konfigurieren. Mit dieser Konfiguration können Sie den Zielendpunkt, die Authentifizierungsmethode, die Tabelle und andere Einstellungen angeben.
Voraussetzungen
Zuweisen von Berechtigungen zur verwalteten Identität
Verwenden Sie zum Konfigurieren eines Datenflussendpunkts für Azure Data Lake Storage Gen2 entweder eine vom Benutzer zugewiesene oder vom System zugewiesene verwaltete Identität. Dieser Ansatz ist sicher und entfernt die Notwendigkeit, Anmeldeinformationen manuell zu verwalten.
Nachdem die Azure Data Lake Storage Gen2 erstellt wurde, müssen Sie der verwalteten Azure IoT Einsatz-Identität eine Rolle zuweisen, welche die Berechtigung zum Schreiben in die Datenbank erteilt.
Wenn Sie eine vom System zugewiesene verwaltete Identität verwenden, wechseln Sie im Azure-Portal zu Ihrer Azure IoT Operations-Instanz, und wählen Sie "Übersicht" aus. Kopieren Sie den Namen der Erweiterung, die nach der Arc-Erweiterung für Azure IoT Einsatz aufgeführt ist. Beispiel: azure-iot-operations-xxxx7. Ihre systemseitig zugewiesene verwaltete Identität hat denselben Namen wie die Arc-Erweiterung von Azure IoT Einsatz.
Wechseln Sie dann zum Azure Storage-Konto >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte "Rolle" eine entsprechende Rolle aus, z. B.
Storage Blob Data Contributor. Dadurch erhält die verwaltete Identität die erforderlichen Berechtigungen zum Schreiben in die Azure Storage Blob-Container. Weitere Informationen finden Sie unter Autorisieren des Zugriffs auf Blobs mit Microsoft Entra ID.
- Auf der Registerkarte Mitglieder:
- Wenn Sie eine vom System zugewiesene verwaltete Identität verwenden, wählen Sie unter Zugriff zuweisen an"Benutzer", "Gruppe" oder "Dienstprinzipal" aus, klicken Sie dann auf + Mitglieder auswählen und suchen Sie nach dem Namen der Azure IoT Operations Arc-Erweiterung.
- Wenn Sie eine benutzerdefinierte verwaltete Identität verwenden, wählen Sie unter "Zugriff zuweisen" die Option "Verwaltete Identität" aus. Klicken Sie dann auf "+ Mitglieder auswählen" und suchen Sie nach Ihrer benutzerdefinierten verwalteten Identität, die für Cloud-Verbindungen eingerichtet ist.
Erstellen eines Datenflussendpunkts für Azure Data Lake Storage Gen2
Wählen Sie im IoT Einsatz-Portal die Registerkarte Datenflussendpunkte aus.
Wählen Sie unter Neuen Datenflussendpunkt erstellen die Option Azure Data Lake Store (2. Generation)>Neu aus.
Geben Sie die folgenden Einstellungen für den Endpunkt ein:
| Einstellung |
Beschreibung |
| Name |
Der Name des Datenflussendpunkts. |
| Gastgeber |
Der Hostname des Azure Data Lake Storage Gen2-Endpunkts im Format <account>.blob.core.windows.net. Ersetzen Sie den Kontoplatzhalter durch den Endpunktkontonamen. |
| Authentifizierungsmethode |
Die für die Authentifizierung verwendete Methode. Es wird empfohlen, die vom System zugewiesene verwaltete Identität oder die vom Benutzer zugewiesene verwaltete Identität auszuwählen. |
| Client-ID |
Die Client-ID einer benutzerseitig zugewiesenen verwalteten Identität. Erforderlich, wenn die vom Benutzer zugewiesene verwaltete Identität verwendet wird. |
| Mandanten-ID |
Die Instanz-ID der benutzerseitig zugewiesenen verwalteten Identität. Erforderlich, wenn die vom Benutzer zugewiesene verwaltete Identität verwendet wird. |
| Synchronisierter Geheimnisname |
Der Verweisname für das Geheimnis in den Einstellungen des Datenflussendpunkts und im Kubernetes-Cluster. Erforderlich bei Verwendung des Zugriffstokens. |
| Name des geheimen Tokenschlüssels für den Zugriff |
Der Name des Kubernetes-Geheimnisses, der das SAS-Token enthält. Erforderlich bei Verwendung des Zugriffstokens. |
Wählen Sie Übernehmen aus, um den Endpunkt bereitzustellen.
Erstellen oder ersetzen
Verwenden Sie den Befehl az iot ops dataflow endpoint create adls, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt zu erstellen oder zu ersetzen.
az iot ops dataflow endpoint create adls --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Der Name des Speicherkontos ist der Name des Azure Data Lake Storage Gen2-Kontos im Format <account>.blob.core.windows.net.
Hier ist ein Beispielbefehl zum Erstellen oder Ersetzen eines Azure Data Lake Storage Gen2-Datenflussendpunkts namens adls-endpoint:
az iot ops dataflow endpoint create adls --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
Erstellen oder Ändern
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
Erstellen Sie eine Bicep-Datei (.bicep) mit folgendem Inhalt:
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>
}
}
}
}
Stellen Sie sie dann über die Azure CLI bereit:
az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep
Erstellen Sie eine Kubernetes-Manifestdatei (.yaml) mit folgendem Inhalt:
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>
Wenden Sie dann die Manifestdatei auf den Kubernetes-Cluster an:
kubectl apply -f <FILE>.yaml
Verwenden der Zugriffstokenauthentifizierung
Führen Sie die Schritte im Abschnitt Zugriffstoken aus, um ein SAS-Token für das Speicherkonto abzurufen und es in einem Kubernetes-Geheimschlüssel zu speichern.
Erstellen Sie dann die DataflowEndpoint-Ressource, und geben Sie die Authentifizierungsmethode „Zugriffstoken“ an. Ersetzen Sie hier <SAS_SECRET_NAME> durch den Namen des Geheimnisses, das das SAS-Token und andere Platzhalterwerte enthält.
Im Abschnitt Zugriffstoken finden Sie Schritte zum Erstellen eines Geheimnisses über die Einsatz-Webbenutzeroberfläche.
Erstellen Sie eine Bicep-Datei (.bicep) mit folgendem Inhalt:
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>'
}
}
}
}
}
Stellen Sie sie dann über die Azure CLI bereit:
az deployment group create --resource-group <RESOURCE_GROUP> --template-file <FILE>.bicep
Erstellen Sie eine Kubernetes-Manifestdatei (.yaml) mit folgendem Inhalt:
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>
Wenden Sie dann die Manifestdatei auf den Kubernetes-Cluster an:
kubectl apply -f <FILE>.yaml
Verfügbare Authentifizierungsmethoden
Die folgenden Authentifizierungsmethoden sind für Azure Data Lake Storage Gen2-Endpunkte verfügbar.
Systemseitig zugewiesene verwaltete Identität
Bevor Sie den Datenflussendpunkt konfigurieren, weisen Sie der verwalteten Identität von Azure IoT Einsatz eine Rolle mit der Berechtigung zum Schreiben in das Speicherkonto zu:
- Wechseln Sie im Azure-Portal zu Ihrer Azure IoT Einsatz-Instanz, und wählen Sie Übersicht aus.
- Kopieren Sie den Namen der Erweiterung, die nach der Arc-Erweiterung für Azure IoT Einsatz aufgeführt ist. Beispiel: azure-iot-operations-xxxx7.
- Wechseln Sie zu der Cloudressource, der Sie Berechtigungen zuweisen möchten. Wechseln Sie beispielsweise zum Azure Storage-Konto >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte Rolle eine geeignete Rolle aus.
- Wählen Sie auf der Registerkarte Mitglieder für Zugriff zuweisen zu die Option Benutzer, Gruppe oder Dienstprinzipal und anschließend + Mitglieder auswählen aus. Suchen Sie dann nach der verwalteten Identität von Azure IoT Einsatz. Beispiel: azure-iot-operations-xxxx7.
Konfigurieren Sie dann den Datenflussendpunkt mit den Einstellungen der systemseitig zugewiesenen verwalteten Identität.
Wählen Sie auf der Seite „Einstellungen“ für den Datenflussendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Systemseitig zugewiesene verwaltete Identität aus.
In den meisten Fällen müssen Sie keine Dienstgruppe angeben. Wenn Sie keine Benutzergruppe angeben, wird eine verwaltete Identität mit der Standardzielgruppe erstellt, die auf Ihr Speicherkonto ausgelegt ist.
Erstellen oder ersetzen
Verwenden Sie den Befehl az iot ops dataflow endpoint create adls, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit systemzugewiesener verwalteter Identität zu erstellen oder zu ersetzen.
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Der Name des Speicherkontos ist der Name des Azure Data Lake Storage Gen2-Kontos im Format <account>.blob.core.windows.net.
Ein Beispielbefehl zum Erstellen oder Ersetzen eines Azure Data Lake Storage Gen2-Datenflussendpunkts my-endpoint lautet:
az iot ops dataflow endpoint create adls --auth-type SystemAssignedManagedIdentity --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
Erstellen oder Ändern
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit vom System zugewiesener verwalteter Identität zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 60,
"maxMessages": 100000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens 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: {}
Wenn Sie die Zielgruppe der systemseitig zugewiesenen verwalteten Identität außer Kraft setzen müssen, können Sie die Einstellung audience angeben.
In den meisten Fällen müssen Sie keine Dienstgruppe angeben. Wenn Sie keine Benutzergruppe angeben, wird eine verwaltete Identität mit der Standardzielgruppe erstellt, die auf Ihr Speicherkonto ausgelegt ist.
Erstellen oder ersetzen
Verwenden Sie den Befehl az iot ops dataflow endpoint create adls, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit systemzugewiesener verwalteter Identität zu erstellen oder zu ersetzen.
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>
Der Name des Speicherkontos ist der Name des Azure Data Lake Storage Gen2-Kontos im Format <account>.blob.core.windows.net.
Ein Beispielbefehl zum Erstellen oder Ersetzen eines Azure Data Lake Storage Gen2-Datenflussendpunkts my-endpoint lautet:
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
Erstellen oder Ändern
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit vom System zugewiesener verwalteter Identität zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"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"
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens 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
Benutzerseitig zugewiesene verwaltete Identität
Um eine benutzerseitig zugewiesene verwaltete Identität für die Authentifizierung zu verwenden, müssen Sie zuerst Azure IoT Einsatz mit aktivierten sicheren Einstellungen bereitstellen. Anschließend müssen Sie eine benutzerseitig zugewiesene verwaltete Identität für Cloudverbindungen einrichten. Weitere Informationen finden Sie unter Aktivieren sicherer Einstellungen bei der Bereitstellung von Azure IoT Einsatz.
Bevor Sie den Datenflussendpunkt konfigurieren, weisen Sie der benutzerseitig zugewiesenen verwalteten Identität eine Rolle mit der Berechtigung zum Schreiben in das Speicherkonto zu:
- Navigieren Sie im Azure-Portal zu der Cloudressource, der Sie Berechtigungen zuweisen möchten. Wechseln Sie beispielsweise zum Azure Storage-Konto >Zugriffssteuerung (IAM)>Rollenzuweisung hinzufügen.
- Wählen Sie auf der Registerkarte Rolle eine geeignete Rolle aus.
- Wählen Sie auf der Registerkarte Mitglieder für Zugriff zuweisen zu die Option Verwaltete Identität und anschließend + Mitglieder auswählen aus. Suchen Sie dann nach Ihrer benutzerseitig zugewiesenen verwalteten Identität.
Konfigurieren Sie danach den Datenflussendpunkt mit den Einstellungen der benutzerseitig zugewiesenen verwalteten Identität.
Wählen Sie auf der Seite „Einstellungen“ für den Datenflussendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Benutzerseitig zugewiesene verwaltete Identität aus.
Geben Sie die Client-ID und die Mandanten-ID der benutzerseitig zugewiesenen verwalteten Identität in die entsprechenden Felder ein.
Erstellen oder ersetzen
Verwenden Sie den Befehl az iot ops dataflow endpoint create adls, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit einer benutzerzugewiesenen verwalteten Identität zu erstellen oder zu ersetzen.
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>
Der Name des Speicherkontos ist der Name des Azure Data Lake Storage Gen2-Kontos im Format <account>.blob.core.windows.net. Der --auth-type Parameter gibt die Authentifizierungsmethode an, die in diesem Fall liegt UserAssignedManagedIdentity . Die Parameter --client-id, --tenant-id und --scope geben jeweils die Client-ID der benutzerseitig zugewiesenen verwalteten, die Mandanten-ID und den Bereich an.
Ein Beispielbefehl zum Erstellen oder Ersetzen eines Azure Data Lake Storage Gen2-Datenflussendpunkts my-endpoint lautet:
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
Erstellen oder Ändern
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um einen Azure Data Lake Storage Gen2 Dataflow-Endpunkt mit der vom Benutzer zugewiesenen verwalteten Identität zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"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"
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens 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>
Hier ist der Umfang optional und standardmäßig auf https://storage.azure.com/.default festgelegt. Wenn Sie den Standardbereich überschreiben müssen, geben Sie die Einstellung scope über das Bicep- oder Kubernetes-Manifest an.
Zugriffstoken
Die Verwendung eines Zugriffstokens ist eine alternative Authentifizierungsmethode. Für diese Methode müssen Sie einen Kubernetes-Geheimschlüssel mit dem SAS-Token erstellen und in der DataflowEndpoint-Ressource auf den geheimen Schlüssel verweisen.
Rufen Sie ein SAS-Token für ein Azure Data Lake Storage Gen2 (ADLSv2) Konto ab. Verwenden Sie zum Beispiel das Azure-Portal, um Ihr Speicherkonto aufzurufen. Wählen Sie im linken Menü Sicherheit und Netzwerk>Shared Access Signature aus. Verwenden Sie die folgende Tabelle, um die erforderlichen Berechtigungen festzulegen.
| Parameter |
Aktivierte Einstellung |
| Zulässige Dienste |
Blob |
| Zulässige Ressourcentypen |
Objekt, Container |
| Zulässige Berechtigungen |
Lesen, Schreiben, Löschen, Auflisten, Erstellen |
Um die Sicherheit zu verbessern und dem Prinzip der geringsten Rechte zu folgen, können Sie ein SAS-Token für einen bestimmten Container generieren. Um Authentifizierungsfehler zu verhindern, stellen Sie sicher, dass der im SAS-Token angegebene Container mit der Zieleinstellung des Datenflusses in der Konfiguration übereinstimmt.
Wählen Sie auf der Seite „Einstellungen“ für den Datenflussendpunkt auf der Einsatz-Benutzeroberfläche die Registerkarte Allgemeine Informationen und dann Authentifizierungsmethode>Zugriffstoken aus.
Geben Sie hier unter Synchronisierter Geheimnisname einen Namen für das Geheimnis ein. Dieser Name wird verwendet, um in den Einstellungen des Datenflussendpunkts auf das Geheimnis zu verweisen. Es ist auch der Geheimnisname, der im Kubernetes-Cluster gespeichert ist.
Wählen Sie dann unter Namen des geheimen ZugriffstokenschlüsselsVerweis hinzufügen aus, um den geheimen Schlüssel aus Azure Key Vault hinzuzufügen. Wählen Sie auf der nächsten Seite das Geheimnis mit Aus Azure Key Vault hinzufügen aus Azure Key Vault aus, oder erstellen Sie mit Neu erstellen ein neues Geheimnis.
Wenn Sie Neu erstellen auswählen, geben Sie die folgenden Einstellungen ein:
| Einstellung |
Beschreibung |
| Geheimnisname |
Der Name des Geheimnisses in Azure Key Vault. Wählen Sie einen Namen aus, der sich einfach merken lässt, um das Geheimnis später in der Liste auswählen zu können. |
| Geheimer Wert |
Das Format des SAS-Tokens ist: '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>'. |
| Aktivierungsdatum festlegen |
Wenn diese Option aktiviert ist, das Datum, an dem das Geheimnis aktiv wird. |
| Festlegen des Ablaufdatums |
Wenn diese Option deaktiviert ist, das Datum, an dem das Geheimnis abläuft. |
Weitere Informationen zu Geheimnissen finden Sie unter Verwalten von Geheimnissen für Ihre Bereitstellung von Azure IoT Einsatz.
Erstellen oder ersetzen
Verwenden Sie den Befehl az iot ops dataflow endpoint create adls, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit Zugriffstoken-Authentifizierung zu erstellen oder zu ersetzen.
az iot ops dataflow endpoint create adls --auth-type AccessToken --secret-name <SasSecretName> --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --storage-account <StorageAccountName>
Der Name des Speicherkontos ist der Name des Azure Data Lake Storage Gen2-Kontos im Format <account>.blob.core.windows.net. Der --auth-type Parameter gibt die Authentifizierungsmethode an, die in diesem Fall liegt AccessToken . Der --secret-name Parameter gibt den Namen des Kubernetes-Schlüssels an, der das SAS-Token enthält.
Ein Beispielbefehl zum Erstellen oder Ersetzen eines Azure Data Lake Storage Gen2-Datenflussendpunkts my-endpoint lautet:
az iot ops dataflow endpoint create adls --auth-type AccessToken --secret-name mySasSecret --resource-group myResourceGroup --instance myAioInstance --name adls-endpoint --storage-account adlsstorage
Erstellen oder Ändern
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um einen Azure Data Lake Storage Gen2-Datenflussendpunkt mit Zugriffstoken-Authentifizierung zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"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>'
}
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens adls-endpoint:
az iot ops dataflow endpoint apply --resource-group myResourceGroupName --instance myAioInstanceName --name adls-endpoint --config-file ~/adls-endpoint.json
Erstellen Sie ein Kubernetes-Geheimnis mit dem SAS-Token.
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>
Erweiterte Einstellungen
Sie können erweiterte Einstellungen für den Azure Data Lake Storage Gen2-Endpunkt festlegen, z. B. die Batchlatenz und die Nachrichtenanzahl.
Verwenden Sie die batching-Einstellungen, um die maximale Anzahl von Nachrichten und die maximale Latenz zu konfigurieren, bevor die Nachrichten an das Ziel gesendet werden. Diese Einstellung ist nützlich, wenn Sie die Netzwerkbandbreite optimieren und die Anzahl der Anforderungen an das Ziel reduzieren möchten.
| Feld |
Beschreibung |
Erforderlich |
latencySeconds |
Die maximale Anzahl von Sekunden, die vor dem Senden der Nachrichten an das Ziel gewartet werden sollen. Der Standardwert beträgt 60 Sekunden. |
Nein |
maxMessages |
Die Maximale Anzahl der Nachrichten, die an das Ziel gesendet werden sollen. Der Standardwert beträgt 100.000 Meldungen. |
Nein |
Wenn Sie beispielsweise die maximale Anzahl von Nachrichten auf 1000 und die maximale Latenz auf 100 Sekunden konfigurieren möchten, verwenden Sie die folgenden Einstellungen:
Wählen Sie auf der Einsatz-Benutzeroberfläche die Registerkarte Erweitert für den Datenflussendpunkt aus.
Verwenden Sie den Befehl az iot ops dataflow endpoint apply, um erweiterte Einstellungen für einen Azure Data Lake Storage Gen2 Datenflussendpunkt zu erstellen oder zu ändern.
az iot ops dataflow endpoint apply --resource-group <ResourceGroupName> --instance <AioInstanceName> --name <EndpointName> --config-file <ConfigFilePathAndName>
Der --config-file Parameter ist der Pfad und Dateiname einer JSON-Konfigurationsdatei, die die Ressourceneigenschaften enthält.
Gehen Sie in diesem Beispiel von einer Konfigurationsdatei adls-endpoint.json mit dem folgenden Inhalt aus, der im Startverzeichnis des Benutzers gespeichert ist:
{
"endpointType": "DataLakeStorage",
"dataLakeStorageSettings": {
"authentication": {
"method": "SystemAssignedManagedIdentity",
"systemAssignedManagedIdentitySettings": {}
},
"batching": {
"latencySeconds": 100,
"maxMessages": 1000
},
"host": "https://<account>.blob.core.windows.net"
}
}
Hier ist ein Beispielbefehl zum Erstellen eines neuen Azure Data Lake Storage Gen2-Datenflussendpunkts namens 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
Nächste Schritte