Integrace Meilisearch nástroje Community Toolkit .NET.NET Aspire
zahrnuje:integrace hostování a integrace Client
Poznámka
Tato integrace je součástí sady .NET.NET Aspire Community Toolkit a není oficiálně podporovaná týmem .NET.NET Aspire.
V tomto článku se dozvíte, jak prostřednictvím integrace hostingu .NET.NET Aspire Meilisearch spustit kontejner Meilisearch a jak k němu přistupovat pomocí Meilisearchclient.
Integrace hostování
Pokud chcete spustit kontejner Meilisearch, nainstalujte 📦 CommunityToolkit.Aspire. Hostování.Meilisearch balíčku NuGet v projektu hostitele aplikace .
dotnet add package CommunityToolkit.Aspire.Hosting.Meilisearch
Další informace najdete v tématu dotnet add package nebo Správa závislostí balíčků v .NET aplikacích.
Přidání prostředku Meilisearch
V projektu hostitele aplikace zaregistrujte a využijte integraci Meilisearch pomocí metody rozšíření AddMeilisearch
pro přidání kontejneru Meilisearch do tvůrce aplikací.
var builder = DistributedApplication.CreateBuilder(args);
var meilisearch = builder.AddMeilisearch("meilisearch");
builder.AddProject<Projects.ExampleProject>()
.WithReference(meilisearch);
// After adding all resources, run the app...
Když .NET.NET Aspire přidá obraz kontejneru do hostitele aplikace, jak je znázorněno v předchozím příkladu s obrazem docker.io/getmeili/meilisearch
, vytvoří se na vašem místním počítači nová instance Meilisearch. Do meilisearch
se přidá reference na váš prostředek Meilisearch (proměnná ExampleProject
). Prostředek Meilisearch zahrnuje náhodně vygenerovaný master key
pomocí metody CreateDefaultPasswordParameter, pokud nebyl poskytnut hlavní klíč.
Další informace najdete v tématu životní cyklus prostředků kontejneru.
Přidání zdroje Meilisearch s objemem dat.
Pokud chcete přidat datový svazek do prostředku Meilisearch, zavolejte metodu Aspire.Hosting.MeilisearchBuilderExtensions.WithDataVolume
prostředku Meilisearch:
var builder = DistributedApplication.CreateBuilder(args);
var meilisearch = builder.AddMeilisearch("meilisearch")
.WithDataVolume();
builder.AddProject<Projects.ExampleProject>()
.WithReference(meilisearch);
// After adding all resources, run the app...
Objem dat se používá k uchování dat Meilisearch mimo životní cyklus kontejneru. Svazek dat se připojí k cestě /meili_data
v kontejneru Meilisearch a pokud není zadaný parametr name
, název se náhodně vygeneruje. Další informace o datových svazcích a podrobnosti o tom, proč se upřednostňují před vázaným připojením, najdete v dokumentaci Docker: Svazky.
Přidejte prostředek Meilisearch s připojením svazku dat
Pokud chcete přidat datový bind mount k prostředku Meilisearch, zavolejte metodu Aspire.Hosting.MeilisearchBuilderExtensions.WithDataBindMount
:
var builder = DistributedApplication.CreateBuilder(args);
var meilisearch = builder.AddMeilisearch("meilisearch")
.WithDataBindMount(
source: @"C:\Meilisearch\Data");
builder.AddProject<Projects.ExampleProject>()
.WithReference(meilisearch);
// After adding all resources, run the app...
Důležitý
Připojení vazby dat mají v porovnání s svazkyomezené funkce, které nabízejí lepší výkon, přenositelnost a zabezpečení, což je vhodnější pro produkční prostředí. Připojení vazby však umožňují přímý přístup a úpravy souborů v hostitelském systému, které jsou ideální pro vývoj a testování, kde jsou potřebné změny v reálném čase.
Datové bind mounty využívají systém souborů hostitelského počítače k zachování dat Meilisearch při restartování kontejneru. Datový připojený svazek je připojen na cestě C:\Meilisearch\Data
v prostředí Windows (nebo /Meilisearch/Data
na Unix) na hostitelském počítači v kontejneru Meilisearch. Další informace o připojeních datových vazeb najdete v dokumentaci Docker: Připojení vazby.
Přidání prostředku Meilisearch s parametrem hlavního klíče
Pokud chcete explicitně zadat hlavní klíč používaný imagí kontejneru, můžete tyto přihlašovací údaje zadat jako parametry. Podívejte se na následující alternativní příklad:
var builder = DistributedApplication.CreateBuilder(args);
var masterkey = builder.AddParameter("masterkey", secret: true);
var meilisearch = builder.AddMeilisearch("meilisearch", masterkey);
builder.AddProject<Projects.ExampleProject>()
.WithReference(meilisearch);
// After adding all resources, run the app...
Další informace o poskytování parametrů naleznete v tématu Externí parametry.
integrace Client
Pokud chcete začít s integrací .NET Aspire Meilisearch client, nainstalujte sadu 📦 CommunityToolkit.Aspire. Meilisearch balíček NuGet v projektu, který spotřebovává client, to znamená projekt pro aplikaci, která používá clientMeilisearch.
dotnet add package CommunityToolkit.Aspire.Meilisearch
Přidejte Meilisearch client
V souboru Program.cs projektu, který využívá client, zavolejte metodu rozšíření Microsoft.Extensions.Hosting.AspireMeilisearchExtensions.AddMeilisearchClient
na libovolném IHostApplicationBuilder a zaregistrujte MeilisearchClient
pro použití prostřednictvím kontejneru injektáže závislostí. Metoda přebírá parametr názvu připojení.
builder.AddMeilisearchClient(connectionName: "meilisearch");
Spropitné
Parametr connectionName
se musí shodovat s názvem použitým při přidávání prostředku Meilisearch do hostitelského projektu aplikace. Další informace naleznete v části Přidejte prostředek Meilisearch.
Potom můžete načíst instanci MeilisearchClient
pomocí injekce závislostí. Pokud například chcete načíst připojení z příkladové služby:
public class ExampleService(MeilisearchClient client)
{
// Use client...
}
Přidejte Meilisearch s klíčem client
Mohou nastat situace, kdy chcete zaregistrovat více instancí MeilisearchClient
s různými názvy připojení. Pro registraci klientů Meilisearch s klíčem zavolejte Microsoft.Extensions.Hosting.AspireMeilisearchExtensions.AddKeyedMeilisearchClient
builder.AddKeyedMeilisearchClient(name: "products");
builder.AddKeyedMeilisearchClient(name: "orders");
Potom můžete načíst instance MeilisearchClient
pomocí injekce závislostí. Pokud například chcete načíst připojení z příkladové služby:
public class ExampleService(
[FromKeyedServices("products")] MeilisearchClient productsClient,
[FromKeyedServices("orders")] MeilisearchClient ordersClient)
{
// Use clients...
}
Další informace o klíčových službách najdete v tématu .NET injektování závislostí: Klíčové služby.
Konfigurace
Integrace .NET Aspire Meilisearch client nabízí několik možností konfigurace připojení server na základě požadavků a konvencí projektu.
Použijte připojovací řetězec
Při použití připojovacího řetězce z oddílu konfigurace ConnectionStrings
můžete při volání builder.AddMeilisearchClient
zadat název připojovacího řetězce:
builder.AddMeilisearchClient("meilisearch");
Řetězec připojení se pak načte z konfiguračního oddílu ConnectionStrings
.
{
"ConnectionStrings": {
"meilisearch": "Endpoint=http://localhost:19530/;MasterKey=123456!@#$%"
}
}
Použití zprostředkovatelů konfigurace
Integrace .NET Aspire Meilisearch Client podporuje Microsoft.Extensions.Configuration. Načte CommunityToolkit.Aspire.Meilisearch.MeilisearchClientSettings
z konfigurace pomocí klíče Aspire:Meilisearch:Client
. Podívejte se na následující příklad nastavení aplikace.json, která konfiguruje některé z možností:
{
"Aspire": {
"Meilisearch": {
"Client": {
"Endpoint": "http://localhost:19530/",
"MasterKey": "123456!@#$%"
}
}
}
}
Použití vložených delegátů
Můžete také předat delegáta Action<MeilisearchClientSettings> configureSettings
pro nastavení některých nebo všech vložených možností, například pro nastavení klíče API přímo z kódu:
builder.AddMeilisearchClient(
"meilisearch",
static settings => settings.MasterKey = "123456!@#$%");
Client kontroly stavu integrace
Integrace .NET Aspire Meilisearch využívá nakonfigurované client k realizaci IsHealthyAsync
. Pokud je výsledek true
, je kontrola stavu považována za v pořádku, jinak není v pořádku. Podobně platí, že pokud dojde k výjimce, je kontrola stavu považována za neúspěšnou a chyba se šíří prostřednictvím selhání kontroly stavu.
Viz také
- Meilisearch
- Client Meilisearch
- .NET Aspire Community Toolkit GitHub úložiště