You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在.NET 9 Aspire中手动指定Azure资源组及资源命名规则?

.NET 9 Aspire中控制Azure资源命名的方法

1. 显式指定资源组名称

有两种方式直接固定资源组名称:

  • 命令行发布时指定:运行azd up命令时追加--resource-group参数,直接传入自定义名称:
    azd up --resource-group MyCustomResourceGroup
    
  • 配置文件固化:在项目根目录的azure.yaml中添加resourceGroup字段,写入你想要的名称:
    name: MyAspireProject
    resourceGroup: MyCustomResourceGroup
    services:
      web:
        project: src/Web/Web.csproj
        host: containerapp
    

2. 自定义单个Azure资源的名称

Aspire的资源配置API支持直接给单个资源指定名称,以常用资源为例:

Azure SQL数据库

在Aspire项目的Program.cs中添加SQL资源时,用WithName指定服务器名称,WithDatabaseName指定逻辑库名称:

builder.AddAzureSqlDatabase("sqlConnection")
       .WithName("MyCustomSqlServer") // 自定义SQL服务器名称
       .WithDatabaseName("MyAppCoreDb"); // 自定义数据库名称

Azure存储账户

用WithName指定存储账户名称(需符合Azure规则:仅小写字母+数字,长度3-24位):

builder.AddAzureStorage("storageConnection")
       .WithName("myappstoragedev");

3. 配置全局命名约定

如果想让所有未显式命名的资源自动遵循统一模式,可通过全局配置实现。在Program.cs的主机构建阶段,添加自定义命名规则:

var builder = DistributedApplication.CreateBuilder(args);

// 配置全局命名规则
builder.Services.Configure<ResourceNamingConventionOptions>(options =>
{
    options.GenerateName = resource =>
    {
        // 示例规则:前缀+资源类型缩写+环境标识
        var prefix = "myapp";
        var typeAbbr = resource.ResourceType switch
        {
            "Azure.SqlDatabase" => "sql",
            "Azure.Storage" => "stor",
            "ContainerApp" => "app",
            _ => resource.ResourceType.ToLower()[..3]
        };
        var env = builder.Environment.EnvironmentName.ToLower();
        return $"{prefix}-{typeAbbr}-{env}";
    };
});

// 后续添加的资源会自动套用规则
builder.AddAzureStorage("storage");
builder.AddAzureSqlDatabase("sql");

4. Visual Studio发布时手动调整

如果用Visual Studio发布Aspire应用,在发布向导的「Azure资源」步骤中,可直接修改资源组名称和各个资源的名称,确认后再完成发布。

内容的提问来源于stack exchange,提问作者Elie Tebchrani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.15 06:53:18