Azure FarmBeats biblioteca de clientes para .NET – versão 1.0.0-beta.2
O FarmBeats é uma oferta de PaaS B2B da Microsoft que facilita para as empresas do AgriFood criar soluções inteligentes de agricultura digital no Azure. O FarmBeats permite que os usuários adquiram, agregem e processem dados agrícolas de várias fontes (equipamentos agrícolas, clima, satélite) sem a necessidade de investir em recursos profundos de engenharia de dados. Os clientes podem criar soluções SaaS sobre o FarmBeats e aproveitar o suporte de primeira classe para a criação de modelos para gerar insights em escala.
Confie muito na documentação do serviço e nos documentos do cliente de protocolo para usar essa biblioteca
Código-fonte | Pacote (NuGet) | Documentação do produto
Introdução
Instalar o pacote
Instale a biblioteca de clientes do Azure FarmBeats para .NET com o NuGet:
dotnet add package Azure.Verticals.AgriFood.Farming --prerelease
Pré-requisitos
Para usar esse pacote, você deve ter:
Autenticar o cliente
Como usar o Azure Active Directory
Este documento demonstra como usar DefaultAzureCredential para autenticar por meio do Azure Active Directory. No entanto, qualquer uma das credenciais oferecidas pelo Azure.Identity será aceita. Consulte a documentação do Azure.Identity para obter mais informações sobre outras credenciais.
Depois de escolher e configurar sua credencial, você poderá criar instâncias de qualquer tipo de cliente, por exemplo, FarmClient
.
var credential = new DefaultAzureCredential();
var client = new FarmClient(new Uri("https://<my-account-name>.farmbeats.azure.net"), credential);
Principais conceitos
A compreensão básica dos termos abaixo ajudará a começar a usar a biblioteca de clientes do FarmBeats.
Hierarquia de farm
A hierarquia de farm é uma coleção de entidades abaixo.
- Fazendeiro – é o guardião de todos os dados agronômicos.
- Farm – é uma coleção lógica de campos e/ou campos sazonais. Eles não têm nenhuma área associada a eles.
- Campo – é uma área de vários polígonos. Espera-se que isso seja estável ao longo das estações.
- Campo sazonal - é uma área de vários polígonos. Para definir um limite sazonal, precisamos dos detalhes da área (limite), do tempo (estação) e da cultura. Espera-se que novos campos sazonais sejam criados para cada estação de crescimento.
- Limite – é a área de vários polígonos real expressa como geometria (em geojson). Normalmente, ele está associado a um campo ou a um campo sazonal. Os dados de operações de satélite, clima e farm estão vinculados a um limite.
- Exclusão em cascata – os dados agronômicos são armazenados hierarquicamente com o agricultor como a raiz. A hierarquia inclui Farmer -> Farms -> Fields -> Seasonal Fields -> Boundaries -> Dados associados (satélite, clima, operações de farm). Exclusão em cascata refere-se ao processo de exclusão de qualquer nó e sua subárvore.
Cenas
Cenas referem-se a imagens normalmente ingeridas usando APIs satélite. Isso inclui bandas brutas e bandas derivadas (Ex: NDVI). As cenas também podem incluir saídas espaciais de uma inferência ou modelo de IA/ML (por exemplo: LAI).
Operações de farm
As operações de Fam incluem detalhes relativos ao plantio, plantio, aplicação de nutrientes de pesticidas & e colheita. Isso pode ser enviado manualmente para o FarmBeats usando APIs ou as mesmas informações podem ser extraídas de provedores de serviços de equipamentos de farm como John Deere.
Métodos de protocolo
As operações expostas pelo SDK do FarmBeats para .NET usam métodos de protocolo para expor as operações REST subjacentes. Saiba mais sobre como usar clientes do SDK que usam métodos de protocolo em nossa documentação.
Acesso thread-safe
Garantimos que todos os métodos de instância do cliente sejam thread-safe e independentes uns dos outros (diretriz). Isso garante que a recomendação de reutilize instâncias de cliente seja sempre segura, mesmo entre threads.
Conceitos adicionais
Opções | do cliente Acessando a resposta | Operações de execução prolongada | Tratamento de falhas | Diagnostics | Zombando | Tempo de vida do cliente
Exemplos
A seção a seguir mostra como inicializar e autenticar seu cliente e, em seguida, listar todas as suas fontes de dados.
Listar todos os 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"));
Solução de problemas
Configuração do registro em log do console
A maneira mais simples de ver os logs é habilitar o log do console. Para criar um ouvinte de log do SDK do Azure que gera mensagens para o console, use o método AzureEventSourceListener.CreateConsoleLogger.
// Setup a listener to monitor logged events.
using AzureEventSourceListener listener = AzureEventSourceListener.CreateConsoleLogger();
Para saber mais sobre outros mecanismos de registro em log, confira aqui.
Próximas etapas
Documentação adicional
Para obter uma documentação mais abrangente sobre o FarmBeats, consulte a [documentação do FarmBeats][product_docs] no docs.microsoft.com.
Esse SDK do cliente expõe operações usando métodos de protocolo, você pode saber mais sobre como usar clientes SDK que usam métodos de protocolo em nossa documentação.
Participante
Consulte o [CONTRIBUTING.md][contribuindo] para obter detalhes sobre como criar, testar e contribuir para essa biblioteca.
Este projeto aceita contribuições e sugestões. A maioria das contribuições exige que você concorde com um CLA (Contrato de Licença do Colaborador) declarando que você tem o direito de nos conceder, e de fato concede, os direitos de usar sua contribuição. Para obter detalhes, visite cla.microsoft.com.
Quando você envia uma solicitação de pull, um bot do CLA determina automaticamente se você precisa fornecer um CLA e preencher a PR corretamente (por exemplo, rótulo, comentário). Basta seguir as instruções fornecidas pelo bot. Você só precisará fazer isso uma vez em todos os repositórios que usam nosso CLA.
Este projeto adotou o Código de Conduta de Software Livre da Microsoft. Para obter mais informações, confira as Perguntas frequentes sobre o Código de Conduta ou contate opencode@microsoft.com para enviar outras perguntas ou comentários.
Azure SDK for .NET