.NET 用Azure FarmBeats クライアント ライブラリ - バージョン 1.0.0-beta.2

FarmBeats は、AgriFood 企業が Azure でインテリジェントなデジタル農業ソリューションを簡単に構築できるようにする、Microsoft の B2B PaaS オファリングです。 FarmBeats を使用すると、ユーザーは、深いデータ エンジニアリング リソースに投資することなく、さまざまなソース (農業機器、気象、衛星) から農業データを取得、集計、および処理できます。  お客様は、FarmBeats の上に SaaS ソリューションを構築し、モデル構築に対するファースト クラスのサポートを利用して、大規模な分析情報を生成できます。

このライブラリを使用するには、 サービスのドキュメントプロトコル クライアント ドキュメント に大きく依存してください

ソースコード | パッケージ (NuGet) | 製品ドキュメント

作業の開始

パッケージをインストールする

NuGet を使用して .NET 用のAzure FarmBeats クライアント ライブラリをインストールします。

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

[前提条件]

このパッケージを使用するには、次が必要です。

クライアントを認証する

Azure Active Directory の使用

このドキュメントでは、 DefaultAzureCredential を使用して Azure Active Directory 経由で認証する方法について説明します。 ただし、 Azure.Identity によって提供される資格情報はすべて受け入れられます。 その他の資格情報の詳細については、 Azure.Identity のドキュメントを参照してください。

資格情報を選択して構成したら、任意の種類のクライアントのインスタンス (例: FarmClient) を作成できます。

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

主要な概念

以下の用語の基本的な理解は、FarmBeats クライアント ライブラリの使用を開始するのに役立ちます。

ファーム階層

ファーム階層は、以下のエンティティのコレクションです。

  • 農家 - すべての農業データのカストディアンです。
  • ファーム - フィールドや季節フィールドの論理コレクションです。 それらに関連付けられている領域がありません。
  • フィールド - マルチポリゴン領域です。 これは季節を越えて安定することが期待されます。
  • 季節フィールド - マルチポリゴンエリアです。 季節の境界を定義するには、領域 (境界)、時間 (季節)、およびトリミングの詳細が必要です。 新しい季節のフィールドは、成長する季節ごとに作成される予定です。
  • 境界 - ジオメトリとして表現される実際のマルチポリゴン領域 (geojson 内)。 通常、フィールドまたは季節フィールドに関連付けられます。 衛星、気象、および農場の運用データは境界にリンクされます。
  • 連鎖削除 - 農業データは、農家をルートとして階層的に格納されます。 階層には、農家 -> ファーム - フィールド -> 季節フィールド -> 境界 ->> 関連データ (衛星、気象、ファーム操作) が含まれます。 連鎖削除は、ノードとそのサブツリーを削除するプロセスを指します。

Scenes

シーンは、通常、サテライト API を使用して取り込まれた画像を指します。 これには、生バンドと派生バンド (例: NDVI) が含まれます。 シーンには、推論または AI/ML モデル (例: LAI) の空間出力が含まれる場合もあります。

ファーム操作

ファムの事業には、耕作、植栽、農薬 & 栄養素の適用、収穫に関する詳細が含まれます。 これは、API を使用して FarmBeats に手動でプッシュすることも、John Deere などのファーム機器サービス プロバイダーから同じ情報をプルすることもできます。

プロトコル メソッド

FarmBeats SDK for .NET によって公開される操作は 、プロトコル メソッドを 使用して、基になる REST 操作を公開します。 プロトコルメソッドを使用する SDK クライアントの使用方法の詳細については、 こちらのドキュメントを参照してください

スレッド セーフ

すべてのクライアント インスタンス メソッドがスレッド セーフであり、相互に独立していることを保証します (ガイドライン)。 これにより、クライアント インスタンスの再利用に関する推奨事項は、スレッド間でも常に安全になります。

その他の概念

クライアント オプション | 応答 | へのアクセス実行時間の長い操作 | エラーの | 処理診断 | あざける | クライアントの有効期間

次のセクションでは、クライアントを初期化して認証し、すべてのデータ ソースを一覧表示する方法を示します。

すべての農家を一覧表示する

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"));

トラブルシューティング

コンソール ログの設定

ログを表示する最も簡単な方法は、コンソール ログを有効にすることです。 コンソールにメッセージを出力する Azure SDK ログ リスナーを作成するには、AzureEventSourceListener.CreateConsoleLogger メソッドを使用します。

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

その他のログメカニズムの詳細については、 こちらを参照してください

次のステップ

その他のドキュメント

FarmBeats の詳細なドキュメントについては、docs.microsoft.com の [FarmBeats ドキュメント][product_docs] を参照してください。

このクライアント SDK はプロトコル メソッドを使用して操作を公開します。 プロトコル メソッドを使用する SDK クライアントの使用方法の詳細については、 ドキュメントを参照してください

共同作成

このライブラリのビルド、テスト、および投稿の詳細については、[CONTRIBUTING.md][投稿] を参照してください。

このプロジェクトでは、共同作成と提案を歓迎しています。 ほとんどの共同作成では、共同作成者使用許諾契約書 (CLA) にご同意いただき、ご自身の共同作成内容を使用する権利を Microsoft に供与する権利をお持ちであり、かつ実際に供与することを宣言していただく必要があります。 詳細については、「 cla.microsoft.com」を参照してください。

pull request を送信すると、CLA を提供して PR (ラベル、コメントなど) を適宜装飾する必要があるかどうかを CLA ボットが自動的に決定します。 ボットによって提供される手順にそのまま従ってください。 この操作は、Microsoft の CLA を使用するすべてのリポジトリについて、1 回だけ行う必要があります。

このプロジェクトでは、Microsoft オープン ソースの倫理規定を採用しています。 詳しくは、「Code of Conduct FAQ (倫理規定についてよくある質問)」を参照するか、opencode@microsoft.com 宛てに質問またはコメントをお送りください。

インプレッション数