.NET .NET Aspire Qdrant 整合方案
在本文中,您將學習如何使用 .NET.NET Aspire Qdrant 整合功能。 使用此整合在 DI 容器中註冊 QdrantClient,以連線到 Qdrant server。
開始使用
若要開始使用 .NET.NET Aspire Qdrant 整合,請在 client-consuming 專案中安裝 📦AspireQdrantClient NuGet 套件,也就是使用 Qdrant 的應用程式專案 client。
dotnet add package Aspire.Qdrant.Client
如需詳細資訊,請參閱 dotnet add package 或 管理 .NET 應用程式中的套件相依性。
範例使用方式
在 client消耗專案的 Program.cs 檔案中,呼叫 AddQdrantClient
擴充方法來註冊 QdrantClient
,以透過相依性注入容器進行使用。 方法會採用連接名稱參數。
builder.AddQdrantClient("qdrant");
若要擷取您的 QdrantClient
物件,請考慮下列範例服務:
public class ExampleService(QdrantClient client)
{
// Use client...
}
應用程式主機使用方式
若要在應用程式主機中為 Qdrant server 資源建模,請在 應用程式主機 專案中安裝 📦Aspire.Hosting.Qdrant NuGet 套件。
dotnet add package Aspire.Hosting.Qdrant
在您的應用程式主機計畫中,註冊 Qdrant server 並使用下列方法來取用連線:
var builder = DistributedApplication.CreateBuilder(args);
var qdrant = builder.AddQdrant("qdrant");
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
當您想要明確提供 API 金鑰時,您可以將它當作參數提供。 請考慮下列替代範例:
var apiKey = builder.AddParameter("apikey", secret: true);
var qdrant = builder.AddQdrant("qdrant", apiKey);
var myService = builder.AddProject<Projects.MyService>()
.WithReference(qdrant);
如需詳細資訊,請參閱 外部參數。
配置
.NET Aspire Qdrant Client 整合提供多個選項,可根據專案的需求和慣例來設定 server 連線。
使用連接字串
從 [ConnectionStrings
組態] 區段使用連接字串時,您可以在呼叫 builder.AddQdrantClient()
時提供連接字串的名稱:
builder.AddQdrantClient("qdrant");
然後,連接字串將會從 [ConnectionStrings
組態] 區段擷取:
{
"ConnectionStrings": {
"qdrant": "Endpoint=http://localhost:6334;Key=123456!@#$%"
}
}
根據預設,QdrantClient
會使用 gRPC API 端點。
使用組態提供者
.NET Aspire Qdrant Client 集成支援 Microsoft.Extensions.Configuration。 它會使用 Aspire:Qdrant:Client
鍵從組態載入 QdrantClientSettings
。 配置一些選項的範例 appsettings.json
:
{
"Aspire": {
"Qdrant": {
"Client": {
"Key": "123456!@#$%"
}
}
}
}
使用行內委派
您也可以傳遞 Action<QdrantClientSettings> configureSettings
委派來直接在程式碼中設定一些或所有選項,例如在程式碼中設定 API 金鑰:
builder.AddQdrantClient("qdrant", settings => settings.ApiKey = "12345!@#$%");
可檢視性和遙測
.NET .NET Aspire 整合會自動設定記錄、追蹤和度量組態,有時稱為 可觀察性的支柱。 如需整合可觀察性和遙測的詳細資訊,請參閱 .NET.NET Aspire 整合概觀。 視支援服務而定,某些整合可能只支援其中一些功能。 例如,某些整合支援記錄和追蹤,但不支援計量。 您也可以使用 組態 一節中呈現的技術來停用遙測功能。
伐木
.NET .NET Aspire Qdrant 整合會使用下列記錄類別:
- “Qdrant。Client”