你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Azure FarmBeats适用于 .NET 的客户端库 - 版本 1.0.0-beta.2

FarmBeats 是 Microsoft 提供的 B2B PaaS 产品/服务,使 AgriFood 公司可以轻松地在 Azure 上构建智能数字农业解决方案。 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 客户端库。

场层次结构

场层次结构是以下实体的集合。

  • 农民 - 是所有农艺数据的保管人。
  • 场 - 是字段和/或季节性字段的逻辑集合。 它们没有任何与之关联的区域。
  • Field - 是一个多多边形区域。 预计这在各个季节都是稳定的。
  • 季节性字段 - 是多多边形区域。 若要定义季节性边界,我们需要区域 (边界) 、时间 (季节) 和作物的详细信息。 预计每个生长季节都会创建新的季节性田地。
  • 边界 - 表示为 geojson) 中几何图形 (的实际多多边形区域。 它通常与字段或季节性字段相关联。 卫星、天气和农场运营数据与边界相关联。
  • 级联删除 - 农用数据按层次存储,以农民为根。 层次结构包括农民 -> 农场 -> 田地 -> 季节性田地 -> 边界 -> 相关数据 (卫星、天气、农场运营) 。 级联删除是指删除任何节点及其子树的过程。

场景

场景是指通常使用附属 API 引入的图像。 这包括原始波段和派生带 (例如:NDVI) 。 场景还可以包括推理或 AI/ML 模型的空间输出, (Ex: LAI) 。

场操作

Fam 业务包括有关耕种、种植、农药 & 营养物质的应用和收获的细节。 这可以使用 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),并声明你有权(并且确实有权)授予我们使用你的贡献的权利。 有关详细信息,请访问 cla.microsoft.com

提交拉取请求时,CLA 机器人将自动确定你是否需要提供 CLA,并相应地修饰 PR(例如标签、注释)。 直接按机器人提供的说明操作。 只需使用 CLA 对所有存储库执行一次这样的操作。

此项目采用了 Microsoft 开放源代码行为准则。 有关详细信息,请参阅行为准则常见问题解答,或如果有任何其他问题或意见,请与 联系。

曝光数