Speichern von Daten im Edge-Bereich mit Azure Blob Storage in IoT Edge

Gilt für:IoT Edge 1.4 Häkchen IoT Edge 1.4

Wichtig

IoT Edge Version 1.4 wird unterstützt. Wenn Sie ein früheres Release verwenden, finden Sie weitere Informationen unter Aktualisieren von IoT Edge.

Mit Azure Blob Storage in IoT Edge erhalten Sie eine Blockblob- und Anfügeblob-Speicherlösung im Edgebereich. Ein Blob Storage-Modul auf Ihrem IoT Edge-Gerät verhält sich wie ein Azure-Blobdienst – mit dem einzigen Unterschied, dass die Blobs auf Ihrem IoT Edge-Gerät lokal gespeichert werden. Sie können mit denselben Azure Storage SDK-Methoden oder Blob-API-Aufrufen auf Ihre Blobs zugreifen, mit denen Sie bereits arbeiten. In diesem Artikel werden die Konzepte zu Azure Blob Storage auf einem IoT Edge-Container erläutert, der einen Blobdienst auf Ihrem IoT Edge-Gerät ausführt.

Dieses Modul ist in folgenden Fällen hilfreich:

  • Wenn Daten lokal gespeichert werden müssen, bis sie verarbeitet oder in die Cloud übertragen werden können. Bei diesen Daten kann es sich um Videos, Bilder, Finanzdaten, Krankenhausdaten oder andere unstrukturierte Daten handeln.
  • Wenn sich Geräte an einem Ort mit eingeschränkter Konnektivität befinden.
  • Wenn Sie die Daten effizient lokal verarbeiten möchten, um Zugriff mit geringer Latenz auf die Daten zu erhalten, damit Sie so schnell wie möglich auf Notfälle reagieren können.
  • Wenn Sie die Bandbreitenkosten senken und die Übertragung von Terabyte an Daten in die Cloud vermeiden möchten. Sie können die Daten lokal verarbeiten und nur die verarbeiteten Daten an die Cloud senden.

Dieses Modul gehört zum Umfang der Features deviceToCloudUpload und deviceAutoDelete.

Das Feature deviceToCloudUpload ist eine konfigurierbare Funktion. Diese Funktion lädt die Daten aus Ihrem lokalen Blobspeicher automatisch in Azure hoch und unterstützt sporadische Internetkonnektivität. Die Funktion ermöglicht Folgendes:

  • AKTIVIEREN/DEAKTIVIEREN des Features deviceToCloudUpload.
  • Auswählen der Reihenfolge, in der die Daten in Azure kopiert werden sollen (beispielsweise „NewestFirst“ oder „OldestFirst“).
  • Angeben des Azure Storage-Kontos, in das Ihre Daten hochgeladen werden sollen
  • Angeben der Container, die Sie in Azure hochladen möchten. Mit diesem Modul können Sie sowohl Quell- als auch Zielcontainernamen angeben.
  • Auswählen der Möglichkeit, die Blobs sofort nach dem Hochladen in den Cloudspeicher zu löschen
  • Führen Sie einen vollständigen Blobupload (mithilfe des Vorgangs Put Blob) und einen Upload auf Blockebene (mithilfe der Vorgänge Put Block, Put Block List und Append Block) durch.

Dieses Modul verwendet den Upload auf Blockebene, wenn Ihr Blob aus Blöcken besteht. Im Anschluss finden Sie einige gängige Szenarien:

  • Ihre Anwendung aktualisiert einige Blöcke eines zuvor hochgeladenen Blockblobs oder fügt neue Blöcke an einen Anfügeblob an. Dieses Modul lädt also nur die aktualisierten Blöcke und nicht den gesamten Blob hoch.
  • Falls beim Hochladen eines Blobs die Internetverbindung unterbrochen wird, lädt das Modul ebenfalls nur die restlichen Blöcke und nicht das gesamte Blob hoch, nachdem die Verbindung wiederhergestellt wurde.

Im Falle einer unerwarteten Prozessbeendigung während eines Blobuploads (etwa durch einen Stromausfall) werden alle Blöcke, die für den Upload vorgesehen waren, erneut hochgeladen, sobald das Modul wieder online ist.

deviceAutoDelete ist eine konfigurierbare Funktion. Diese Funktion löscht Ihre Blobs automatisch aus dem lokalen Speicher, wenn die angegebene Zeit (in Minuten) abläuft. Die Funktion ermöglicht Folgendes:

  • AKTIVIEREN/DEAKTIVIEREN des Features deviceAutoDelete.
  • Angeben der Zeit in Minuten (deleteAfterMinutes), nach der die Blobs automatisch gelöscht werden.
  • Auswählen der Möglichkeit, das Blob während des Hochladens beizubehalten, wenn der deleteAfterMinutes-Wert abläuft.

Voraussetzungen

Ein Azure IoT Edge-Gerät:

  • Sie können Ihren Entwicklungscomputer oder einen virtuellen Computer als IoT Edge-Gerät verwenden, indem Sie die Schritte ausführen, die in der Schnellstartanleitung für Linux- oder Windows-Geräte beschrieben sind.

  • Unter Von Azure IoT Edge unterstützte Systeme finden Sie eine Liste mit unterstützten Betriebssystemen und -Architekturen. Azure Blob Storage im IoT Edge-Modul unterstützt folgende Architekturen:

    • Windows AMD64
    • Linux AMD64
    • Linux ARM32
    • Linux ARM64

Cloudressourcen:

Ein IoT Hub mit Standardtarif in Azure.

Eigenschaften deviceToCloudUpload und deviceAutoDelete

Verwenden Sie die gewünschten Eigenschaften des Moduls, um deviceToCloudUploadProperties und deviceAutoDeleteProperties festzulegen. Gewünschte Eigenschaften können im Rahmen der Bereitstellung festgelegt oder nachträglich durch Bearbeitung des Modulzwillings ohne erneute Bereitstellung geändert werden. Es empfiehlt sich, den Modulzwilling für reported configuration und configurationValidation zu überprüfen, um sicherzustellen, dass die Werte korrekt weitergegeben werden.

deviceToCloudUploadProperties

Der Name dieser Einstellung lautet deviceToCloudUploadProperties. Wenn Sie den IoT Edge-Simulator verwenden, legen Sie die Werte auf die zugehörigen Umgebungsvariablen für diese Eigenschaften fest. Sie finden diese im Abschnitt „Erläuterung“.

Eigenschaft Mögliche Werte Erklärung
uploadOn true, false Standardmäßig auf false festgelegt. Wenn Sie das Feature aktivieren möchten, legen Sie dieses Feld auf true fest.

Umgebungsvariable: deviceToCloudUploadProperties__uploadOn={false,true}
uploadOrder NewestFirst, OldestFirst Ermöglicht das Auswählen der Reihenfolge, in der die Daten in Azure kopiert werden. Standardmäßig auf OldestFirst festgelegt. Die Reihenfolge richtet sich nach dem Zeitpunkt der letzten Änderung des Blobs.

Umgebungsvariable: deviceToCloudUploadProperties__uploadOrder={NewestFirst,OldestFirst}
cloudStorageConnectionString "DefaultEndpointsProtocol=https;AccountName=<your Azure Storage Account Name>;AccountKey=<your Azure Storage Account Key>;EndpointSuffix=<your end point suffix>" ist eine Verbindungszeichenfolge, die es ermöglicht, das Speicherkonto anzugeben, in das Ihre Daten hochgeladen werden sollen. Geben Sie Azure Storage Account Name, Azure Storage Account Key, End point suffix an. Fügen Sie ein geeignetes Endpunktsuffix (EndpointSuffix) von Azure für das Ziel des Datenuploads hinzu. Es variiert für globales Azure, Azure Government und Microsoft Azure Stack.

Sie können hier eine Azure Storage SAS-Verbindungszeichenfolge angeben. Allerdings müssen Sie diese Eigenschaft aktualisieren, wenn sie abläuft. SAS-Berechtigungen können das Erstellen des Zugriffs für Container sowie Erstellen, Schreiben und Hinzufügen des Zugriffs für Blobs umfassen.

Umgebungsvariable: deviceToCloudUploadProperties__cloudStorageConnectionString=<connection string>
storageContainersForUpload "<source container name1>": {"target": "<target container name>"},

"<source container name1>": {"target": "%h-%d-%m-%c"},

"<source container name1>": {"target": "%d-%c"}
Ermöglicht Ihnen das Angeben der Containernamen, die Sie in Azure hochladen möchten. Mit diesem Modul können Sie sowohl Quell- als auch Zielcontainernamen angeben. Falls Sie keinen Zielcontainernamen angeben, wird automatisch ein Containername zugewiesen, etwa <IoTHubName>-<IotEdgeDeviceID>-<ModuleName>-<SourceContainerName>. Sie können Vorlagenzeichenfolgen für den Zielcontainernamen erstellen. Weitere Informationen finden Sie in der Spalte mit den möglichen Werten.
* %h -> IoT-Hub-Name (3 bis 50 Zeichen).
* %d -> IoT-Edge-Geräte-ID (1 bis 129 Zeichen).
* %m -> Modulname (1 bis 64 Zeichen).
* %c -> Quellcontainername (3 bis 63 Zeichen).

Die maximale Größe eines Containernamens beträgt 63 Zeichen. Dem Namen wird automatisch der Zielcontainername zugewiesen, wenn die Größe des Containers 63 Zeichen überschreitet. In diesem Fall wird der Name in den einzelnen Abschnitten (IoTHubName, IotEdgeDeviceID, ModuleName, SourceContainerName) auf 15 Zeichen gekürzt.

Umgebungsvariable: deviceToCloudUploadProperties__storageContainersForUpload__<sourceName>__target=<targetName>
deleteAfterUpload true, false Standardmäßig auf false festgelegt. Bei Festlegung auf true werden die Daten automatisch gelöscht, wenn der Upload in den Cloudspeicher abgeschlossen ist.

VORSICHT: Wenn Sie Anfügeblobs verwenden, löscht diese Einstellung Anfügeblobs nach einem erfolgreichen Upload aus dem lokalen Speicher, und alle künftigen Vorgänge zum Anfügen von Blöcken an diese Blobs schlagen fehl. Verwenden Sie diese Einstellung mit Bedacht. Aktivieren Sie diese Einstellung nicht, wenn Ihre Anwendung Anfügevorgänge nur selten ausführt oder kontinuierliche Anfügevorgänge nicht unterstützt.

Umgebungsvariable: deviceToCloudUploadProperties__deleteAfterUpload={false,true}.

deviceAutoDeleteProperties

Der Name dieser Einstellung lautet deviceAutoDeleteProperties. Wenn Sie den IoT Edge-Simulator verwenden, legen Sie die Werte auf die zugehörigen Umgebungsvariablen für diese Eigenschaften fest. Sie finden diese im Abschnitt „Erläuterung“.

Eigenschaft Mögliche Werte Erklärung
deleteOn true, false Standardmäßig auf false festgelegt. Wenn Sie das Feature aktivieren möchten, legen Sie dieses Feld auf true fest.

Umgebungsvariable: deviceAutoDeleteProperties__deleteOn={false,true}
deleteAfterMinutes <minutes> Geben Sie die Zeit in Minuten an. Nach Ablauf dieser Zeit löscht das Modul Ihre Blobs automatisch aus dem lokalen Speicher. Derzeit sind maximal 35.791 Minuten zulässig.

Umgebungsvariable: deviceAutoDeleteProperties__ deleteAfterMinutes=<minutes>
retainWhileUploading true, false Die Eigenschaft ist standardmäßig auf true festgelegt, und das Blob wird während des Uploads in den Cloudspeicher beibehalten, wenn deleteAfterMinutes abläuft. Sie können sie auf false festlegen. Die Daten werden gelöscht, sobald deleteAfterMinutes abläuft. Hinweis: Damit diese Eigenschaft funktioniert, setzen Sie „uploadOn“ auf „true“.

VORSICHT: Sollten Sie Anfügeblobs verwenden, löscht diese Einstellung Anfügeblobs aus dem lokalen Speicher, wenn der Wert abläuft, und künftige Vorgänge zum Anfügen von Blöcken an diese Blobs schlagen fehl. Stellen Sie sicher, dass der Ablaufwert groß genug für die erwartete Häufigkeit von Anfügevorgängen ist, die von Ihrer Anwendung ausgeführt werden.

Umgebungsvariable: deviceAutoDeleteProperties__retainWhileUploading={false,true}

Verwenden der SMB-Freigabe als lokalen Speicher

Sie können die SMB-Freigabe als Ihren lokalen Speicherpfad bereitstellen, wenn Sie einen Windows-Container dieses Moduls auf dem Windows-Host bereitstellen.

SMB-Freigabe und IoT-Gerät müssen sich in Domänen befinden, die sich gegenseitig vertrauen.

Sie können den PowerShell-Befehl New-SmbGlobalMapping ausführen, um die SMB-Freigabe auf dem IoT-Gerät lokal zuzuordnen, auf dem Windows ausgeführt wird.

Konfigurationsschritte:

$creds = Get-Credential
New-SmbGlobalMapping -RemotePath <remote SMB path> -Credential $creds -LocalPath <Any available drive letter>

Beispiel:

$creds = Get-Credential
New-SmbGlobalMapping -RemotePath \\contosofileserver\share1 -Credential $creds -LocalPath G:

Dieser Befehl verwendet die Anmeldeinformationen zum Authentifizieren beim SMB-Remoteserver. Ordnen Sie anschließend den Pfad für die Remotefreigabe auf G: Laufwerkbuchstabe zu (dies kann jeder verfügbare Laufwerkbuchstabe sein). Auf dem IoT-Gerät ist das Datenvolumen nun einem Pfad auf Laufwerk „G:“ zugeordnet.

Der Benutzer des IoT-Geräts muss über Lese-und Schreibzugriff auf die SMB-Remotefreigabe verfügen.

Für Ihre Bereitstellung kann der Wert von <storage mount> gleich G:/ContainerData:C:/BlobRoot lauten.

Gewähren von Verzeichniszugriff für Containerbenutzer unter Linux

Wenn Sie in Ihren Erstellungsoptionen für Linux-Container volume mount für Speicher verwendet haben, sind keine weiteren Schritte erforderlich. Bei Verwendung von bind mount müssen dagegen die folgenden Schritte ausgeführt werden, damit der Dienst korrekt ausgeführt wird.

Zur Einhaltung des Prinzips der geringsten Rechte, das dazu dient, die Zugriffsrechte von Benutzern auf die Mindestberechtigungen zu beschränken, die sie für ihre Aufgaben benötigen, enthält dieses Modul einen Benutzer (Name: absie, ID: 11000) und eine Benutzergruppe (Name: absie, ID: 11000). Wenn der Container als root gestartet wird (Standardbenutzer ist root), wird der Dienst als der Benutzer absie mit geringen Berechtigungen gestartet.

Dieses Verhalten macht die Konfiguration der Berechtigungen für Hostpfadbindungen erforderlich, damit der Dienst korrekt funktioniert. Andernfalls stürzt der Dienst mit Zugriffsverweigerungsfehlern ab. Der Containerbenutzer (Beispiel: absie 11000) muss auf den in der Verzeichnisbindung verwendeten Pfad zugreifen können. Sie können dem Containerbenutzer Zugriff auf das Verzeichnis gewähren, indem Sie auf dem Host die folgenden Befehle ausführen:

sudo chown -R 11000:11000 <blob-dir>
sudo chmod -R 700 <blob-dir>

Beispiel:

sudo chown -R 11000:11000 /srv/containerdata
sudo chmod -R 700 /srv/containerdata

Wenn Sie den Dienst als ein Benutzer ausführen müssen, bei dem es sich nicht um absie handelt, können Sie in Ihrem Bereitstellungsmanifest in „createOptions“ unter der Eigenschaft „User“ Ihre benutzerdefinierte Benutzer-ID angeben. Verwenden Sie in diesem Fall die Standard- oder Stammgruppen-ID 0 verwenden.

"createOptions": {
  "User": "<custom user ID>:0"
}

Gewähren Sie nun dem Containerbenutzer Zugriff auf das Verzeichnis.

sudo chown -R <user ID>:<group ID> <blob-dir>
sudo chmod -R 700 <blob-dir>

Konfigurieren von Protokolldateien

Die standardmäßige Ausgabeprotokollebene lautet "Info". Um die Ausgabeprotokollebene zu ändern, legen Sie die LogLevel-Umgebungsvariable für dieses Modul im Bereitstellungsmanifest fest. LogLevel akzeptiert die folgenden Werte:

  • Kritisch
  • Fehler
  • Warnung
  • Info
  • Debug

Informationen zur Konfiguration von Protokolldateien für Ihr Modul finden Sie unter den bewährten Methoden für die Produktion.

Herstellen einer Verbindung mit Ihrem Blob Storage-Modul

Sie können mit dem Kontonamen und dem Kontoschlüssel, die Sie für Ihr Modul konfiguriert haben, auf Blob Storage auf Ihrem IoT Edge-Gerät zugreifen.

Geben Sie Ihr IoT Edge-Gerät als Blobendpunkt für Speicheranforderungen an, die Sie vornehmen. Mithilfe der IoT Edge-Geräteinformationen und dem Kontonamen, den Sie konfiguriert haben, können Sie eine Verbindungszeichenfolge für einen bestimmten Speicherendpunkt erstellen.

  • Bei Modulen, die auf demselben Gerät bereitgestellt werden, auf dem auch das Modul „Azure Blob Storage auf IoT Edge“ ausgeführt wird, lautet der Blobendpunkt wie folgt: http://<module name>:11002/<account name>.
  • Bei Modulen oder Anwendungen, die auf einem anderen Gerät ausgeführt werden, müssen Sie den richtigen Endpunkt für Ihr Netzwerk auswählen. Wählen Sie abhängig von Ihrer Netzwerkeinrichtung ein geeignetes Endpunktformat aus, damit der Datenverkehr von Ihrem externen Modul oder Ihrer externen Anwendung das Gerät erreichen kann, auf dem das Modul „Azure Blob Storage auf IoT Edge“ ausgeführt wird. In diesem Szenario wird einer der folgenden Blob-Endpunkte verwendet:
    • http://<device IP >:11002/<account name>
    • http://<IoT Edge device hostname>:11002/<account name>
    • http://<fully qualified domain name>:11002/<account name>

Wichtig

Bei Modulaufrufen für Azure IoT Edge muss die Groß-/Kleinschreibung beachtet werden, und auch für das Storage SDK werden standardmäßig Kleinbuchstaben verwendet. Der Name des Moduls im Azure Marketplace lautet AzureBlobStorageonIoTEdge. Indem Sie den Namen aber ändern und Kleinbuchstaben verwenden, können Sie sicherstellen, dass Ihre Verbindungen mit dem Modul „Azure Blob Storage auf IoT Edge“ nicht unterbrochen werden.

Schnellstartbeispiele für Azure Blob Storage

Die Dokumentation zu Azure Blob Storage enthält Schnellstart-Beispielcode in mehreren Sprachen. Sie können diese Beispiele zum Testen von Azure Blob Storage in IoT Edge herunterladen, indem Sie den Blobendpunkt dahingehend ändern, dass er eine Verbindung mit Ihrem lokalen Blobspeichermodul herstellt.

Die folgenden Schnellstartbeispiele verwenden Sprachen, die auch von IoT Edge unterstützt werden, sodass Sie sie als IoT Edge-Module zusammen mit dem Blobspeichermodul bereitstellen können:

  • .NET
    • Das Modul „Azure Blob Storage in IoT Edge“ ist bis Version 1.4.0 mit dem WindowsAzure.Storage 9.3.3 SDK kompatibel. Außerdem unterstützt Version 1.4.1 auch das Azure.Storage.Blobs 12.8.0 SDK.
  • Python
    • In Versionen vor V2.1 des Python SDK tritt ein bekanntes Problem auf, bei dem das Modul keine Bloberstellungszeit zurückgibt. Aufgrund dieses Problems funktionieren einige Methoden wie das Auflisten von Blobs nicht. Als Problemumgehung legen Sie die API-Version auf dem Blobclient explizit auf „2017-04-17“ fest. Beispiel: block_blob_service._X_MS_VERSION = '2017-04-17'
    • Beispiel für Anfügeblob
  • Node.js
  • JS/HTML
  • Ruby
  • Go
  • PHP

Herstellen einer Verbindung mit Ihrem lokalen Speicher mit Azure Storage-Explorer

Sie können Azure Storage-Explorer verwenden, um eine Verbindung mit Ihrem lokalen Speicherkonto herzustellen.

  1. Herunterladen und Installieren des Azure Storage-Explorers

  2. Die neueste Version des Azure Storage-Explorers verwendet eine neuere Speicher-API-Version, die vom Blobspeichermodul nicht unterstützt wird. Starten Sie Microsoft Azure Storage Explorer. Wählen Sie das Menü Bearbeiten aus. Stellen Sie sicher, dass Azure Stack Hub-APIs als Ziel aktiviert ist. Ist dies nicht der Fall, wählen Sie Azure Stack Hub als Ziel aus. Starten Sie den Azure Storage-Explorer neu, damit die Änderung wirksam wird. Diese Konfiguration ist erforderlich, um die Kompatibilität mit Ihrer IoT Edge-Umgebung zu gewährleisten.

  3. Stellen Sie mithilfe einer Verbindungszeichenfolge eine Verbindung mit Azure Storage her.

  4. Geben Sie die Verbindungszeichenfolge an: DefaultEndpointsProtocol=http;BlobEndpoint=http://<host device name>:11002/<your local account name>;AccountName=<your local account name>;AccountKey=<your local account key>;

  5. Führen Sie die Schritte für die Verbindungsherstellung aus.

  6. Erstellen Sie einen Container innerhalb Ihres lokalen Speicherkontos.

  7. Beginnen Sie mit dem Hochladen von Dateien als Blockblobs oder Anfügeblobs.

    Hinweis

    Dieses Modul unterstützt keine Seitenblobs.

  8. Auf Wunsch können Sie Ihre Azure-Speicherkonten auch im Storage-Explorer verbinden. Mit dieser Konfiguration erhalten Sie eine zentrale Ansicht, die sowohl Ihr lokales Speicherkonto als auch Ihr Azure-Speicherkonto enthält.

Unterstützte Speichervorgänge

Blob Storage-Module in IoT Edge verwenden die Azure Storage SDKs und entsprechen der Version „2017-04-17“ der Azure Storage-API für Blockblob-Endpunkte.

Da nicht alle Azure Blob Storage-Vorgänge von Azure Blob Storage auf IoT Edge unterstützt werden, ist in diesem Abschnitt der jeweilige Status angegeben.

Konto

Unterstützt:

  • Auflisten von Containern

Nicht unterstützt:

  • Abrufen und Festlegen von Blobdiensteigenschaften
  • Preflightüberprüfung von Blobanforderungen
  • Abrufen von Statistiken zum Blobdienst
  • Abrufen von Kontoinformationen

Container

Unterstützt:

  • Erstellen und Löschen von Containern
  • Abrufen von Containereigenschaften und -metadaten
  • Auflisten von Blobs
  • Abrufen und Festlegen von Container-ACLs
  • Festlegen von Containermetadaten

Nicht unterstützt:

  • Leasecontainer

BLOBs

Unterstützt:

  • Festlegen, Abrufen und Löschen von Blobs
  • Abrufen und Festlegen von Blobeigenschaften
  • Abrufen und Festlegen von Blobmetadaten

Nicht unterstützt:

  • Abrufen der Lease von Blobs
  • Erstellen einer Momentaufnahme für Blobs
  • Kopieren von Blobs und Abbrechen eines Blobkopiervorgangs
  • Wiederherstellen eines Blobs
  • Festlegen des Blobtarifs

Blockblobs

Unterstützt:

  • Festlegen von Blocks
  • Festlegen und Abrufen von Blocklisten

Nicht unterstützt:

  • Festlegen von Blocks über die URL

Anfügeblobs

Unterstützt:

  • Anfügen von Blöcken

Nicht unterstützt:

  • Anfügen von Blöcken über URL

Integration von Event Grid in IoT Edge

Achtung

Die Integration von Event Grid in IoT Edge ist als Vorschauversion verfügbar.

Dieses Azure Blob Storage in IoT Edge-Modul ermöglicht jetzt die Integration von Event Grid in IoT Edge. Ausführliche Informationen zu dieser Integration finden Sie im Tutorial zum Bereitstellen der Module, Veröffentlichen von Ereignissen und Überprüfen der Ereignisbereitstellung.

Versionsinformationen

Dies sind die Versionshinweise im Docker-Hub für dieses Modul. Möglicherweise finden Sie in den Versionshinweisen zu einer bestimmten Version weitere Informationen zur Fehlerbehebungen und Wartung.

Nächste Schritte

Informieren Sie sich über das Bereitstellen von Azure Blob Storage auf IoT Edge.

Bleiben Sie in Bezug auf die neuesten Updates und Ankündigung auf der Seite Versionshinweise zu Azure Blob Storage in IoT Edge auf dem Laufenden.