Azure FarmBeats Clientbibliothek für .NET – Version 1.0.0-beta.2
FarmBeats ist ein B2B-PaaS-Angebot von Microsoft, das es AgriFood-Unternehmen leicht macht, intelligente digitale Landwirtschaftslösungen in Azure zu erstellen. FarmBeats ermöglicht es Benutzern, landwirtschaftliche Daten aus verschiedenen Quellen (Landmaschinen, Wetter, Satellit) zu erfassen, zu aggregieren und zu verarbeiten, ohne in umfassende Datentechnikressourcen investieren zu müssen. Kunden können SaaS-Lösungen auf Basis von FarmBeats erstellen und erstklassige Unterstützung für die Modellerstellung nutzen, um Erkenntnisse im großen Stil zu generieren.
Verlassen Sie sich stark auf die Dokumentation des Diensts und unsere Protokollclientdokumentation, um diese Bibliothek zu verwenden.
Quellcode | Paket (NuGet) | Produktdokumentation
Erste Schritte
Installieren des Pakets
Installieren Sie die Azure FarmBeats-Clientbibliothek für .NET mit NuGet:
dotnet add package Azure.Verticals.AgriFood.Farming --prerelease
Voraussetzungen
Um dieses Paket verwenden zu können, benötigen Sie Folgendes:
Authentifizieren des Clients
Verwenden von Azure Active Directory
In diesem Dokument wird die Verwendung von DefaultAzureCredential zur Authentifizierung über Azure Active Directory veranschaulicht. Alle von Azure.Identity angebotenen Anmeldeinformationen werden jedoch akzeptiert. Weitere Informationen zu anderen Anmeldeinformationen finden Sie in der Dokumentation zu Azure.Identity .
Nachdem Sie Ihre Anmeldeinformationen ausgewählt und konfiguriert haben, können Sie Instanzen beliebiger Clienttypen erstellen, FarmClient
z. B. .
var credential = new DefaultAzureCredential();
var client = new FarmClient(new Uri("https://<my-account-name>.farmbeats.azure.net"), credential);
Wichtige Begriffe
Grundlegende Kenntnisse der folgenden Begriffe helfen ihnen bei den ersten Schritten mit der FarmBeats-Clientbibliothek.
Farmhierarchie
Die Farmhierarchie ist eine Auflistung der folgenden Entitäten.
- Landwirt - ist der Verwahrer aller agronomischen Daten.
- Farm: Ist eine logische Sammlung von Feldern und/oder saisonalen Feldern. Ihnen ist kein Bereich zugeordnet.
- Feld : Ist ein Bereich mit mehreren Polygonen. Es wird erwartet, dass dies saisonübergreifend stabil ist.
- Saisonales Feld: Ist ein Bereich mit mehreren Polygonen. Um eine saisonale Grenze zu definieren, benötigen wir die Details zu Bereich (Grenze), Zeit (Saison) und Zuschnitt. Es wird erwartet, dass für jede Wachstumssaison neue saisonale Felder erstellt werden.
- Begrenzung: Ist der tatsächliche Bereich mit mehreren Polygonen, der als Geometrie (in geojson) ausgedrückt wird. Es ist normalerweise einem Feld oder einem saisonalen Feld zugeordnet. Satelliten-, Wetter- und Farmbetriebsdaten sind mit einer Grenze verknüpft.
- Kaskadierendes Löschen: Agronomische Daten werden hierarchisch mit farmer als Stamm gespeichert. Die Hierarchie umfasst Landwirt –> Farmen –> Felder –> Saisonale Felder –> Grenzen –> Zugeordnete Daten (Satellit, Wetter, Betriebsvorgänge). Kaskadierendes Löschen bezieht sich auf den Vorgang zum Löschen eines Knotens und seiner Unterstruktur.
Szenen
Szenen beziehen sich auf Bilder, die normalerweise mithilfe von Satelliten-APIs erfasst werden. Dies umfasst Rohbänder und abgeleitete Bands (z. B. NDVI). Szenen können auch räumliche Ausgaben eines Rückschlusses oder eines AI/ML-Modells (z. B. LAI) enthalten.
Farmbetrieb
Fam-Vorgänge umfassen Details zu Bodenbearbeitung, Pflanzung, Anwendung von Pestiziden & Nährstoffen und Ernte. Dies kann entweder manuell über APIs in FarmBeats gepusht werden, oder die gleichen Informationen können von Dienstanbietern für Landmaschinen wie John Deere abgerufen werden.
Protokollmethoden
Vorgänge, die vom FarmBeats SDK für .NET verfügbar gemacht werden, verwenden Protokollmethoden , um die zugrunde liegenden REST-Vorgänge verfügbar zu machen. Weitere Informationen zur Verwendung von SDK-Clients, die Protokollmethoden verwenden, finden Sie in unserer Dokumentation.
Threadsicherheit
Wir garantieren, dass alle Client-instance Methoden threadsicher und unabhängig voneinander sind (Richtlinie). Dadurch wird sichergestellt, dass die Empfehlung, Clientinstanzen wiederzuverwenden, immer sicher ist, auch threadsübergreifend.
Zusätzliche Konzepte
Clientoptionen | Zugreifen auf die Antwort | Vorgänge | mit langer AusführungsdauerBehandeln von Fehlern | Diagnose | Spott | Clientlebensdauer
Beispiele
Im folgenden Abschnitt erfahren Sie, wie Sie Ihren Client initialisieren und authentifizieren und dann alle Datenquellen auflisten.
Alle Landwirte auflisten
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"));
Problembehandlung
Einrichten der Konsolenprotokollierung
Die einfachste Möglichkeit, die Protokolle anzuzeigen, besteht darin, die Konsolenprotokollierung zu aktivieren. Verwenden Sie die AzureEventSourceListener.CreateConsoleLogger-Methode, um einen Azure SDK-Protokolllistener zu erstellen, der Nachrichten an die Konsole ausgibt.
// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
Weitere Informationen zu anderen Protokollierungsmechanismen finden Sie hier.
Nächste Schritte
Zusätzliche Dokumentation
Eine ausführlichere Dokumentation zu FarmBeats finden Sie in der [FarmBeats-Dokumentation][product_docs] auf docs.microsoft.com.
Dieses Client-SDK macht Vorgänge mithilfe von Protokollmethoden verfügbar. Weitere Informationen zur Verwendung von SDK-Clients, die Protokollmethoden verwenden, finden Sie in unserer Dokumentation.
Mitwirken
Ausführliche Informationen zum Erstellen, Testen und Mitwirken zu dieser Bibliothek finden Sie unter [CONTRIBUTING.md][Mitwirken].
Beiträge und Vorschläge für dieses Projekt sind willkommen. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. Weitere Informationen finden Sie unter cla.microsoft.com.
Wenn Sie einen Pull Request (PR) übermitteln, überprüft ein CLA-Bot automatisch, ob Sie eine Lizenzvereinbarung bereitstellen und den PR entsprechend ergänzen müssen (z.B. mit einer Bezeichnung oder einem Kommentar). Führen Sie einfach die Anweisungen des Bots aus. Sie müssen dies nur einmal für alle Repositorys ausführen, die unsere CLA verwenden.
Für dieses Projekt gelten die Microsoft-Verhaltensregeln für Open Source (Microsoft Open Source Code of Conduct). Weitere Informationen finden Sie in den häufig gestellten Fragen zum Verhaltenskodex. Sie können sich auch an opencode@microsoft.com wenden, wenn Sie weitere Fragen oder Anmerkungen haben.
Azure SDK for .NET