Sensorintegrering som kund

Följ stegen för att integrera med en sensorpartner så att partnern kan börja skicka data till din Data Manager for Agriculture-instans.

Varje sensorpartner har en egen Microsoft Entra-app för flera innehavare som skapats och publicerats på plattformen Data Manager for Agriculture. Sensorpartnern som stöds som standard på plattformen är Davis Instruments (sensorPartnerId: DavisInstruments).

Om du vill börja använda de inbyggda sensorpartnerna måste du ge sitt medgivande till sensorpartnern så att de börjar dyka upp i App Registrations. Stegen som du kan följa:

  1. Logga in på Azure-portalen med autentiseringsuppgifterna "Global administratör" eller "Privilegierad rolladministratör".

  2. För Davis Instruments klickar du på den här länken för att ge medgivande.

  3. På sidan behörighetsgranskning begär Microsoft Entra-appen minst behörigheten "läs användarprofil". Den här behörighetsnivån räcker för sensorintegrering med Data Manager for Agriculture.

  4. Klicka på knappen Acceptera för att bevilja administratörsmedgivande.

  5. Leta nu efter Davis Instruments WeatherLink Data Manager for Agriculture Connector under fliken Alla program på App Registrations sidan (illustrerad med en allmän partner i bilden).

    Screenshot showing the partners message.

  6. Kopiera program-ID :t (klient) för den specifika partnerapp som du vill ge åtkomst till.

Steg 2: Lägga till rolltilldelning i partnerappen

Nästa steg är att tilldela roller i Azure-portalen för att ge auktorisering till sensorpartnerprogrammet. Data Manager for Agriculture använder Azure RBAC för att hantera auktoriseringsbegäranden.

Logga in på Azure-portalen och gå till resursgruppen där du skapade resursen Data Manager för jordbruk.

Kommentar

Om du inte hittar den skapade datahanteraren för jordbruksresursen på fliken Resursgrupp måste du aktivera kryssrutan Visa dolda typer .

Du hittar menyalternativet IAM (Identity Access Management) till vänster i alternativfönstret enligt bilden:

Screenshot showing role assignment.

Klicka på Lägg till > rolltilldelning. Den här åtgärden öppnar ett fönster till höger i portalen och väljer rollen i listrutan:

  • AgFood Platform Sensor Partner Contributor – har alla privilegier i CRU-åtgärderna (Skapa, Läsa, Uppdatera) som är specifika för sensorer.

Utför följande steg för att slutföra rolltilldelningen:

  1. Välj den nämnda rollen.

  2. Välj Användare, grupp eller tjänstens huvudnamn i avsnittet Tilldela åtkomst till.

  3. Klistra in sensorpartnerns appnamn eller ID i avsnittet Välj (som visas i bilden).

  4. Klicka på Spara för att tilldela rollen.

Screenshot showing app selection for authorization.

Det här steget säkerställer att sensorpartnerappen har beviljats åtkomst (baserat på den tilldelade rollen) till Azure Data Manager for Agriculture Resource.

Steg 3: Aktivera sensorintegrering

  1. Du måste aktivera sensorintegrering innan du initierar anrop. Det här steget etablerar nödvändiga interna Azure-resurser för sensorintegrering i din Data Manager for Agriculture-instans. Du kan göra detta genom att köra följande armclient-kommando .

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

    Exempel på utdata:

    {
      "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. Jobbet kan ta några minuter att slutföra. Om du vill veta status för jobbet kan du använda följande armclient-kommando:

    armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview
    
  3. Om du vill verifiera slutförd status tittar du på attributet provisioningState . Statusen måste ändras till "Lyckades" från "Skapa" i det tidigare steget.

    Exempel på utdata:

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

När sensorintegreringssteget är klart kan du nu skapa sensorintegreringsobjekt.

Steg 4: Skapa integrationsobjekt

SensorPartnerIntegrations Använd samlingen och anropa till SensorPartnerIntegrations_CreateOrUpdate-API:et för att skapa ett integrationsobjekt för en viss sensorpartner. Varje enskild kund till en sensorpartner (till exempel Davis) behöver ett unikt integrations-ID som skapats i deras Data Manager for Agriculture-resurs.

Det finns två olika sökvägar som du behöver utvärdera:

  • Om du är ägare till de sensorer som tillhandahålls av sensorpartnerna skapar du bara ett integrationsobjekt (ID) för ditt konto med sensorpartnern.

  • Om slutanvändarna (dvs. Farmers/Retailers/Agronomists) äger sensorerna skapar du ett unikt integrationsobjekt (ID) för varje slutanvändare eftersom varje slutanvändare har sina egna konton hos sensorpartnern.

API-slutpunkt: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationID}

Ett avsnitt som begär medgivandelänken är en del av sensorpartnerintegreringsflödet. Den här medgivandelänken är ett sätt för sensorpartner att verifiera om kunden är en giltig användare av tjänsten. Sensorintegrering är kopplad till medgivandenyckeln.

Vår sensorpartner Davis Instruments använder det här användargränssnittet för att aktivera konfiguration och begära medgivandelänken.

Sensorpartner anropar API-slutpunkten check-consent för att verifiera giltigheten. För att generera en medgivandelänk måste du använda API:et SensorPartnerIntegrations_GenerateConsentLink och ange integrations-ID:t som skapades från steget (3). Som svar får du en sträng med namnet consentLink. Kopiera den här strängen och tillhandahåll den till sensorpartnern för ytterligare validering. Om du använder sensorer från Davis Instruments följer du instruktionerna på den här sidan.

API-slutpunkt: PATCH /sensor-partners/{sensorPartnerId}/integrations/{integrationId}/: generate-consent-link

Det här steget markerar slutförandet av sensorpartnern på ombordstigning ur ett kundperspektiv. , hämta all information som krävs för att anropa dina API-slutpunkter för att skapa sensormodell, enhetsmodell, sensorer och enheter. Partnerna kan nu skicka sensorhändelser med hjälp av anslutningssträng som genereras för varje sensor-ID.

Det sista steget är att börja använda sensorhändelser. Innan du använder händelserna måste du skapa en mappning av varje sensor-ID till ett specifikt part-ID och en specifik resurs (fält, säsongsfält).

Steg 6: Skapa sensormappning

Använd samlingen SensorMappings och anropa API:et SensorMappings_CreateOrUpdate för att skapa mappning för var och en av sensorerna. Mappning är inget annat än att associera ett sensor-ID med ett specifikt PartyID och en resurs(fält, säsongsfält osv.). PartyID och resurser finns redan i Data Manager for Agriculture-systemet. Den här associationen säkerställer att du som plattform får skapa datavetenskapsmodeller kring en gemensam geometri för resurs- och partdimensionen. Varje datakälla (satellit, väder, servergruppsåtgärder) är kopplad till en part och resurs. När du etablerar det här mappningsobjektet på en nivå per sensor kan du använda alla agronomiska användningsfall för att dra nytta av sensordata.

API-slutpunkt: PATCH /sensormappningar/{sensorMappingId}

Steg 7: Förbruka sensorhändelser

Använd samlingen SensorEvents för att anropa api:et SensorEvents_List och använda data som push-överförs av dina sensorer. Du måste ange följande information

  • sensorId (anger för vilken sensor du vill att data ska visas)
  • sensorPartnerId (anger vilken sensorpartner som pushar dessa data)
  • startDateTime & endDateTime (tidsintervallfilter säkerställer att data segmenteras till begärd tidslinje)

API-slutpunkt: GET /sensor-events

Nästa steg

  • Testa våra API:er här.