Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
本快速入门介绍如何创建第一个 Aspire 应用并将其部署到 Azure 应用服务。 Azure 应用服务提供了一个完全托管的平台,用于托管内置基础设施维护、安全修补和可扩展性的Web应用程序。
你可以通过使用适用于 GitHub Codespaces 的官方 Aspire 开发容器,直接在浏览器中完成整个快速入门流程。 最后,已将正在运行的 Aspire 应用部署到 Azure 应用服务。
Important
Aspire Azure 应用服务 整合目前處於預覽階段。
本快速入门使用 C# AppHost 和 .NET 项目。 Aspire 还支持 TypeScript 应用主机和多语种应用资源。 更多信息请参见 Aspire AppHost 和 Aspire 13.5 的新动态。
先决条件
- 拥有有效订阅的 Azure 帐户。 创建帐户。
- 一个可以访问 GitHub Codespaces 的 GitHub 账户。
- 代码空间中可用的Azure CLI用于认证。
在 GitHub codespace 中创建 Aspire 初学者应用
在新仓库中,选择 代码>空间>在主仓库创建代码空间。
你的浏览器会用 Visual Studio Code 打开一个代码空间。 该环境包括 Aspire CLI 和可信的本地 HTTPS 开发证书。
更多信息请参见使用 GitHub Codespaces 与 Aspire 开发。
在终端中,创建一个新的Aspire应用:
aspire new aspire-starter --name aspire-starter --output aspire-starter该命令创建一个名为完整 Aspire 解决方案的新目录
aspire-starter,包括:- 用于编排的 AppHost 项目
- 共享配置的 ServiceDefaults 项目
- 示例 API 和 Web 前端项目
导航到项目目录:
cd aspire-starter
添加 Azure 应用服务集成
将 Aspire 应用配置为部署到 Azure 应用服务。
添加 Azure 应用服务 托管集成:
aspire add Aspire.Hosting.Azure.AppService该
aspire add命令检测 AppHost 项目并添加该Aspire.Hosting.Azure.AppService包。 有关详细信息,请参阅aspire add。打开 aspire-starter/aspire-starter/AppHost/AppHost.cs。
在
CreateBuilder行后添加 Azure 应用服务环境:builder.AddAzureAppServiceEnvironment("app-service-env");有关详细信息,请参阅是否需要应用服务环境才能运行 Aspire 应用?
添加
.WithExternalHttpEndpoints()到apiservice项目。 您的完整apiservice资源应如下所示:var apiService = builder.AddProject<Projects.aspire_starter_ApiService>("apiservice") .WithExternalHttpEndpoints() .WithHttpHealthCheck("/health");注释
App Service 仅支持外部 HTTP 和 HTTPS 端点,并为每个部署的应用提供一个独立的目标端口。 起始模板已经暴露了前端端点。 欲了解更多信息,请参见 Azure 应用服务 Hosting integration 。
从解决方案根节点运行
aspire run以本地验证 AppHost。
部署到 Azure 云
登录到 Azure:
az login部署应用程序:
aspire deploy提示时,选择你的 Azure 订阅、位置和资源组。 Aspire 会将选定的部署设置存储为 AppHost 用户秘密,方便你复用。
该
aspire deploy命令根据 AppHost.cs 代码执行以下作:- 创建或重用所选资源组
- 创建 Azure 应用服务计划
- 创建一个 Azure 容器注册表
- 创建两个应用服务 Web 应用(一个用于 API,一个用于前端)
- 创建一个托管的Aspire仪表板资源
- 构建并容器化您的应用程序
- 将容器推送到Azure 容器注册表
- 将容器部署到应用服务
有关部署设置和认证的更多信息,请参见部署到Azure。
部署完成后,命令会显示已部署服务和Aspire仪表盘的端点URL。
有关部署流程的更多信息,请参见“部署到Azure 应用服务”。
浏览 Aspire 应用
在部署输出中,找到服务的 URL
webfrontend。 它看起来类似于:webfrontend: https://webfrontend-xxxxx.chinacloudsites.cn复制 URL 并在新的浏览器选项卡中打开它。
您会看到在 Azure 应用服务 上运行的 Aspire 入门应用程序。 Web 前端与 API 服务通信,演示分布式体系结构。
尝试浏览应用以验证它是否正常工作。
若要查看 Aspire 仪表板,请在部署输出中找到 Aspire 仪表板 URL,并在新的浏览器选项卡中打开它。
在 Azure 门户中查看部署详细信息
导航到 Azure 门户。
在搜索栏中,键入 资源组 并选择 “资源组”。
找到并选择你在
aspire deploy期间选择的资源组。
您应该能看到以下资源:
- 应用服务计划:托管基础结构
- 应用服务:您的 Web 前端和 API 服务应用
- Aspire Dashboard:一个由基于角色的访问控制(RBAC)保护的托管 Azure 资源。
- 容器注册表:存储容器映像
- 用户分配的标识:提供服务之间的安全访问
清理资源
不再需要 Azure 资源时,请将其删除以避免产生费用。
在 codespace 终端中,运行:
aspire destroy出现提示时,确认要销毁已部署的环境。
该命令执行由应用服务环境注册的销毁步骤。 有关详细信息,请参阅 aspire destroy。
Caution
aspire destroy 删除整个资源组,包括非Aspire创建的资源。 确认前先查看目标资源组。
常见问题解答
是否需要应用服务环境才能运行 Aspire 应用?
No. 尽管名称如此,AddAzureAppServiceEnvironment并不会在 Isolated 层级中预配 应用服务环境。 它创建了一个Aspire环境资源,代表你应用的应用服务托管基础设施。
调用 AddAzureAppServiceEnvironment时,它会预配:
- Azure 应用服务计划 (Linux 上的高级 P0V3 层默认)
- 用于存储容器映像的 Azure 容器注册表
- 用户分配的托管身份,用于在服务之间实现安全访问
此 Aspire 环境概念将资源组合在一起,并提供将 Aspire 应用部署到 Azure 应用服务所需的基础结构。
如何自定义我的应用服务部署?
可以通过修改AppHost.cs配置来自定义应用服务部署。 Aspire Azure 应用服务集成提供了多种自定义部署的方法:
- 配置应用服务计划:调整 SKU、级别和伸缩选项
- 自定义应用服务设置:添加环境变量、连接字符串和应用设置
- 配置基础结构:修改网络、身份验证和其他Azure资源
- 使用现有资源:连接到现有应用服务计划或其他 Azure 资源
有关详细信息,请参阅 配置 Aspire 应用程序以用于 Azure 应用服务。
有关支持的 App Service 工作负载和部署行为的更多信息,请参见 Azure 应用服务 托管集成和部署到 Azure 应用服务。
后续步骤
已成功将 Aspire 应用部署到 Azure 应用服务! 下面是一些要探索的后续步骤: