Caricamento file su Azure IoT

· Funzionalità

Azure IoT permette di inviare dati con diversi protocolli come MQTT o AMQP, ma in alcuni casi la dimensione del messaggio è troppo grande e richiede di caricare file sui server Azure. Per offrire una soluzione a questo problema, IoT hub facilita il caricamento di file dai dispositivi connessi fornendo loro URI di shared access signature (SAS) per ogni caricamento, riferiti a un blob container e a un account di archiviazione Azure preconfigurati con l'hub. 

A partire da sgcWebSockets 2023.8.0, puoi caricare file usando il client Azure IoT. Sia i certificati che le SAS sono metodi di autenticazione supportati.

Puoi approfondire il caricamento dei file al seguente link:

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

Caricamento file con certificati

Configura prima i certificati nel tuo account Azure, poi imposta i percorsi del file di certificato e di chiave nel componente Azure IoT Client. Richiama il metodo UploadFile per caricare un file a partire dal suo percorso.

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; 

Caricamento file con SAS

Configura prima la Secret Key nel componente Azure IoT Client. Richiama il metodo UploadFile per caricare un file a partire dal suo percorso.

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; 

Demo client sgcWebSockets IoT Amazon e Azure

Demo compilata per Windows che mostra le funzionalità principali delle API IoT di Amazon e Azure https://www.esegece.com/download/protocols/sgcIOT.zip