Azure IoT permite enviar datos usando varios protocolos como MQTT o AMQP, pero en algunos casos el tamaño del mensaje es demasiado grande y requiere subir archivos a los servidores de Azure. Para resolverlo, IoT hub facilita la subida de archivos desde dispositivos conectados proporcionando URIs Shared Access Signature (SAS) por cada subida para un blob container y una cuenta de almacenamiento Azure preconfigurados con el hub.
Desde sgcWebSockets 2023.8.0, puedes subir archivos usando el cliente Azure IoT. Tanto certificados como SAS son métodos de autenticación soportados.
Puedes leer más sobre la subida de archivos en el siguiente enlace:
https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload
Subir archivo usando certificados
Primero configura los certificados en tu cuenta Azure y luego establece las rutas del certificado y del archivo de clave en el componente Azure IoT Client. Llama al método UploadFile para subir un archivo desde una ruta.
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;
Subir archivo usando SAS
Primero configura la Secret Key en el componente Azure IoT Client. Llama al método UploadFile para subir un archivo desde una ruta.
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;
