Azure IoT bestanden uploaden

· Functies

Azure IoT staat het versturen van data toe via diverse protocollen zoals MQTT of AMQP, maar in sommige gevallen is de berichtgrootte te groot en moeten bestanden worden geüpload naar Azure-servers. Als oplossing voor dit probleem faciliteert IoT hub file-uploads vanaf verbonden apparaten door ze per upload SAS-URI's (shared access signature) te geven voor een blob-container en Azure storage-account die vooraf met de hub zijn geconfigureerd. 

Vanaf sgcWebSockets 2023.8.0 kun je bestanden uploaden via de Azure IoT-client. Zowel certificaten als SAS worden als authenticatiemethoden ondersteund.

Meer over file-upload lees je via de volgende link:

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

Bestand uploaden met certificaten

Configureer eerst de certificaten in je Azure-account en stel dan de paden van het certificaat- en key-bestand in op de Azure IoT-clientcomponent. Roep de methode UploadFile aan om een bestand vanaf een bestandsnaam-pad te uploaden.

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; 

Bestand uploaden met SAS

Configureer eerst de Secret Key in de Azure IoT-clientcomponent. Roep de methode UploadFile aan om een bestand vanaf een bestandsnaam-pad te uploaden.

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 Amazon- en Azure-client-demo

Gecompileerde demo voor Windows die de belangrijkste functies van de Amazon- en Azure IoT-API's laat zien. https://www.esegece.com/download/protocols/sgcIOT.zip