Udostępnij za pośrednictwem


Community Toolkit Azure - integracja hostingu z narzędziem Data API Builder

Obejmuje:integracja hostingu obejmuje tylko integrację hostinguClient integracja nie jest uwzględnionaClient

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 Data API Builder, zainstaluj zestaw CommunityToolkit.. Gościnność.. Pakiet NuGet DataApiBuilder w projekcie hosta aplikacji .

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ą jak ghcr.io dla usługi GitHub Container Registry lub docker.io dla Docker.
  • WithImage: podaj nazwę obrazu, na przykład azure-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.

Zobacz też