Udostępnij za pośrednictwem


Integracja czujnika jako klient

Wykonaj kroki integracji z partnerem czujników, aby umożliwić partnerowi rozpoczęcie wypychania danych do wystąpienia usługi Data Manager for Agriculture.

Każdy partner czujników ma własną wielodostępną aplikację Firmy Microsoft Entra utworzoną i opublikowaną na platformie Data Manager for Agriculture. Partnerem czujnika obsługiwanym domyślnie na platformie jest Davis Instruments (sensorPartnerId: DavisInstruments).

Aby rozpocząć korzystanie z wbudowanych partnerów czujników, musisz wyrazić zgodę na partnera czujników, aby zaczęli pojawiać się w programie App Registrations. Kroki, które należy wykonać:

  1. Zaloguj się do witryny Azure Portal przy użyciu poświadczeń "Global Administracja istrator" lub "Privileged Role Administracja istrator".

  2. W przypadku instrumentów Davisa kliknij ten link , aby wyrazić zgodę.

  3. Na stronie przeglądu uprawnień aplikacja Microsoft Entra żąda minimalnej "odczytu profilu użytkownika". Ten poziom uprawnień jest wystarczający do integracji czujników z usługą Data Manager for Agriculture.

  4. Kliknij przycisk "Akceptuj", aby udzielić zgody administratora.

  5. Teraz poszukaj na Davis Instruments WeatherLink Data Manager for Agriculture Connector stronie karty App Registrations Wszystkie aplikacje (zilustrowane ogólnym partnerem na obrazie).

    Screenshot showing the partners message.

  6. Skopiuj identyfikator aplikacji (klienta) dla określonej aplikacji partnera, do której chcesz zapewnić dostęp.

Krok 2. Dodawanie przypisania roli do aplikacji partnera

Następnym krokiem jest przypisanie ról w witrynie Azure Portal w celu zapewnienia autoryzacji do aplikacji partnera czujników. Menedżer danych dla rolnictwa używa kontroli dostępu opartej na rolach platformy Azure do zarządzania żądaniami autoryzacji.

Zaloguj się do witryny Azure Portal i przejdź do grupy zasobów, w której utworzono zasób Data Manager for Agriculture.

Uwaga

Jeśli na karcie grupa zasobów nie znajdziesz utworzonego zasobu Data Manager for Agriculture, musisz włączyć pole wyboru Pokaż ukryte typy .

Opcja menu Zarządzanie dostępem do tożsamości znajduje się po lewej stronie okienka opcji, jak pokazano na ilustracji:

Screenshot showing role assignment.

Kliknij pozycję Dodaj > przypisanie roli. Ta akcja otwiera okienko po prawej stronie portalu, wybierz rolę z listy rozwijanej:

  • Współautor partnera czujnika platformy AgFood — ma wszystkie uprawnienia w operacjach CRU (tworzenie, odczytywanie i aktualizowanie), które są specyficzne dla czujników.

Aby ukończyć przypisanie roli, wykonaj następujące czynności:

  1. Wybierz wymienioną rolę.

  2. Wybierz pozycję Użytkownik, grupa lub jednostka usługi w sekcji Przypisz dostęp do.

  3. Wklej nazwę lub identyfikator aplikacji partnera czujnika w sekcji Wybierz (jak pokazano na obrazie).

  4. Kliknij przycisk Zapisz, aby przypisać rolę.

Screenshot showing app selection for authorization.

Ten krok gwarantuje, że aplikacja partnerów czujników uzyskała dostęp (na podstawie przypisanej roli) do usługi Azure Data Manager for Agriculture Resource.

Krok 3. Włączanie integracji czujników

  1. Przed zainicjowaniem wywołań należy włączyć integrację czujnika. Ten krok aprowizuje wewnętrzne zasoby platformy Azure na potrzeby integracji czujników w wystąpieniu usługi Data Manager for Agriculture. Można to zrobić, uruchamiając następujące polecenie armclient .

    armclient patch /subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview "{properties:{sensorIntegration:{enabled:'true'}}}"
    

    Przykładowe dane wyjściowe:

    {
      "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>",
      "type": "Microsoft.AgFoodPlatform/farmBeats",
      "sku": {
        "name": "A0"
      },
      "systemData": {
        "createdBy": "<customer-id>",
        "createdByType": "User",
        "createdAt": "2022-03-11T03:36:32Z",
        "lastModifiedBy": "<customer-id>",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-03-11T03:40:06Z"
      },
      "properties": {
        "instanceUri": "https://<farmbeats-instance-name>.farmbeats.azure.net/",
        "provisioningState": "Succeeded",
        "sensorIntegration": {
          "enabled": "True",
          "provisioningState": "**Creating**"
        },
        "publicNetworkAccess": "Enabled"
      },
      "location": "eastus",
      "name": "myfarmbeats"
    }
    
  2. Wykonanie zadania może potrwać kilka minut. Aby poznać stan zadania, możesz użyć następującego polecenia armclient:

    armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview
    
  3. Aby sprawdzić stan ukończenia, zapoznaj się z atrybutem provisioningState . Stan musi zmienić się na "Powodzenie" z "Tworzenie" we wcześniejszym kroku.

    Przykładowe dane wyjściowe:

    {
      "id": "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>",
      "type": "Microsoft.AgFoodPlatform/farmBeats",
      "sku": {
        "name": "A0"
      },
      "systemData": {
        "createdBy": "<customer-id>",
        "createdByType": "User",
        "createdAt": "2022-03-11T03:36:32Z",
        "lastModifiedBy": "<customer-id>",
        "lastModifiedByType": "User",
        "lastModifiedAt": "2022-03-11T03:40:06Z"
      },
      "properties": {
        "instanceUri": "https://<customer-host-name>.farmbeats.azure.net/",
        "provisioningState": "Succeeded",
        "sensorIntegration": {
          "enabled": "True",
          "provisioningState": "**Succeeded**"
        },
        "publicNetworkAccess": "Enabled"
      },
      "tags": {
        "usage": "<sensor-partner-id>"
      },
      "location": "eastus",
      "name": "<customer-id>"
    }
    

Po zakończeniu kroku integracji czujnika można teraz tworzyć obiekty integracji czujników.

Krok 4. Tworzenie obiektu integracji

SensorPartnerIntegrations Użyj kolekcji i wywołaj interfejs API SensorPartnerIntegrations_CreateOrUpdate, aby utworzyć obiekt integracji dla danego partnera czujników. Każdy klient partnera czujników (na przykład: Davis) potrzebuje unikatowego identyfikatora integracji utworzonego w zasobie Data Manager for Agriculture.

Istnieją dwie różne ścieżki, które należy ocenić:

  • Jeśli jesteś właścicielami czujników dostarczonych przez partnerów czujników, utwórz tylko jeden obiekt integracji (ID) dla twojego konta z partnerem czujnika.

  • Jeśli użytkownicy końcowi (czyli Rolnicy/Sprzedawcy detaliczni/Agronomiści) posiadają czujniki, utwórz unikatowy obiekt integracji (ID) dla każdego użytkownika końcowego, ponieważ każdy użytkownik końcowy ma własne konta z partnerem czujnika.

Punkt końcowy interfejsu API: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationID}

Sekcja żądana linku zgody jest częścią przepływu integracji partnera czujników. Ten link zgody umożliwia partnerom czujników sprawdzenie, czy klient jest prawidłowym użytkownikiem usługi. Integracja czujnika jest powiązana z kluczem zgody.

Nasz partner czujników Davis Instruments używa tego interfejsu użytkownika do włączania konfiguracji i żądania uzyskania linku zgody.

Partnerzy czujników wywołają punkt końcowy interfejsu API, check-consent aby zweryfikować poprawność. Aby wygenerować link zgody, musisz użyć interfejsu SensorPartnerIntegrations_GenerateConsentLink API i podać identyfikator integracji utworzony na podstawie kroku (3). W odpowiedzi otrzymasz ciąg o nazwie consentLink. Skopiuj ten ciąg i podaj go partnerowi czujnika w celu dalszej weryfikacji. Jeśli używasz czujników z Davis Instruments, postępuj zgodnie z instrukcjami na tej stronie.

Punkt końcowy interfejsu API: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationId}/: generate-consent-link

Ten krok oznacza ukończenie dołączania partnera czujników z perspektywy klienta. , uzyskaj wszystkie wymagane informacje, aby wywołać punkty końcowe interfejsu API w celu utworzenia modelu czujnika, modelu urządzenia, czujników i urządzeń. Partnerzy mogą teraz wypychać zdarzenia czujnika przy użyciu parametry połączenia generowanych dla każdego identyfikatora czujnika.

Ostatnim krokiem jest rozpoczęcie korzystania z zdarzeń czujnika. Przed użyciem zdarzeń należy utworzyć mapowanie każdego identyfikatora czujnika na określony identyfikator strony i zasób (pole, pole sezonowe).

Krok 6. Tworzenie mapowania czujników

Użyj kolekcji, wywołaj SensorMappings interfejs SensorMappings_CreateOrUpdate API, aby utworzyć mapowanie dla każdego czujnika. Mapowanie nie jest niczym, ale kojarzenie identyfikatora czujnika z określonym identyfikatorem PartyID i zasobem (pole, pole sezonowe itp.). Identyfikator partyID i zasoby są już obecne w systemie Data Manager for Agriculture. To skojarzenie gwarantuje, że jako platforma uzyskasz możliwość tworzenia modeli nauki o danych wokół wspólnej geometrii wymiaru zasobu i strony. Każde źródło danych (satelita, pogoda, operacje na farmie) jest powiązane z zasobem i stroną. Podczas ustanawiania tego obiektu mapowania na poziomie czujnika zasilasz wszystkie przypadki użycia agronomii, aby korzystać z danych czujników.

Punkt końcowy interfejsu API: PATCH /sensor-mappings/{sensorMappingId}

Krok 7. Korzystanie ze zdarzeń czujnika

SensorEvents Użyj kolekcji, aby wywołać SensorEvents_List interfejs API i wykorzystać dane wypychane przez czujniki. Musisz podać następujące informacje

  • sensorId (określa, dla którego czujnika mają być wyświetlane dane)
  • sensorPartnerId (określa, który partner czujnika wypycha te dane)
  • startDateTime i endDateTime (filtry zakresu czasu zapewniają, że dane są dzielone na żądaną oś czasu)

Punkt końcowy interfejsu API: GET /sensor-events

Następne kroki