Azure FarmBeats biblioteca cliente para .NET: versión 1.0.0-beta.2

FarmBeats es una oferta de PaaS B2B de Microsoft que facilita a las empresas AgriFood crear soluciones inteligentes de agricultura digital en Azure. FarmBeats permite a los usuarios adquirir, agregar y procesar datos agrícolas de diversos orígenes (equipo de granja, clima, satélite) sin necesidad de invertir en recursos de ingeniería de datos profundos.  Los clientes pueden crear soluciones SaaS sobre FarmBeats y aprovechar la compatibilidad de primera clase con la creación de modelos para generar información a escala.

Confíe en gran medida en la documentación del servicio y en la documentación del cliente de protocolo para usar esta biblioteca.

Código | fuente Paquete (NuGet) | Documentación del producto

Introducción

Instalar el paquete

Instale la biblioteca cliente de Azure FarmBeats para .NET con NuGet:

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

Requisitos previos

Para usar este paquete, debe tener:

Autenticar el cliente

Uso de Azure Active Directory

En este documento se muestra cómo usar DefaultAzureCredential para autenticarse mediante Azure Active Directory. Sin embargo, se aceptará cualquiera de las credenciales que ofrece Azure.Identity . Consulte la documentación de Azure.Identity para obtener más información sobre otras credenciales.

Una vez que haya elegido y configurado la credencial, puede crear instancias de cualquier tipo de cliente, por ejemplo, FarmClient.

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

Conceptos clave

La comprensión básica de los términos siguientes le ayudará a empezar a trabajar con la biblioteca cliente de FarmBeats.

Jerarquía de granjas de servidores

La jerarquía de granjas de servidores es una colección de entidades siguientes.

  • Granjero : es el custodio de todos los datos agronómicos.
  • Granja: es una colección lógica de campos o campos estacionales. No tienen ninguna área asociada a ellos.
  • Campo: es un área de varios polígonos. Esto se espera que sea estable a lo largo de las estaciones.
  • Campo estacional: es un área de varios polígonos. Para definir un límite estacional, necesitamos los detalles del área (límite), la hora (temporada) y el recorte. Se espera que se creen nuevos campos estacionales para cada temporada creciente.
  • Límite: es el área de varios polígonos real expresada como geometría (en geojson). Normalmente está asociado a un campo o a un campo estacional. Los datos de operaciones satélite, meteorológicas y de granjas están vinculados a un límite.
  • Eliminación en cascada: los datos agronómicos se almacenan jerárquicamente con el granjero como raíz. La jerarquía incluye Farmer - Farms -> Fields ->> Estacional Fields - Boundaries ->> Associated data (satélite, weather, farm operations). La eliminación en cascada hace referencia al proceso de eliminación de cualquier nodo y su subárbol.

Escenas

Las escenas hacen referencia a imágenes que normalmente se ingieren mediante las API satélite. Esto incluye bandas sin procesar y bandas derivadas (por ejemplo: NDVI). Las escenas también pueden incluir salidas espaciales de una inferencia o un modelo de IA/ML (por ejemplo, LAI).

Operaciones de granja de servidores

Las operaciones de Fam incluyen detalles relacionados con el cultivo, la plantación, la aplicación de nutrientes & de pesticidas y la cosecha. Esto se puede insertar manualmente en FarmBeats mediante api o la misma información se puede extraer de proveedores de servicios de equipos de granja como John Deere.

Métodos de protocolo

Las operaciones expuestas por el SDK de FarmBeats para .NET usan métodos de protocolo para exponer las operaciones REST subyacentes. Puede obtener más información sobre cómo usar clientes de SDK que usan métodos de protocolo en nuestra documentación.

Seguridad para subprocesos

Garantizamos que todos los métodos de instancia de cliente son seguros para subprocesos e independientes entre sí (instrucciones). Esto garantiza que la recomendación de reutilizar instancias de cliente siempre es segura, incluso entre subprocesos.

Conceptos adicionales

Opciones | de cliente Acceso a la respuesta | Operaciones | de larga duraciónControl de errores | Diagnóstico | Burla | Duración del cliente

Ejemplos

En la sección siguiente se muestra cómo inicializar y autenticar el cliente y, a continuación, enumerar todos los orígenes de datos.

Enumerar todos los agricultores

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

Solución de problemas

Configuración del registro de la consola

La manera más sencilla de ver los registros es habilitar el registro de la consola. Para crear un agente de escucha de registro del SDK de Azure que genere mensajes en la consola, use el método AzureEventSourceListener.CreateConsoleLogger.

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

Para más información sobre otros mecanismos de registro, consulte aquí.

Pasos siguientes

Documentación adicional

Para obtener más documentación sobre FarmBeats, consulte la [documentación de FarmBeats][product_docs] en docs.microsoft.com.

Este SDK de cliente expone operaciones mediante métodos de protocolo. Puede obtener más información sobre cómo usar clientes del SDK que usan métodos de protocolo en nuestra documentación.

Contribuir

Consulte [CONTRIBUTING.md][contribución] para obtener más información sobre la compilación, las pruebas y la contribución a esta biblioteca.

Este proyecto agradece las contribuciones y sugerencias. La mayoría de las contribuciones requieren que acepte un Contrato de licencia para el colaborador (CLA) que declara que tiene el derecho a concedernos y nos concede los derechos para usar su contribución. Para obtener más información, visite cla.microsoft.com.

Cuando se envía una solicitud de incorporación de cambios, un bot de CLA determinará de forma automática si tiene que aportar un CLA y completar la PR adecuadamente (por ejemplo, la etiqueta, el comentario). Solo siga las instrucciones que le dará el bot. Solo será necesario que lo haga una vez en todos los repositorios con nuestro CLA.

Este proyecto ha adoptado el Código de conducta de Microsoft Open Source. Para más información, consulte las preguntas más frecuentes del código de conducta o póngase en contacto con opencode@microsoft.com si tiene cualquier otra pregunta o comentario.

Impresiones