Azure FarmBeats bibliothèque cliente pour .NET - version 1.0.0-beta.2

FarmBeats est une offre PaaS B2B de Microsoft qui permet aux entreprises agroalimentaires de créer facilement des solutions d’agriculture numérique intelligentes sur Azure. FarmBeats permet aux utilisateurs d’acquérir, d’agréger et de traiter des données agricoles provenant de diverses sources (équipement agricole, météo, satellite) sans avoir à investir dans des ressources d’ingénierie des données approfondies.  Les clients peuvent créer des solutions SaaS sur FarmBeats et tirer parti d’une prise en charge de première classe pour la génération de modèles pour générer des insights à grande échelle.

Veuillez vous fier fortement à la documentation du service et à notre documentation cliente de protocole pour utiliser cette bibliothèque

| Code sourcePackage (NuGet) | Documentation produit

Prise en main

Installer le package

Installez la bibliothèque cliente Azure FarmBeats pour .NET avec NuGet :

dotnet add package Azure.Verticals.AgriFood.Farming --prerelease

Prérequis

Pour utiliser ce package, vous devez disposer des éléments suivants :

Authentifier le client

Utilisation d’Azure Active Directory

Ce document illustre l’utilisation de DefaultAzureCredential pour l’authentification via Azure Active Directory. Toutefois, toutes les informations d’identification proposées par Azure.Identity seront acceptées. Pour plus d’informations sur d’autres informations d’identification, consultez la documentation Azure.Identity .

Une fois que vous avez choisi et configuré vos informations d’identification, vous pouvez créer des instances de n’importe quel type de client, par exemple . FarmClient

var credential = new DefaultAzureCredential();
var client = new FarmClient(new Uri("https://<my-account-name>.farmbeats.azure.net"), credential);

Concepts clés

La compréhension de base des termes ci-dessous vous aidera à démarrer avec la bibliothèque cliente FarmBeats.

Hiérarchie de batterie de serveurs

La hiérarchie de batterie est une collection d’entités ci-dessous.

  • Agriculteur - est le dépositaire de toutes les données agronomiques.
  • Batterie de serveurs : collection logique de champs et/ou de champs saisonniers. Ils n’ont aucune zone associée à eux.
  • Champ : est une zone à plusieurs polygones. On s’attend à ce que ce soit stable au fil des saisons.
  • Champ saisonnier : est une zone à plusieurs polygones. Pour définir une limite saisonnière, nous avons besoin des détails de la zone (limite), de l’heure (saison) et de la culture. On s’attend à ce que de nouveaux champs saisonniers soient créés pour chaque saison de croissance.
  • Limite : est la zone multi polygonale réelle exprimée sous forme de géométrie (dans geojson). Il est normalement associé à un champ ou à un champ saisonnier. Les données satellites, météorologiques et agricoles sont liées à une limite.
  • Suppression en cascade : les données agronomiques sont stockées hiérarchiquement avec l’agriculteur comme racine. La hiérarchie inclut Fermier -> Fermes -> Champs - Champs -> Champs saisonniers -> Limites -> Données associées (satellite, météo, exploitations agricoles). La suppression en cascade fait référence au processus de suppression d’un nœud et de sa sous-arborescence.

Scènes

Les scènes font référence aux images normalement ingérées à l’aide d’API satellite. Cela inclut les bandes brutes et les bandes dérivées (ex : NDVI). Les scènes peuvent également inclure des sorties spatiales d’un modèle d’inférence ou d’IA/ML (ex : LAI).

Exploitations de la batterie de serveurs

Les opérations de fam comprennent des détails relatifs au labourage, à la plantation, à l’application de pesticides & nutritifs et à la récolte. Cela peut être envoyé manuellement dans FarmBeats à l’aide d’API ou les mêmes informations peuvent être extraites de fournisseurs de services d’équipement agricole comme John Deere.

Méthodes de protocole

Les opérations exposées par le Kit de développement logiciel (SDK) FarmBeats pour .NET utilisent des méthodes de protocole pour exposer les opérations REST sous-jacentes. Vous pouvez en savoir plus sur l’utilisation des clients sdk qui utilisent des méthodes de protocole dans notre documentation.

Sécurité des threads

Nous garantissons que toutes les méthodes de instance client sont sécurisées pour les threads et indépendantes les unes des autres (recommandations). Cela garantit que la recommandation de réutilisation des instances clientes est toujours sécurisée, même entre les threads.

Concepts supplémentaires

Options clientes | Accès à la réponse | Opérations de longue durée | Gestion des défaillances | Diagnostics | Moqueur | Durée de vie du client

Exemples

La section suivante vous montre comment initialiser et authentifier votre client, puis répertorier toutes vos sources de données.

Lister tous les agriculteurs

var credential = new DefaultAzureCredential();
var client = new FamersClient(new Uri("https://<my-account-name>.farmbeats.azure.net"), credential);

var response = await client.ListAsync();
using var responseDocument = JsonDocument.Parse(response.Content);
Console.WriteLine(responseDocument.RootElement.GetProperty("value"));

Résolution des problèmes

Configuration de la journalisation de la console

Le moyen le plus simple de voir les journaux consiste à activer la journalisation de la console. Pour créer un écouteur de journal du Kit de développement logiciel (SDK) Azure qui génère des messages dans la console, utilisez la méthode AzureEventSourceListener.CreateConsoleLogger.

// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();

Pour en savoir plus sur les autres mécanismes de journalisation , consultez ici.

Étapes suivantes

Documentation complémentaire

Pour obtenir une documentation plus complète sur les FarmBeats, consultez la [documentation FarmBeats][product_docs] sur docs.microsoft.com.

Ce kit de développement logiciel (SDK) client expose les opérations à l’aide de méthodes de protocole. Vous pouvez en savoir plus sur l’utilisation des clients sdk qui utilisent des méthodes de protocole dans notre documentation.

Contribution

Consultez le [CONTRIBUTING.md][contribution] pour plus d’informations sur la création, le test et la contribution à cette bibliothèque.

Ce projet accepte les contributions et les suggestions. La plupart des contributions vous demandent d’accepter un contrat de licence de contribution (CLA) déclarant que vous avez le droit de nous accorder, et que vous nous accordez réellement, les droits d’utilisation de votre contribution. Pour plus d’informations, consultez cla.microsoft.com.

Quand vous envoyez une demande de tirage (pull request), un bot CLA détermine automatiquement si vous devez fournir un contrat CLA et agrémenter la demande de tirage de façon appropriée (par exemple, avec une étiquette ou un commentaire). Suivez simplement les instructions fournies par le bot. Vous ne devez effectuer cette opération qu’une seule fois sur tous les dépôts utilisant notre contrat CLA.

Ce projet a adopté le Code de conduite Open Source de Microsoft. Pour plus d’informations, consultez les Questions fréquentes (FAQ) sur le code de conduite ou envoyez vos questions ou vos commentaires à opencode@microsoft.com.

Impressions