Przekazywanie plików z urządzeń do chmury

Usługa IoT Central umożliwia przekazywanie multimediów i innych plików z połączonych urządzeń do magazynu w chmurze. Można skonfigurować funkcję przekazywania plików w aplikacji usługi IoT Central, a następnie zaimplementować przekazywanie plików w kodzie urządzenia.

Opcjonalnie możesz zarządzać plikami przekazanymi przez urządzenia i wyświetlać je w wersji zapoznawczej w aplikacji usługi IoT Central.

Aby dowiedzieć się, jak skonfigurować przekazywanie plików przy użyciu interfejsu API REST usługi IoT Central, zobacz Dodawanie konfiguracji konta magazynu przekazywania plików.

Wymagania wstępne

Aby skonfigurować przekazywanie plików, musisz być administratorem w aplikacji usługi IoT Central.

Do przechowywania przekazanych plików potrzebne jest konto usługi Azure Storage i kontener. Jeśli nie masz istniejącego konta magazynu i kontenera do użycia, utwórz nowe konto magazynu w witrynie Azure Portal.

Konfigurowanie przekazywania plików urządzenia

Aby skonfigurować przekazywanie plików urządzenia:

  1. Przejdź do sekcji Aplikacja w aplikacji.

  2. Wybierz pozycję Magazyn plików urządzenia.

  3. Wybierz konto magazynu i kontener do użycia. Jeśli konto magazynu znajduje się w innej subskrypcji platformy Azure niż aplikacja, wprowadź konto magazynu parametry połączenia.

  4. W razie potrzeby dostosuj limit czasu przekazywania, który określa, jak długo żądanie przekazywania pozostanie prawidłowe. Prawidłowe wartości to od 1 do 24 godzin.

  5. Aby umożliwić użytkownikom wyświetlanie przekazanych plików i zarządzanie nimi w usłudze IoT Central, ustaw opcję Włącz dostęp do pozycji Włączone.

  6. Wybierz pozycję Zapisz. Gdy stan ma wartość Skonfigurowano, możesz przystąpić do przekazywania plików z urządzeń.

Zrzut ekranu przedstawiający prawidłowo skonfigurowane przekazywanie plików.

Wyłączanie przekazywania plików urządzenia

Jeśli chcesz wyłączyć przekazywanie plików urządzenia do aplikacji usługi IoT Central:

  1. Przejdź do sekcji Aplikacja w aplikacji.

  2. Wybierz pozycję Magazyn plików urządzenia.

  3. Wybierz Usuń.

Kontrola dostępu do przekazanych plików

Użyj ról i uprawnień, aby kontrolować, kto może wyświetlać i usuwać przekazane pliki. Aby dowiedzieć się więcej, zobacz Zarządzanie użytkownikami i rolami w aplikacji > usługi IoT Central Zarządzanie urządzeniami.

Przekazywanie pliku z urządzenia

Usługa IoT Central używa funkcji przekazywania plików usługi IoT Hub, aby umożliwić urządzeniom przekazywanie plików. Przykładowy kod pokazujący sposób przekazywania plików z urządzenia można znaleźć w przykładzie urządzenia do przekazywania plików usługi IoT Central.

Wyświetlanie przekazanych plików i zarządzanie nimi

Jeśli włączono dostęp do plików w konfiguracji przekazywania plików, użytkownicy z odpowiednimi uprawnieniami mogą wyświetlać i usuwać przekazane pliki.

Ważne

Wszystkie pliki w folderze kontenera obiektów blob skojarzonych z urządzeniem są widoczne w widoku Pliki dla tego urządzenia. Obejmuje to wszystkie pliki, które nie zostały przekazane przez urządzenie.

Aby wyświetlić i usunąć przekazane pliki, przejdź do widoku Pliki dla urządzenia. Na tej stronie można zobaczyć miniatury przekazanych plików i przełączać się między galerią a widokiem listy. Każdy plik ma opcje pobierania lub usuwania:

Zrzut ekranu przedstawiający widok galerii dla przekazanych plików.

Napiwek

Typ pliku jest określany przez typ mime przypisany do pliku, który został przekazany do magazynu obiektów blob. Domyślnym typem jest binary/octet-stream.

Widok listy można dostosować, filtrując na podstawie nazwy pliku i wybierając kolumny do wyświetlenia.

Aby wyświetlić podgląd zawartości pliku i uzyskać więcej informacji o pliku, wybierz go. Usługa IoT Central obsługuje podglądy typowych typów plików, takich jak tekst i obrazy:

Zrzut ekranu przedstawiający podgląd pliku tekstowego.

Testowanie przekazywania plików

Po skonfigurowaniu przekazywania plików w aplikacji usługi IoT Central możesz przetestować go przy użyciu przykładowego kodu. Jeśli nie sklonujesz jeszcze przykładowego repozytorium przekazywania plików, użyj następujących poleceń, aby sklonować go do odpowiedniej lokalizacji na komputerze lokalnym i zainstalować pakiety zależne:

git clone https://github.com/azure-Samples/iot-central-file-upload-device
cd iotc-file-upload-device
npm i
npm build

Tworzenie szablonu urządzenia i importowanie modelu

Aby przetestować przekazywanie pliku, uruchom przykładową aplikację urządzenia. Utwórz szablon urządzenia, który ma być używany przez przykładowe urządzenie.

  1. Otwórz aplikację w interfejsie użytkownika usługi IoT Central.

  2. Przejdź do karty Szablony urządzeń w okienku po lewej stronie, wybierz pozycję + Nowy:

  3. Wybierz pozycję Urządzenie IoT jako typ szablonu.

  4. Na stronie Dostosowywanie kreatora wprowadź nazwę, na przykład Plik przekaż przykład urządzenia dla szablonu urządzenia.

  5. Na stronie Przegląd wybierz pozycję Utwórz.

  6. Wybierz pozycję Importuj model i przekaż plik modelu FileUploadDeviceDcm.json z folderu iotc-file-upload-device\setup w pobranym wcześniej repozytorium.

  7. Wybierz pozycję Publikuj, aby opublikować szablon urządzenia.

Dodawanie urządzenia

Aby dodać urządzenie do aplikacji usługi Azure IoT Central:

  1. Wybierz pozycję Urządzenia w okienku po lewej stronie.

  2. Wybierz utworzony wcześniej szablon przykładowego urządzenia przekaż plik.

  3. Wybierz pozycję + Nowy i wybierz pozycję Utwórz.

  4. Wybierz utworzone urządzenie i wybierz pozycję Połącz

Skopiuj wartości dla ID scope, Device IDi Primary key. Te wartości są używane w przykładowym kodzie urządzenia.

Uruchamianie przykładowego kodu

Otwórz repozytorium git pobrane w programie VS Code. Utwórz plik ".env" w katalogu głównym projektu i dodaj skopiowane wcześniej wartości. Plik powinien wyglądać podobnie do poniższego przykładu z wartościami zanotowanymi wcześniej.

scopeId=<YOUR_SCOPE_ID>
deviceId=<YOUR_DEVICE_ID>
deviceKey=<YOUR_PRIMARY_KEY>
modelId=dtmi:IoTCentral:IotCentralFileUploadDevice;1

Otwórz repozytorium git pobrane w programie VS Code. Naciśnij F5, aby uruchomić/debugować przykład. W oknie terminalu zobaczysz, że urządzenie jest zarejestrowane i jest połączone z usługą IoT Central:

Starting IoT Central device...
 > Machine: Windows_NT, 8 core, freemem=6674mb, totalmem=16157mb
Starting device registration...
DPS registration succeeded
Connecting the device...
IoT Central successfully connected device: 7z1xo26yd8
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}
Sending telemetry: {
    "TELEMETRY_SYSTEM_HEARTBEAT": 1
}

Przykładowy projekt zawiera przykładowy plik o nazwie datafile.json. Ten plik jest przekazywany podczas korzystania z polecenia Przekaż plik w aplikacji usługi IoT Central.

Aby przetestować przekazywanie, otwórz aplikację i wybierz utworzone urządzenie. Wybierz kartę Polecenie i zostanie wyświetlony przycisk o nazwie Uruchom. Po wybraniu tego przycisku aplikacja usługi IoT Central wywołuje metodę bezpośrednią na urządzeniu w celu przekazania pliku. Tę metodę bezpośrednią można zobaczyć w przykładowym kodzie w pliku /device.ts. Metoda nosi nazwę uploadFileCommand.

Wybierz kartę Nieprzetworzone dane , aby zweryfikować stan przekazywania pliku.

Zrzut ekranu przedstawiający interfejs użytkownika przedstawiający sposób weryfikowania przekazywania pliku.

Możesz również wykonać wywołanie interfejsu API REST, aby zweryfikować stan przekazywania pliku w kontenerze magazynu.