Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Inclui:integração de hospedagem não
Client integração
Nota
Essa integração faz parte do Community Toolkit .NET.NET Aspire e não é oficialmente apoiada pela equipe de .NET.NET Aspire.
Neste artigo, você aprenderá a usar a integração de hospedagem do Construtor de API de Dados .NET.NET Aspire para executar o Construtor de API de Dados como um contêiner.
Integração de hospedagem
Para começar a usar a integração de hospedagem do Construtor de API de Dados do
dotnet add package CommunityToolkit.Aspire.Hosting.Azure.DataApiBuilder
Para obter mais informações, consulte dotnet add package ou Gerenciar dependências de pacotes em aplicativos .NET.
Uso
No projeto de host do aplicativo, registre e consuma a integração do Construtor de API de Dados usando o método de extensão AddDataAPIBuilder
para adicionar o contêiner do Construtor de API de Dados ao construtor de aplicativos.
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...
Quando o .NET.NET Aspire adiciona uma imagem de contêiner ao host do aplicativo, conforme mostrado no exemplo anterior com a imagem mcr.microsoft.com/azure-databases/data-api-builder
, ele cria uma nova instância do Construtor de API de Dados em sua máquina local. Uma referência ao recurso DAB (a variável dab
) é adicionada ao projeto ExampleProject
.
Configuração
Parâmetro | Descrição |
---|---|
name |
O nome do recurso é um string necessário e é validado pelo ResourceNameAttribute. |
configFilePaths |
Os caminhos para a configuração ou os arquivos de esquema para o construtor de API de Dados. Eles são opcionais e estão disponíveis como um params string[] , o que significa que você pode omití-los completamente ou fornecer um ou mais caminhos em linha. Quando omitido, assume o valor padrão "./dab-config.json" . |
httpPort |
O número da porta para o contêiner do Construtor de API de Dados é representado como um int? . Por padrão, a porta é null ; .NET.NET Aspire atribui uma porta quando nenhuma outra é especificada. |
Configuração de imagem de contêiner do Construtor de API de Dados
Você pode especificar valores de registry/image/tag
de contêiner personalizado usando as seguintes APIs encadeadas ao IResourceBuilder<DataApiBuilderContainerResource>
:
-
WithImageRegistry
: passe o nome do registro desejado, comoghcr.io
para o Registro de Contêiner GitHub oudocker.io
para Docker. -
WithImage
: forneça o nome da imagem, comoazure-databases/data-api-builder
. -
WithImageTag
: especifique uma marca de imagem a ser usada além delatest
, que é o padrão na maioria dos casos.
Considere o exemplo a seguir que demonstra o encadeamento dessas APIs em conjunto, para expressar fluentemente que a imagem de contêiner do Construtor de API de Dados é totalmente qualificada como 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");
Configuração do banco de dados
Se você precisar configurar seu próprio banco de dados local, consulte a documentação de integração SQL Server.
Depois de adicionar o banco de dados como um recurso, você poderá referenciá-lo usando as seguintes APIs encadeadas ao IResourceBuilder<DataApiBuilderContainerResource>
:
var dab = builder.AddDataAPIBuilder("dab")
.WithReference(sqlDatabase)
.WaitFor(sqlDatabase);
O método WaitFor
garante que o banco de dados esteja pronto antes de iniciar o contêiner do Construtor de API de Dados.
Referenciar o recurso sqlDatabase
injetará sua cadeia de conexão no contêiner do Construtor de API de Dados com o nome ConnectionStrings__<DATABASE_RESOURCE_NAME>
.
Em seguida, atualize o arquivo dab-config.json
para incluir a cadeia de conexão do banco de dados:
"data-source": {
"connection-string": "@env('ConnectionStrings__<DATABASE_RESOURCE_NAME>')",
}
Usando várias fontes de dados
Você pode passar vários arquivos de configuração para o método AddDataAPIBuilder
:
var dab = builder.AddDataAPIBuilder("dab",
"./dab-config-1.json",
"./dab-config-2.json")
.WithReference(sqlDatabase1)
.WaitFor(sqlDatabase1)
.WithReference(sqlDatabase2)
.WaitFor(sqlDatabase2);
Nota
Todos os arquivos são montados/copiados para a mesma pasta de /App
.
Consulte também
- repositório GitHub do Kit de Ferramentas da Comunidade .NET Aspire
- DAB de exemplo
- exemplos de uso adicionais