Azure IoT — przesyłanie plików

· Funkcje

Azure IoT umożliwia wysyłanie danych przy użyciu różnych protokołów, takich jak MQTT lub AMQP. Jednak w niektórych przypadkach rozmiar wiadomości jest zbyt duży i wymaga przesłania plików na serwery Azure. Aby rozwiązać ten problem, IoT Hub ułatwia przesyłanie plików z podłączonych urządzeń, dostarczając im identyfikatory URI z sygnaturą dostępu współdzielonego (SAS) dla każdego przesłania do kontenera blob i konta magazynu Azure skonfigurowanych w hubie. 

Począwszy od wersji sgcWebSockets 2023.8.0 możesz przesyłać pliki za pomocą klienta Azure IoT. Obsługiwane są obie metody uwierzytelniania: certyfikaty i SAS.

Więcej informacji o przesyłaniu plików znajdziesz pod następującym linkiem:

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

Przesyłanie pliku za pomocą certyfikatów

Najpierw skonfiguruj certyfikaty na swoim koncie Azure, a następnie ustaw ścieżki do pliku certyfikatu i klucza w komponencie klienta Azure IoT. Wywołaj metodę UploadFile, aby przesłać plik na podstawie ścieżki.

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; 

Przesyłanie pliku za pomocą SAS

Najpierw skonfiguruj klucz tajny w komponencie klienta Azure IoT. Wywołaj metodę UploadFile, aby przesłać plik na podstawie ścieżki.

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 and Azure Client Demo

Skompilowane demo dla systemu Windows pokazujące główne funkcje API Amazon i Azure IoT https://www.esegece.com/download/protocols/sgcIOT.zip