Azure IoT Upload Files

· Features

Azure IoT erlaubt das Senden von Daten über mehrere Protokolle wie MQTT oder AMQP; in manchen Fällen ist die Nachrichtengröße aber zu groß, und es ist nötig, Dateien auf Azure-Server hochzuladen. Um dafür eine Lösung zu bieten, ermöglicht IoT Hub Datei-Uploads von verbundenen Geräten, indem er ihnen pro Upload eine Shared-Access-Signature(SAS)-URI für einen Blob-Container und ein Azure-Storage-Konto bereitstellt, die zuvor mit dem Hub konfiguriert wurden. 

Ab sgcWebSockets 2023.8.0 kannst du mit dem Azure-IoT-Client Dateien hochladen. Zertifikate und SAS sind beide unterstützte Authentifizierungsmethoden.

Mehr zum Datei-Upload findest du unter folgendem Link:

https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload

Datei mit Zertifikaten hochladen

Konfiguriere zunächst die Zertifikate in deinem Azure-Konto und trage dann die Pfade von Zertifikats- und Schlüsseldatei in der Azure-IoT-Client-Komponente ein. Rufe die Methode UploadFile auf, um eine Datei aus einem Dateipfad hochzuladen.

oClient := TsgcIoTAzure_MQTT_Client.Create(nil);
Try
  oClient.Certificate.CertFile := 'cert.pem';
  oClient.Certificate.KeyFile := 'key.pem';
  oClient.Certificate.Enabled := True;
  oDialog := TOpenDialog.Create(nil);
  Try
    if oDialog.Execute then
      oClient.UploadFile(oDialog.FileName);
  Finally
    oDialog.Free;
  End;
Finally
  FreeAndNil(oClient);
End; 

Datei mit SAS hochladen

Konfiguriere zunächst den Secret Key in der Azure-IoT-Client-Komponente. Rufe die Methode UploadFile auf, um eine Datei aus einem Dateipfad hochzuladen.

oClient := TsgcIoTAzure_MQTT_Client.Create(nil);
Try
  oClient.SAS.SecretKey := 'your-secret-key';
  oClient.SAS.KeyName := 'key-name';
  oClient.SAS.Enabled := True;
  oDialog := TOpenDialog.Create(nil);
  Try
    if oDialog.Execute then
      oClient.UploadFile(oDialog.FileName);
  Finally
    oDialog.Free;
  End;
Finally
  FreeAndNil(oClient);
End; 

sgcWebSockets IoT-Demo für Amazon- und Azure-Client

Kompilierte Windows-Demo, die die Hauptfunktionen der Amazon- und Azure-IoT-APIs zeigt https://www.esegece.com/download/protocols/sgcIOT.zip