Szybki start: eksportowanie danych z aplikacji usługi IoT Central

W tym przewodniku Szybki start skonfigurujesz aplikację usługi IoT Central w celu wyeksportowania danych usługi Azure Data Explorer. Usługa Azure Data Explorer umożliwia przechowywanie, wykonywanie zapytań i przetwarzanie danych telemetrycznych z urządzeń, takich jak aplikacja IoT Plug and Play na smartfonie.

W ramach tego przewodnika Szybki start wykonasz następujące czynności:

  • Funkcja eksportowania danych w usłudze IoT Central umożliwia telemetrię z aplikacji na smartfony do bazy danych usługi Azure Data Explorer.
  • Użyj usługi Azure Data Explorer, aby uruchamiać zapytania dotyczące danych telemetrycznych.

Ukończenie tego przewodnika Szybki start wiąże się z niewielkimi kosztami na koncie platformy Azure dla wystąpienia usługi Azure Data Explorer. Pierwsze dwa urządzenia w aplikacji usługi IoT Central są bezpłatne.

Wymagania wstępne

Instalowanie usług platformy Azure

Aby można było wyeksportować dane z aplikacji usługi IoT Central, potrzebujesz klastra i bazy danych usługi Azure Data Explorer. W tym przewodniku Szybki start uruchomisz skrypt powłoki bash w usłudze Azure Cloud Shell , aby je utworzyć i skonfigurować.

Skrypt wykonuje następujące kroki:

  • Monituje o zalogowanie się do subskrypcji platformy Azure w celu wygenerowania tokenu elementu nośnego w celu uwierzytelnienia wywołań interfejsu API REST.
  • Tworzy klaster i bazę danych usługi Azure Data Explorer.
  • Tworzy tożsamość zarządzaną dla aplikacji usługi IoT Central.
  • Konfiguruje tożsamość zarządzaną z uprawnieniami dostępu do bazy danych usługi Azure Data Explorer.
  • Dodaje tabelę do bazy danych w celu przechowywania przychodzących danych telemetrycznych z usługi IoT Central.

Uruchom następujące polecenia, aby pobrać skrypt do środowiska usługi Azure Cloud Shell:

wget https://raw.githubusercontent.com/Azure-Samples/iot-central-docs-samples/main/quickstart-cde/createADX.sh
chmod u+x createADX.sh

Użyj następującego polecenia, aby uruchomić skrypt:

  • Zastąp CLUSTER_NAME element unikatową nazwą klastra usługi Azure Data Explorer. Nazwa klastra może zawierać tylko małe litery i cyfry. Długość nazwy klastra musi wynosić od 4 do 22 znaków.
  • Zastąp CENTRAL_URL_PREFIX ciąg prefiksem adresu URL, który został wybrany w pierwszym przewodniku Szybki start dla aplikacji usługi IoT Central.
  • Po wyświetleniu monitu postępuj zgodnie z instrukcjami, aby zalogować się do konta. Skrypt musi się zalogować, ponieważ generuje token elementu nośnego w celu uwierzytelnienia wywołania interfejsu API REST.
./createADX.sh CLUSTER_NAME CENTRAL_URL_PREFIX

Ważne

Uruchomienie tego skryptu może potrwać od 20 do 30 minut.

Zanotuj dane wyjściowe adresu URL usługi Azure Data Explorer za pomocą skryptu. Użyjesz tej wartości w dalszej części tego przewodnika Szybki start.

Konfigurowanie eksportu danych

Aby skonfigurować miejsce docelowe eksportu danych z usługi IoT Central:

  1. Przejdź do strony Eksportowanie danych w aplikacji usługi IoT Central.
  2. Wybierz kartę Miejsca docelowe , a następnie dodaj lokalizację docelową.
  3. Wprowadź wartość Azure Data Explorer jako nazwę docelową. Wybierz pozycję Azure Data Explorer jako typ docelowy.
  4. W polu Adres URL klastra wprowadź adres URL usługi Azure Data Explorer zanotuj wcześniej.
  5. W polu Nazwa bazy danych wprowadź phonedata.
  6. W polu Nazwa tabeli wprowadź wartość przyspieszania.
  7. W obszarze Autoryzacja wybierz pozycję Tożsamość zarządzana przypisana przez system.
  8. Wybierz pozycję Zapisz.

Aby skonfigurować eksport danych:

  1. Na stronie Eksportowanie danych wybierz kartę Eksporty , a następnie pozycję Dodaj eksport.

  2. Wprowadź Telefon akcelerometr jako nazwę eksportu.

  3. Wybierz pozycję Telemetria jako typ danych do wyeksportowania.

  4. Skorzystaj z informacji w poniższej tabeli, aby dodać dwa filtry:

    Nazwisko Operator Wartość
    Szablon urządzenia Równa się Urządzenia przenośne IoT Plug and Play
    Czujniki/przyspieszanie/X Exists Nie dotyczy

    Upewnij się, że opcja eksportowania danych, jeśli wszystkie warunki są spełnione, jest ustawiona.

  5. Dodaj usługę Azure Data Explorer jako miejsce docelowe.

  6. Dodaj przekształcenie danych do miejsca docelowego. Dodaj następujące zapytanie w 2. Skompiluj pole zapytania przekształcenia na stronie Przekształcanie danych:

    import "iotc" as iotc;
    {
        Device: .device.id,
        EnqueuedTime: .enqueuedTime,
        X: .telemetry | iotc::find(.name == "accelerometer").value.x,
        Y: .telemetry | iotc::find(.name == "accelerometer").value.y,
        Z: .telemetry | iotc::find(.name == "accelerometer").value.z
    }
    

    Screenshot that shows the data transformation query for the export.

    Aby zobaczyć, jak działa transformacja i eksperymentować z zapytaniem, wklej następujący przykładowy komunikat telemetrii do 1. Dodaj komunikat wejściowy:

    {
      "messageProperties": {},
      "device": {
        "id": "8hltz8xa7n",
        "properties": {
          "reported": []
        },
        "approved": true,
        "types": [],
        "name": "8hltz8xa7n",
        "simulated": false,
        "provisioned": true,
        "modules": [],
        "templateId": "urn:modelDefinition:vlcd3zvzdm:y425jkkpqzeu",
        "templateName": "IoT Plug and Play mobile",
        "organizations": [],
        "cloudProperties": [],
        "blocked": false
      },
      "component": "sensors",
      "applicationId": "40a97c91-50cc-44f0-9f63-71386613facc",
      "messageSource": "telemetry",
      "telemetry": [
        {
          "id": "dtmi:azureiot:PhoneSensors:__accelerometer;1",
          "name": "accelerometer",
          "value": {
            "x": 0.09960123896598816,
            "y": 0.09541380405426025,
            "z": 9.907781600952148
          }
        }
      ],
      "enqueuedTime": "2021-11-12T10:01:30.588Z",
      "enrichments": {}
    }
    
  7. Zapisz przekształcenie. Następnie zapisz definicję eksportu danych.

Poczekaj na wyświetlenie stanu eksportu w dobrej kondycji:

Screenshot that shows a running data export with the healthy status.

Wykonywanie zapytań dotyczących wyeksportowanych danych

Aby wysłać zapytanie do wyeksportowanych danych telemetrycznych:

  1. Użyj danych wyjściowych adresu URL usługi Azure Data Explorer przez uruchomiony wcześniej skrypt, aby przejść do środowiska usługi Azure Data Explorer.

  2. Rozwiń węzeł klastra i wybierz bazę danych phonedata . Zakres okna zapytania zmienia się na Scope:yourclustername.eastus/phonedata.

  3. W usłudze Azure Data Explorer otwórz nową kartę i wklej następujące zapytanie Kusto, a następnie wybierz pozycję Uruchom , aby wykreślić telemetrię akcelerometru:

['acceleration'] 
    | project EnqueuedTime, Device, X, Y, Z
    | render timechart 

Może być konieczne odczekanie kilku minut, aby zebrać wystarczającą ilość danych. Aby zobaczyć zmianę wartości telemetrii, spróbuj trzymać telefon w różnych orientacjach:

Screenshot of the query results for the accelerometer telemetry.

Czyszczenie zasobów

Jeśli nie planujesz ukończenia dalszych przewodników Szybki start lub samouczków usługi IoT Central, możesz usunąć aplikację usługi IoT Central:

  1. W aplikacji usługi IoT Central przejdź do obszaru Zarządzanie aplikacjami>.
  2. Wybierz pozycję Usuń , a następnie potwierdź akcję.

Aby usunąć wystąpienie usługi Azure Data Explorer z subskrypcji i uniknąć niepotrzebnego naliczania opłat, usuń grupę zasobów IoTCentralExportData-rg z witryny Azure Portal lub uruchom następujące polecenie w usłudze Azure Cloud Shell:

az group delete --name IoTCentralExportData-rg

Następny krok

W tym przewodniku Szybki start przedstawiono sposób ciągłego eksportowania danych z usługi IoT Central do innej usługi platformy Azure.

Teraz, gdy już wiesz, że chcesz wyeksportować dane, sugerowanym następnym krokiem jest: