Azure IoT, MQTT veya AMQP gibi çeşitli protokolleri kullanarak veri göndermeye olanak tanır, ancak bazı durumlarda mesajın boyutu çok büyüktür ve Azure Sunucularına dosya yüklenmesini gerektirir. Bu soruna bir çözüm sağlamak için IoT hub, hub ile önceden yapılandırılmış bir blob kapsayıcısı ve Azure depolama hesabı için her yükleme başına shared access signature (SAS) URI'leri sağlayarak bağlı cihazlardan dosya yüklemelerini kolaylaştırır.
sgcWebSockets 2023.8.0'dan itibaren, Azure IoT istemcisini kullanarak dosya yükleyebilirsiniz. Sertifikalar ve SAS her ikisi de desteklenen kimlik doğrulama yöntemleridir.
Dosya Yükleme hakkında daha fazla bilgiyi aşağıdaki bağlantıyı kullanarak okuyabilirsiniz:
https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-file-upload
Sertifikalar Kullanarak Dosya Yükleme
Önce Azure Hesabınızda sertifikaları yapılandırın ve ardından Azure IoT İstemci Bileşeninde sertifika ve anahtar dosyasının yollarını ayarlayın. Bir dosya adı yolundan bir dosya yüklemek için UploadFile metodunu çağırın.
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;
SAS Kullanarak Dosya Yükleme
Önce Azure IoT İstemci Bileşeninde Secret Key'i yapılandırın. Bir dosya adı yolundan bir dosya yüklemek için UploadFile metodunu çağırın.
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;
