Uwaga
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Obejmuje: —
Client
Notatka
Ta integracja jest częścią .NET.NET Aspire Community Toolkit i nie jest oficjalnie wspierana przez zespół .NET.NET Aspire.
Z tego artykułu dowiesz się, jak używać integracji hostingu narzędzia Data API Builder .NET.NET Aspire, aby uruchamiać Data API Builder jako kontener.
Integracja hostingu
Aby rozpocząć pracę z integracją hostingu narzędzia
dotnet add package CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder
Aby uzyskać więcej informacji, zobacz dotnet add package lub Zarządzaj zależnościami pakietów w aplikacjach .NET.
Użytkowanie
W projekcie hosta aplikacji zarejestruj i użyj integracji Data API Builder, stosując metodę rozszerzenia AddDataAPIBuilder
do dodania kontenera Data API Builder do konstruktora aplikacji.
var builder = DistributedApplication.CreateBuilder();
// Add Data API Builder using dab-config.json
var dab = builder.AddDataAPIBuilder("dab");
builder.AddProject<Projects.ExampleProject>()
.WithReference(dab);
// After adding all resources, run the app...
Gdy .NET.NET Aspire dodaje obraz kontenera do hosta aplikacji, jak pokazano w poprzednim przykładzie z obrazem mcr.microsoft.com/azure-databases/data-api-builder
, tworzy nowe wystąpienie narzędzia Data API Builder na lokalnej maszynie. Odwołanie do zasobu DAB (zmiennej dab
) jest dodawane do projektu ExampleProject
.
Konfiguracja
Parametr | Opis |
---|---|
name |
Nazwa zasobu jest wymaganą string i jest weryfikowana przez ResourceNameAttribute. |
configFilePaths |
Ścieżki do plików konfiguracji lub schematu dla konstruktora interfejsu API danych. Są one opcjonalne i dostępne jako params string[] , co oznacza, że można je całkowicie pominąć lub podać jedną lub więcej ścieżek bezpośrednio w linii tekstu. Po pominięciu wartość domyślna to "./dab-config.json" . |
httpPort |
Numer portu kontenera narzędzia Data API Builder jest reprezentowany jako int? . Domyślnie port jest null , a przy braku innych ustawień .NET.NET Aspire przypisuje port. |
Konfiguracja obrazu kontenera narzędzia Data API Builder
Niestandardowe wartości registry/image/tag
kontenera można określić przy użyciu następujących interfejsów API połączonych z IResourceBuilder<DataApiBuilderContainerResource>
:
-
WithImageRegistry
: prześlij żądaną nazwę rejestru, taką jakghcr.io
dla usługi GitHub Container Registry lubdocker.io
dla Docker. -
WithImage
: podaj nazwę obrazu, na przykładazure-databases/data-api-builder
. -
WithImageTag
: określ tag obrazu do użycia inny niżlatest
, który jest domyślny w większości przypadków.
Rozważmy poniższy przykład, który pokazuje łączenie łańcuchów tych interfejsów API, aby płynnie wyrazić, że obraz kontenera narzędzia Data API Builder jest w pełni kwalifikowany jako mcr.microsoft.com/azure-databases/data-api-builder:latest
:
var dab = builder.AddDataAPIBuilder("dab")
.WithImageRegistry("mcr.microsoft.com")
.WithImage("azure-databases/data-api-builder")
.WithImageTag("latest");
Konfiguracja bazy danych
Jeśli musisz skonfigurować własną lokalną bazę danych, zapoznaj się z dokumentacją integracji SQL Server.
Po dodaniu bazy danych jako zasobu możesz odwoływać się do niej przy użyciu następujących interfejsów API połączonych z IResourceBuilder<DataApiBuilderContainerResource>
.
var dab = builder.AddDataAPIBuilder("dab")
.WithReference(sqlDatabase)
.WaitFor(sqlDatabase);
Metoda WaitFor
gwarantuje, że baza danych jest gotowa przed uruchomieniem kontenera narzędzia Data API Builder.
Odwołanie do zasobu sqlDatabase
spowoduje wstrzyknięcie parametrów połączenia do kontenera narzędzia Data API Builder o nazwie ConnectionStrings__<DATABASE_RESOURCE_NAME>
.
Następnie zaktualizuj plik dab-config.json
, aby uwzględnić parametry połączenia dla bazy danych:
"data-source": {
"connection-string": "@env('ConnectionStrings__<DATABASE_RESOURCE_NAME>')",
}
Korzystanie z wielu źródeł danych
Wiele plików konfiguracji można przekazać do metody AddDataAPIBuilder
:
var dab = builder.AddDataAPIBuilder("dab",
"./dab-config-1.json",
"./dab-config-2.json")
.WithReference(sqlDatabase1)
.WaitFor(sqlDatabase1)
.WithReference(sqlDatabase2)
.WaitFor(sqlDatabase2);
Notatka
Wszystkie pliki są instalowane/kopiowane do tego samego folderu /App
.