Share via


Érzékelőintegráció ügyfélként

Kövesse az érzékelőpartnerrel való integráció lépéseit, hogy a partner megkezdhesse az adatok leküldését a Data Manager for Agriculture-példányba.

Minden érzékelőpartner saját több-bérlős Microsoft Entra-alkalmazással rendelkezik, amelyet a Data Manager for Agriculture platformon hoztak létre és tettek közzé. A platformon alapértelmezés szerint támogatott érzékelőpartner a Davis Instruments (sensorPartnerId: DavisInstruments).

A fedélzeti érzékelőpartnerek használatának megkezdéséhez hozzájárulást kell adnia az érzékelőpartnernek, hogy megjelenjenek a App Registrationsképernyőn. A követendő lépések:

  1. Jelentkezzen be az Azure Portalra a "Global Rendszergazda istrator" vagy a "Privileged Role Rendszergazda istrator" hitelesítő adatokkal.

  2. Davis Instruments esetén kattintson erre a hivatkozásra a hozzájárulás megadásához.

  3. Az engedély-felülvizsgálati oldalon a Microsoft Entra alkalmazás a minimális "felhasználói profil olvasása" engedélyre vonatkozó kéréseket kéri. Ez az engedélyszint elegendő a Data Manager for Agriculture érzékelőintegrálásához.

  4. Kattintson az "Elfogadás" gombra a rendszergazdai hozzájárulás megadásához.

  5. Most keresse meg Davis Instruments WeatherLink Data Manager for Agriculture Connector a lap Minden alkalmazás lapját App Registrations (a képen egy általános partnerrel illusztrálva).

    Screenshot showing the partners message.

  6. Másolja ki az alkalmazás (ügyfél) azonosítóját ahhoz a partneralkalmazáshoz, amelyhez hozzáférést szeretne biztosítani.

2. lépés: Szerepkör-hozzárendelés hozzáadása a partneralkalmazáshoz

A következő lépés a szerepkörök hozzárendelése az Azure Portalon az érzékelőpartner-alkalmazás engedélyezéséhez. A Data Manager for Agriculture az Azure RBAC használatával kezeli az engedélyezési kérelmeket.

Jelentkezzen be az Azure Portalra, és keresse meg az erőforráscsoportot, ahol létrehozta a Data Manager for Agriculture erőforrást.

Megjegyzés:

Ha nem találja a létrehozott Data Manager for Agriculture erőforrást az erőforráscsoport lapon, engedélyeznie kell a rejtett típusok megjelenítését.

Az IAM (Identity Access Management) menüt a beállításpanel bal oldalán találja, ahogyan az a képen látható:

Screenshot showing role assignment.

Kattintson a Szerepkör-hozzárendelés hozzáadása elemre>. Ez a művelet megnyílik egy panelen a portál jobb oldalán, és válassza ki a szerepkört a legördülő menüből:

  • AgFood platformérzékelő partner közreműködője – a CRU (létrehozás, olvasás, frissítés) műveletekben az érzékelőkre jellemző összes jogosultsággal rendelkezik.

A szerepkör-hozzárendelés végrehajtásához hajtsa végre a következő lépéseket:

  1. Válassza ki az említett szerepkört.

  2. Válassza a Felhasználó, csoport vagy szolgáltatásnév lehetőséget a Hozzáférés hozzárendelése szakaszban.

  3. Illessze be az érzékelőpartner alkalmazásnevét vagy azonosítóját a Kiválasztás szakaszban (a képen látható módon).

  4. Kattintson a Mentés gombra a szerepkör hozzárendeléséhez.

Screenshot showing app selection for authorization.

Ez a lépés biztosítja, hogy az érzékelőpartner-alkalmazás (a hozzárendelt szerepkör alapján) hozzáférést kapjon az Azure Data Manager for Agriculture Resource-hez.

3. lépés: Érzékelőintegráció engedélyezése

  1. A hívások kezdeményezése előtt engedélyeznie kell az érzékelőintegrációt. Ez a lépés belső Azure-erőforrásokat igényelt a Data Manager for Agriculture-példány érzékelőintegrációjához. Ezt az alábbi armclient parancs futtatásával teheti meg.

    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'}}}"
    

    Sample output:

    {
      "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. A feladat végrehajtása eltarthat néhány percig. A feladat állapotának megismeréséhez használja a következő armclient parancsot:

    armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview
    
  3. A befejezett állapot ellenőrzéséhez tekintse meg a provisioningState attribútumot. Az állapotnak a korábbi lépésben a "Létrehozás" értékről "Sikeres" értékre kell változnia.

    Sample output:

    {
      "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>"
    }
    

Az érzékelőintegrációs lépés befejezésével mostantól létrehozhat érzékelőintegrációs objektumokat.

4. lépés: Integrációs objektum létrehozása

SensorPartnerIntegrations A gyűjtemény használatával és a SensorPartnerIntegrations_CreateOrUpdate API meghívásával hozzon létre egy integrációs objektumot egy adott érzékelőpartner számára. Az érzékelőpartnerek (például Davis) minden egyes felhasználójának egyedi integrációs azonosítóra van szüksége, amelyet a Data Manager for Agriculture erőforrásban hoztak létre.

Két különböző elérési utat kell kiértékelnie:

  • Ha Ön az érzékelőpartnerek által biztosított érzékelők tulajdonosa, hozzon létre csak egy integrációs objektumot (AZONOSÍTÓt) a fiókjához az érzékelőpartnerrel.

  • Ha a végfelhasználók (azaz a farmerek/kiskereskedők/agronomisták) birtokolják az érzékelőket, hozzon létre egy egyedi integrációs objektumot (ID) minden végfelhasználó számára, mert minden végfelhasználó saját fiókkal rendelkezik az érzékelőpartnerrel.

API-végpont: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationID}

A hozzájárulási hivatkozást kérő szakasz az érzékelőpartnerek integrációs folyamatának része. Ezzel a hozzájárulási hivatkozással az érzékelőpartnerek ellenőrizhetik, hogy az ügyfél a szolgáltatás érvényes felhasználója-e. Az érzékelőintegráció a hozzájárulási kulcshoz van kötve.

Az érzékelőpartnerünk , Davis Instruments ezt a felhasználói felületet használja a hozzájárulási hivatkozás beállításának és kérésének engedélyezéséhez.

Az érzékelőpartnerek betárcsáznak az API-végpontba az check-consent érvényesség ellenőrzéséhez. Hozzájárulási hivatkozás létrehozásához az SensorPartnerIntegrations_GenerateConsentLink API-t kell használnia, és meg kell adnia a lépésből létrehozott integrációs azonosítót (3). Válaszként egy consentLink nevű sztringet kap. Másolja ki ezt a sztringet, és adja meg az érzékelőpartnernek további ellenőrzés céljából. Ha a Davis Instruments érzékelőivel dolgozik, kövesse az ezen az oldalon található utasításokat.

API-végpont: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationId}/: generate-consent-link

Ez a lépés az érzékelőpartner beszállásának befejezését jelzi az ügyfél szempontjából. , szerezze be az API-végpontok meghívásához szükséges összes információt az érzékelőmodell, az eszközmodell, az érzékelők és az eszközök létrehozásához. A partnerek mostantól le tudják küldeni az érzékelőeseményeket az egyes érzékelőazonosítókhoz létrehozott kapcsolati sztring használatával.

Az utolsó lépés az érzékelőesemények fogyasztásának megkezdése. Az események felhasználása előtt létre kell hoznia egy leképezést minden érzékelőazonosítóról egy adott félazonosítóra és erőforrásra (Mező, Szezonális mező).

6. lépés: Érzékelőleképezés létrehozása

Használja a gyűjteményt SensorMappings , hívja meg az SensorMappings_CreateOrUpdate API-t az egyes érzékelők leképezésének létrehozásához. A leképezés nem más, mint egy érzékelőazonosító társítása egy adott PartyID-hez és egy erőforráshoz (mező, szezonális mező stb.). A PartyID és az erőforrások már megtalálhatók a Data Manager for Agriculture rendszerben. Ez a társítás biztosítja, hogy platformként adatelemzési modelleket hozzon létre az erőforrás és a fél dimenziójának közös geometriája köré. Minden adatforrás (műholdas, időjárási, farmműveletek) egy fél - erőforráshoz van kötve. Amikor ezt a leképezési objektumot érzékelőnkénti szinten hozza létre, az összes agronómiai használati esetet kihasználva kihasználhatja az érzékelőadatok előnyeit.

API-végpont: PATCH /sensor-mappings/{sensorMappingId}

7. lépés: Érzékelőesemények felhasználása

A gyűjtemény használatával SensorEvents betárcsázhat az SensorEvents_List API-ba, és felhasználhatja az érzékelők által leküldett adatokat. A következő információkat kell megadnia

  • sensorId (megadja, hogy melyik érzékelőhöz szeretné megjeleníteni az adatokat)
  • sensorPartnerId (megadja, hogy melyik érzékelőpartner küldi el ezeket az adatokat)
  • startDateTime &endDateTime (az időtartomány-szűrők biztosítják, hogy az adatok szeletelve legyenek a kért idővonalra)

API-végpont: GET /sensor-events

További lépések

  • Itt tesztelje az API-kat.