.NET .NET Aspire integração do Qdrant
Neste artigo, você aprenderá a usar a integração do .NET.NET Aspire Qdrant. Use essa integração para registrar um QdrantClient no contêiner de DI para se conectar a um Qdrant server.
Começar
Para começar a usar a integração do .NET.NET Aspire Qdrant, instale o 📦Aspire.Qdrant.Client pacote NuGet no projeto que consome client, ou seja, o projeto para o aplicativo que usa o Qdrant client.
dotnet add package Aspire.Qdrant.Client
Para obter mais informações, consulte dotnet add package ou Gerenciar dependências de pacotes em aplicativos .NET.
Exemplo de uso
No arquivo Program.cs do seu projeto de consumo de client, chame o método de extensão AddQdrantClient
para registrar um QdrantClient
para uso por meio do contêiner de injeção de dependência. O método usa um parâmetro de nome de conexão.
builder.AddQdrantClient("qdrant");
Para recuperar seu objeto QdrantClient
, considere o seguinte serviço de exemplo:
public class ExampleService(QdrantClient client)
{
// Use client...
}
Uso do host do aplicativo
Para modelar o recurso server do Qdrant no host do aplicativo, instale o pacote NuGet 📦Aspire.Hosting.Qdrant no host do aplicativo no projeto .
dotnet add package Aspire.Hosting.Qdrant
No projeto de host do seu aplicativo, registre um Qdrant server e consuma a conexão utilizando os seguintes métodos:
var builder = DistributedApplication.CreateBuilder(args);
var qdrant = builder.AddQdrant("qdrant");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
Quando você deseja fornecer explicitamente a chave de API, você pode fornecê-la como um parâmetro. Considere o seguinte exemplo alternativo:
var apiKey = builder.AddParameter("apikey", secret: true);
var qdrant = builder.AddQdrant("qdrant", apiKey);
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
Para obter mais informações, consulte Parâmetros externos.
Configuração
A integração do .NET Aspire Qdrant Client fornece várias opções para configurar a conexão server com base nos requisitos e convenções do seu projeto.
Usar uma cadeia de conexão
Ao usar uma cadeia de conexão da seção de configuração ConnectionStrings
, você pode fornecer o nome da cadeia de conexão ao chamar builder.AddQdrantClient()
:
builder.AddQdrantClient("qdrant");
Em seguida, a cadeia de conexão será recuperada da seção de configuração do ConnectionStrings
:
{
"ConnectionStrings": {
"qdrant": "Endpoint=http://localhost:6334;Key=123456!@#$%"
}
}
Por padrão, o QdrantClient
usa o endpoint da API gRPC.
Usar provedores de configuração
A integração do .NET Aspire Qdrant Client dá suporte a Microsoft.Extensions.Configuration. Ele carrega a QdrantClientSettings
da configuração usando a chave Aspire:Qdrant:Client
. Exemplo appsettings.json
que configura algumas das opções:
{
"Aspire": {
"Qdrant": {
"Client": {
"Key": "123456!@#$%"
}
}
}
}
Usar delegados em linha
Você também pode passar o delegado Action<QdrantClientSettings> configureSettings
para configurar algumas ou todas as opções diretamente, por exemplo, para definir a chave de API a partir do código:
builder.AddQdrantClient("qdrant", settings => settings.ApiKey = "12345!@#$%");
Observabilidade e telemetria
.NET .NET Aspire integrações configuram automaticamente configurações de Log, Rastreamento e Métricas, que às vezes são conhecidas como os pilares da observabilidade. Para obter mais informações sobre a observabilidade e a telemetria de integração, consulte .NET.NET Aspire visão geral das integrações. Dependendo do serviço de backup, algumas integrações só podem dar suporte a alguns desses recursos. Por exemplo, algumas integrações dão suporte a registro em log e rastreamento, mas não a métricas. Os recursos de telemetria também podem ser desabilitados usando as técnicas apresentadas na seção Configuration.
Registro
A integração do Qdrant .NET.NET Aspire usa as seguintes categorias de log:
- "Qdrant.Client"