教程:将Aspire项目与Redis缓存一起部署到Azure

在本教程中,你将学习如何配置Aspire项目,并为部署到Azure安装Redis缓存。 Aspire 提供多种缓存集成配置,用于在 Redis 中配置不同的 Azure 服务。 你将了解如何:

  • 配置应用以预配 AzureAzure Cache for Redis
  • 配置应用以预配容器化 Redis 缓存

注释

本文档专门聚焦于Aspire配置,以便预配和部署Redis缓存资源于Azure。 有关更多信息,以及了解完整 Aspire 部署过程,请参阅 Azure Container Apps 部署 教程。

先决条件

若要使用 Aspire,需要在本地安装以下各项:

有关详细信息,请参阅 Aspire 设置和工具以及 Aspire SDK

创建示例解决方案

按照教程:实现缓存功能并进行Aspire集成以构建示例项目。

配置应用以进行Redis 缓存部署

Aspire提供了两个内置配置选项,以在Redis上简化Azure缓存的部署。

  • 使用 Redis 配置容器化 Azure Container Apps 缓存
  • Azure Azure Cache for Redis预配实例

将 Aspire 集成添加到应用

将适当的 Aspire 集成添加到 AspireRedis.AppHost 项目,以实现您所需的托管服务。

📦Aspire.Hosting.Azure.Redis NuGet 包添加到 AspireRedis.AppHost 项目中:

dotnet add package Aspire.Hosting.Azure.Redis

配置 AppHost 项目

为所需服务配置 Redis 项目。

Program.cs 文件的内容替换为以下代码,文件位于 AspireRedis.AppHost 项目中:

var builder = DistributedApplication.CreateBuilder(args);

var cache = builder.AddAzureRedis("cache");

var apiService = builder.AddProject<Projects.AspireRedis_ApiService>("apiservice")
                        .WithReference(cache);

builder.AddProject<Projects.AspireRedis_Web>("webfrontend")
    .WithExternalHttpEndpoints()
    .WithReference(cache)
    .WaitFor(cache)
    .WithReference(apiService)
    .WaitFor(apiService);

builder.Build().Run();

上述代码将 AzureAzure Cache for Redis 资源添加到您的应用程序,并配置名为 cache 的连接。 该 AddAzureRedis 方法可确保诸如 Azure Developer CLI 或 Visual Studio 等工具在部署过程中创建 Azure Cache for Redis 资源。

部署应用

aspire deploy 命令支持 AspireRedis 集成配置来简化部署。 该命令使用这些设置并预配正确配置的资源。

注释

还可以使用 Azure CLIBicep 来预配和部署 Aspire 项目资源。 这些选项需要更多的手动步骤,但提供对部署的更精细的控制。 Aspire 项目还可以通过手动配置连接到现有 Redis 实例。

若要将应用部署到 Azure Container Apps,请从 AspireRedis.AppHost 目录运行以下命令:

aspire deploy

首次运行 aspire deploy 命令时,系统会提示你:

  1. 登录 Azure:按照身份验证提示登录到帐户 Azure 。
  2. 选择订阅:选择要用于部署的 Azure 订阅。
  3. 选择或创建资源组:选择现有资源组或创建新资源组。
  4. 选择一个位置:选择要 Azure 在其中部署资源的区域。

部署过程将预配必要的 Azure 资源并部署应用 Aspire 。 此过程可能需要几分钟才能完成。

部署完成后,命令输出将提供已部署资源的信息,您可以在Azure门户中查看这些信息。

部署过程已预配了一个AzureAzure Cache for Redis资源,因你提供的.AppHost配置。

已部署的AzureAzure Cache for Redis屏幕截图。

清理资源

运行以下 Azure CLI 命令,在不再需要创建的 Azure 资源时删除资源组。 删除资源组也会删除其中包含的资源。

az group delete --name <your-resource-group-name>

有关详细信息,请参阅 清理 Azure中的资源。

另请参阅