Eventos
17 de mar., 23 - 21 de mar., 23
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraNão há mais suporte para esse navegador.
Atualize o Microsoft Edge para aproveitar os recursos, o suporte técnico e as atualizações de segurança mais recentes.
Neste tutorial, você aprenderá a configurar um aplicativo ASP.NET Core com um Banco de Dados SQL Server para implantação para Azure. .NET Aspire fornece várias configurações de integração SQL Server que provisionam diferentes serviços de banco de dados no Azure. Você aprenderá a:
Observação
Este documento se concentra especificamente nas configurações de .NET Aspire para provisionar e implantar recursos SQL Server em Azure. Visite o tutorial de implantação Azure Container Apps para saber mais sobre o processo completo de implantação de .NET.NET Aspire.
Para trabalhar com .NET.NET Aspire, você precisa do seguinte instalado localmente:
Para obter mais informações, consulte .NET.NET Aspirede instalação e ferramentas e .NET.NET Aspiredo SDK.
Visual Studio cria uma nova solução ASP.NET Core estruturada para usar .NET Aspire. A solução consiste nos seguintes projetos:
.NET Aspire fornece duas opções de configuração internas para simplificar a implantação de SQL Server em Azure:
Adicione a integração
Adicione o pacote NuGet 📦Aspire.Hosting.Azure.Sql ao projeto AspireSQL.AppHost:
dotnet add package Aspire.Hosting.Azure.Sql
Configure o projeto
Substitua o conteúdo do arquivo
var builder = DistributedApplication.CreateBuilder(args);
var apiService = builder.AddProject<Projects.AspireSql_ApiService>("apiservice");
// Provisions an Azure SQL Database when published
var sqlServer = builder.AddAzureSqlServer("sqlserver")
.AddDatabase("sqldb");
builder.AddProject<Projects.AspireSql_Web>("webfrontend")
.WithExternalHttpEndpoints()
.WithReference(apiService)
.WaitFor(apiService);
builder.Build().Run();
O código anterior adiciona um recurso de contêiner SQL Server ao seu aplicativo e configura uma conexão com um banco de dados chamado sqldata
. O método PublishAsAzureSqlDatabase
garante que ferramentas como o Azure Developer CLI ou Visual Studio criem um recurso do Banco de Dados SQL Azure durante o processo de implantação.
Ferramentas como o Azure Developer CLI (azd
) dão suporte a configurações de integração .NET AspireSQL Server para simplificar as implantações.
azd
consome essas configurações e provisiona recursos configurados corretamente para você.
Abra uma nova janela de terminal e cd
no diretório de sua solução de .NET.NET Aspire.
Execute o comando azd init
para inicializar seu projeto com azd
, que inspecionará a estrutura do diretório local e determinará o tipo de aplicativo.
azd init
Para obter mais informações sobre o comando azd init
, consulte azd init.
Selecione Usar código no diretório atual quando azd
solicitar duas opções de inicialização de aplicativo.
? How do you want to initialize your app? [Use arrows to move, type to filter]
> Use code in the current directory
Select a template
Depois de verificar o diretório,
Detected services:
.NET (Aspire)
Detected in: D:\source\repos\AspireSample\AspireSample.AppHost\AspireSample.AppHost.csproj
azd will generate the files necessary to host your app on Azure using Azure Container Apps.
? Select an option [Use arrows to move, type to filter]
> Confirm and continue initializing my app
Cancel and exit
Insira um nome de ambiente, que é usado para nomear recursos provisionados em Azure e gerenciar ambientes diferentes, como dev
e prod
.
Generating files to run your app on Azure:
(✓) Done: Generating ./azure.yaml
(✓) Done: Generating ./next-steps.md
SUCCESS: Your app is ready for the cloud!
You can provision and deploy your app to Azure by running the azd up command in this directory. For more information on configuring your app, see ./next-steps.md
azd
gera vários arquivos e os coloca no diretório de trabalho. Estes arquivos são:
azd
qual é o ambiente ativo atual.Depois que um modelo de
azd up
Selecione a assinatura na qual você deseja implantar na lista de opções disponíveis:
Select an Azure Subscription to use: [Use arrows to move, type to filter]
1. SampleSubscription01 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)
2. SamepleSubscription02 (xxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx)
Selecione o local de Azure desejado a ser usado na lista de opções disponíveis:
Select an Azure location to use: [Use arrows to move, type to filter]
42. (US) Central US (centralus)
43. (US) East US (eastus)
> 44. (US) East US 2 (eastus2)
46. (US) North Central US (northcentralus)
47. (US) South Central US (southcentralus)
Depois de fazer suas seleções, azd
executa o processo de provisionamento e implantação.
By default, a service can only be reached from inside the Azure Container Apps environment it is running in. Selecting a service here will also allow it to be reached from the Internet.
? Select which services to expose to the Internet webfrontend
? Select an Azure Subscription to use: 1. <YOUR SUBSCRIPTION>
? Select an Azure location to use: 1. <YOUR LOCATION>
Packaging services (azd package)
Provisioning Azure resources (azd provision)
Provisioning Azure resources can take some time.
Subscription: <YOUR SUBSCRIPTION>
Location: <YOUR LOCATION>
You can view detailed progress in the Azure Portal:
<LINK TO DEPLOYMENT>
(✓) Done: Resource group: <YOUR RESOURCE GROUP>
(✓) Done: Container Registry: <ID>
(✓) Done: Log Analytics workspace: <ID>
(✓) Done: Container Apps Environment: <ID>
SUCCESS: Your application was provisioned in Azure in 1 minute 13 seconds.
You can view the resources created under the resource group <YOUR RESOURCE GROUP> in Azure Portal:
<LINK TO RESOURCE GROUP OVERVIEW>
Deploying services (azd deploy)
(✓) Done: Deploying service apiservice
- Endpoint: <YOUR UNIQUE apiservice APP>.azurecontainerapps.io/
(✓) Done: Deploying service webfrontend
- Endpoint: <YOUR UNIQUE webfrontend APP>.azurecontainerapps.io/
Aspire Dashboard: <LINK TO DEPLOYED .NET ASPIRE DASHBOARD>
SUCCESS: Your up workflow to provision and deploy to Azure completed in 3 minutes 50 seconds.
O comando azd up
atua como wrapper para os seguintes comandos de azd
individuais para provisionar e implantar seus recursos em uma única etapa:
azd package
: os projetos de aplicativo e suas dependências são empacotados em contêineres.azd provision
: os recursos de Azure que o aplicativo precisará serão provisionados.azd deploy
: Os projetos são implantados como contêineres em uma instância de Registro de Contêiner Azure e, em seguida, usados para criar novas revisões de Azure Container Apps, nas quais o código será hospedado.Quando os estágios de azd up
forem concluídos, seu aplicativo estará disponível no Azuree você poderá abrir o portal Azure para explorar os recursos.
azd
também gera URLs para acessar os aplicativos implantados diretamente.
O processo de implantação provisionou um recurso do Banco de Dados SQL Azure devido à configuração .AppHost que você forneceu.
Execute o seguinte comando Azure CLI para excluir o grupo de recursos quando você não precisar mais dos recursos de Azure que você criou. Excluir o grupo de recursos também exclui os recursos contidos nele.
az group delete --name <your-resource-group-name>
Para obter mais informações, consulte Limpeza de recursos no Azure.
Comentários do .NET Aspire
O .NET Aspire é um projeto código aberto. Selecione um link para fornecer comentários:
Eventos
17 de mar., 23 - 21 de mar., 23
Junte-se à série de encontros para criar soluções de IA escaláveis com base em casos de uso do mundo real com outros desenvolvedores e especialistas.
Registrar agoraTreinamento
Módulo
Personalizar um aplicativo .NET Aspire para usar recursos existentes do Azure - Training
Neste módulo, você aprenderá a mover serviços de backup para seu aplicativo .NET Aspire hospedado pelo Azure de contêineres para serviços nativos do Azure.
Certificação
Microsoft Certified: Azure Database Administrator Associate - Certifications
Administrar uma infraestrutura de banco de dados do SQL Server para bancos de dados relacionais de nuvem, locais e híbridos usando as ofertas de banco de dados relacional do Microsoft PaaS.