Share via


Sensorintegratie als klant

Volg de stappen om te integreren met een sensorpartner om de partner in staat te stellen de gegevens naar uw Data Manager for Agriculture-exemplaar te pushen.

Elke sensorpartner heeft een eigen Microsoft Entra-app met meerdere tenants die is gemaakt en gepubliceerd op het Data Manager for Agriculture-platform. De sensorpartner die standaard op het platform wordt ondersteund, is Davis Instruments (sensorPartnerId: DavisInstruments).

Als u wilt beginnen met het gebruik van de ingebouwde sensorpartners, moet u toestemming geven aan de sensorpartner zodat ze worden weergegeven in App Registrations. De stappen die u moet volgen:

  1. Meld u aan bij Azure Portal met de referenties 'Global Beheer istrator' of 'Privileged Role Beheer istrator'.

  2. Klik voor Davis Instruments op deze link om toestemming te geven.

  3. Op de pagina voor het controleren van machtigingen vraagt de Microsoft Entra-app om een minimale machtiging voor het lezen van gebruikersprofielen. Dit machtigingsniveau is voldoende voor sensorintegratie met Data Manager for Agriculture.

  4. Klik op de knop Accepteren om beheerderstoestemming te verlenen.

  5. Davis Instruments WeatherLink Data Manager for Agriculture Connector Zoek nu onder het tabblad Alle toepassingen op de App Registrations pagina (geïllustreerd met een algemene partner in de afbeelding).

    Screenshot showing the partners message.

  6. Kopieer de toepassings-id (client) voor de specifieke partner-app waartoe u toegang wilt verlenen.

Stap 2: Roltoewijzing toevoegen aan de partner-app

De volgende stap is het toewijzen van rollen in Azure Portal om autorisatie te verlenen aan de sensorpartnertoepassing. Data Manager for Agriculture gebruikt Azure RBAC om autorisatieaanvragen te beheren.

Meld u aan bij Azure Portal en navigeer naar uw resourcegroep waar u de Data Manager for Agriculture-resource hebt gemaakt.

Notitie

Als u de gemaakte Data Manager for Agriculture-resource niet kunt vinden, schakelt u het selectievakje Verborgen typen weergeven in op het tabblad Resourcegroep.

U vindt de menuoptie IAM (Identity Access Management) aan de linkerkant van het optievenster, zoals wordt weergegeven in de afbeelding:

Screenshot showing role assignment.

Klik op Roltoewijzing toevoegen>. Met deze actie wordt een deelvenster aan de rechterkant van de portal geopend en kiest u de rol in de vervolgkeuzelijst:

  • AgFood Platform Sensor Partner Contributor - heeft alle bevoegdheden in de CRU-bewerkingen (Create, Read, Update) die specifiek zijn voor sensoren.

Voer de volgende stappen uit om de roltoewijzing te voltooien:

  1. Kies de genoemde rol.

  2. Kies Gebruiker, groep of service-principal in de sectie Toegang toewijzen.

  3. Plak de naam of id van de sensorpartner-app in de sectie Selecteren (zoals weergegeven in de afbeelding).

  4. Klik op Opslaan om de rol toe te wijzen.

Screenshot showing app selection for authorization.

Deze stap zorgt ervoor dat de sensorpartner-app toegang heeft gekregen (op basis van de rol die is toegewezen) aan Azure Data Manager for Agriculture Resource.

Stap 3: Sensorintegratie inschakelen

  1. U moet sensorintegratie inschakelen voordat u aanroepen start. In deze stap zijn interne Azure-resources vereist voor sensorintegratie in uw Data Manager for Agriculture-exemplaar. U kunt dit doen door de volgende armclient-opdracht uit te voeren.

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

    Voorbeelduitvoer:

    {
      "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. Het kan enkele minuten duren voordat de taak is voltooid. Als u de status van de taak wilt weten, kunt u de volgende armclient-opdracht gebruiken:

    armclient get /subscriptions/<subscription-id>/resourceGroups/<resource-group-name> /providers/Microsoft.AgFoodPlatform/farmBeats/<farmbeats-instance-name>?api-version=2021-09-01-preview
    
  3. Als u de voltooide status wilt controleren, bekijkt u het kenmerk provisioningState . De status moet in de vorige stap worden gewijzigd in Geslaagd van 'Maken'.

    Voorbeelduitvoer:

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

Nu de stap voor sensorintegratie is voltooid, kunt u nu sensorintegratieobjecten maken.

Stap 4: Integratieobject maken

Gebruik de SensorPartnerIntegrations verzameling en roep de SensorPartnerIntegrations_CreateOrUpdate-API aan om een integratieobject voor een bepaalde sensorpartner te maken. Elke klant van een sensorpartner (bijvoorbeeld: Davis) heeft een unieke integratie-id nodig die is gemaakt in hun Data Manager for Agriculture-resource.

Er zijn twee verschillende paden die u moet evalueren:

  • Als u de eigenaren van de sensoren van de sensorpartners bent, maakt u slechts één integratieobject (ID) voor uw account met sensorpartner.

  • Als uw eindgebruikers (boeren/retailers/Agronomists) eigenaar zijn van de sensoren, maakt u een uniek integratieobject (ID) voor elke eindgebruiker, omdat elke eindgebruiker zijn eigen accounts heeft met de sensorpartner.

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

Een sectie die de toestemmingskoppeling aanvraagt, maakt deel uit van de integratiestroom van de sensorpartner. Deze toestemmingskoppeling is een manier om sensorpartners te laten valideren of de klant een geldige gebruiker van de service is. Sensorintegratie is gekoppeld aan toestemmingssleutel.

Onze sensorpartner Davis Instruments gebruikt deze gebruikersinterface voor het inschakelen en aanvragen van de toestemmingskoppeling.

Sensorpartners roepen het check-consent API-eindpunt aan om de geldigheid te verifiëren. Als u een toestemmingskoppeling wilt genereren, moet u de SensorPartnerIntegrations_GenerateConsentLink API gebruiken en de integratie-id opgeven die is gemaakt in de stap (3). Als antwoord krijgt u een tekenreeks met de naam consentLink. Kopieer deze tekenreeks en verstrekte deze aan de sensorpartner voor verdere validatie. Als u sensoren van Davis Instruments gebruikt, volgt u de instructies op deze pagina.

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

Met deze stap wordt de voltooiing van de sensorpartner gemarkeerd vanuit het perspectief van de klant. , haalt u alle vereiste informatie op om uw API-eindpunten aan te roepen om sensormodel, apparaatmodel, sensoren en apparaten te maken. De partners kunnen nu sensorgebeurtenissen pushen met behulp van de verbindingsreeks die zijn gegenereerd voor elke sensor-id.

De laatste stap is het gebruiken van sensorevenementen. Voordat u de gebeurtenissen gebruikt, moet u een toewijzing van elke sensor-id maken aan een specifieke partij-id en resource (veld, seizoensveld).

Stap 6: Sensortoewijzing maken

Gebruik de SensorMappings verzameling en roep de SensorMappings_CreateOrUpdate API aan om toewijzingen te maken voor elke sensor. Toewijzing is niets anders dan het koppelen van een sensor-id aan een specifieke PartyID en een resource (veld, seizoensveld, enzovoort). PartyID en resources zijn al aanwezig in het Data Manager for Agriculture-systeem. Deze koppeling zorgt ervoor dat u als platform gegevenswetenschapmodellen kunt bouwen rond een gemeenschappelijke geometrie van de resource- en partydimensie. Elke gegevensbron (satelliet, weer, farmbewerkingen) is gekoppeld aan een partij en resource. Wanneer u dit toewijzingsobject op een sensorniveau tot stand brengt, kunt u alle agronomische gebruiksvoorbeelden gebruiken om te profiteren van sensorgegevens.

API-eindpunt: PATCH /sensor-mappings/{sensorMappingId}

Stap 7: Sensor-gebeurtenissen gebruiken

Gebruik de SensorEvents verzameling om de SensorEvents_List API aan te roepen en gegevens te verbruiken die door uw sensoren worden gepusht. U moet de volgende informatie opgeven

  • sensorId (geeft aan voor welke sensor u de gegevens wilt weergeven)
  • sensorPartnerId (geeft aan welke sensorpartner deze gegevens pusht)
  • startDateTime & endDateTime (tijdsbereikfilters zorgen ervoor dat gegevens worden gesegmenteerd naar de aangevraagde tijdlijn)

API-eindpunt: GET /sensor-events

Volgende stappen

  • Test onze API's hier.