Azure IoT permet d'envoyer des données via plusieurs protocoles comme MQTT ou AMQP, mais dans certains cas, la taille du message est trop importante et il faut téléverser des fichiers vers les serveurs Azure. Pour résoudre ce problème, IoT Hub facilite les téléversements de fichiers depuis les appareils connectés en leur fournissant des URIs Shared Access Signature (SAS) à chaque téléversement, pour un blob container et un compte de stockage Azure préconfigurés avec le hub.
À partir de sgcWebSockets 2023.8.0, tu peux téléverser des fichiers avec le client Azure IoT. Les certificats et le SAS sont tous deux des méthodes d'authentification prises en charge.
Tu peux en savoir plus sur le téléversement de fichiers via le lien suivant :
https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload
Téléverser un fichier avec des certificats
Configure d'abord les certificats dans ton compte Azure, puis renseigne les chemins du fichier de certificat et de clé dans le composant client Azure IoT. Appelle la méthode UploadFile pour téléverser un fichier depuis un chemin.
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;
Téléverser un fichier avec SAS
Configure d'abord la Secret Key dans le composant client Azure IoT. Appelle la méthode UploadFile pour téléverser un fichier depuis un chemin.
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;
