Integracja .NET.NET Aspire Qdrant
Z tego artykułu dowiesz się, jak korzystać z integracji .NET.NET Aspire Qdrant. Użyj tej integracji, aby zarejestrować QdrantClient w kontenerze DI na potrzeby nawiązywania połączenia z serverQdrant.
Zacznij
Aby rozpocząć pracę z integracją .NET.NET Aspire Qdrant, zainstaluj 📦Aspire.Qdrant.Client pakiet NuGet w projekcie korzystającym z client, tj. projekt aplikacji używającej Qdrant client.
dotnet add package Aspire.Qdrant.Client
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzaj zależnościami pakietów w aplikacjach .NET.
Przykładowe użycie
W pliku Program.cs projektu clientużywającego wywołaj metodę rozszerzenia AddQdrantClient
, aby zarejestrować QdrantClient
do użycia za pośrednictwem kontenera wstrzykiwania zależności. Metoda przyjmuje parametr nazwy połączenia.
builder.AddQdrantClient("qdrant");
Aby pobrać obiekt QdrantClient
, rozważ następującą przykładową usługę:
public class ExampleService(QdrantClient client)
{
// Use client...
}
Użycie hosta aplikacji
Aby modelować zasób Qdrant server na hoście aplikacji, zainstaluj pakiet NuGet 📦Aspire.Hosting.Qdrant w projekcie hosta aplikacji .
dotnet add package Aspire.Hosting.Qdrant
W projekcie hosta aplikacji zarejestruj server Qdrant i użyj połączenia przy użyciu następujących metod:
var builder = DistributedApplication.CreateBuilder(args);
var qdrant = builder.AddQdrant("qdrant");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
Jeśli chcesz jawnie podać klucz interfejsu API, możesz podać go jako parametr. Rozważmy następujący przykład alternatywny:
var apiKey = builder.AddParameter("apikey", secret: true);
var qdrant = builder.AddQdrant("qdrant", apiKey);
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
Aby uzyskać więcej informacji, zobacz Parametry zewnętrzne.
Konfiguracja
Integracja .NET Aspire Qdrant Client udostępnia wiele opcji konfigurowania połączenia server na podstawie wymagań i konwencji projektu.
Używanie parametrów połączenia
W przypadku używania parametrów połączenia z sekcji konfiguracji ConnectionStrings
można podać nazwę parametrów połączenia podczas wywoływania builder.AddQdrantClient()
:
builder.AddQdrantClient("qdrant");
Następnie parametry połączenia zostaną pobrane z sekcji konfiguracji ConnectionStrings
:
{
"ConnectionStrings": {
"qdrant": "Endpoint=http://localhost:6334;Key=123456!@#$%"
}
}
Domyślnie QdrantClient
używa punktu końcowego API gRPC.
Korzystanie z dostawców konfiguracji
Integracja .NET Aspire Qdrant Client obsługuje Microsoft.Extensions.Configuration. Ładuje QdrantClientSettings
z konfiguracji przy użyciu klucza Aspire:Qdrant:Client
. Przykład appsettings.json
, który konfiguruje niektóre opcje:
{
"Aspire": {
"Qdrant": {
"Client": {
"Key": "123456!@#$%"
}
}
}
}
Używanie delegatów wbudowanych
Możesz również przekazać delegata Action<QdrantClientSettings> configureSettings
, aby skonfigurować niektóre lub wszystkie opcje bezpośrednio, na przykład w celu ustawienia klucza interfejsu API z poziomu kodu.
builder.AddQdrantClient("qdrant", settings => settings.ApiKey = "12345!@#$%");
Obserwowanie i telemetria
.NET
.NET Aspire integracje automatycznie ustawiają konfiguracje rejestrowania, śledzenia i metryk, które są czasami nazywane filarami obserwowalności. Aby uzyskać więcej informacji na temat możliwości obserwacji integracji i telemetrii, zobacz omówienie integracji .NET.NET Aspire. W zależności od usługi pomocniczej niektóre integracje mogą obsługiwać tylko niektóre z tych funkcji. Na przykład niektóre integracje obsługują rejestrowanie i śledzenie, ale nie metryki. Funkcje telemetrii można również wyłączyć przy użyciu technik przedstawionych w sekcji konfiguracji
Wyrąb
Integracja .NET.NET Aspire Qdrant używa następujących kategorii rejestrowania:
- "Qdrant.Client"