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

使用C#创建Azure虚拟机时创建资源组抛出未知主机错误

服务主体使用差异说明

通过Azure门户创建虚拟机时,平台会直接使用你当前登录的用户身份完成权限校验,不需要额外创建身份实体。代码访问属于非交互式的自动化场景,无法触发交互式登录流程验证个人用户身份,因此需要使用预先创建的服务主体作为代码操作Azure资源的身份凭证,用于权限校验和操作审计。

"No such host is known"错误排查

该错误是域名解析失败导致的请求无法发出,常见触发原因如下:

  • 网络连通性问题:运行代码的设备无法正常访问Azure服务端点,可能是本地防火墙、企业代理、VPN策略拦截了Azure API请求,可先测试是否能正常访问Azure门户验证基础网络连通性。
  • 认证文件配置问题:首先确认azureauth.properties文件路径正确,你当前使用的相对路径../../../azureauth.properties需要匹配程序运行时的工作目录,否则会导致认证信息读取失败,无法正确发起Azure服务请求。同时要确认文件内的租户ID、客户端ID、客户端密钥、订阅ID等配置项填写准确无误。
  • 云环境不匹配:如果你使用的是中国区Azure、美国政府云等非全球公有云环境,需要在初始化Azure客户端时显式指定对应的云环境标识,默认的全球公有云配置无法解析其他云环境的服务域名。
  • SDK版本过旧:如果使用的是已停止维护的旧版Azure .NET管理SDK,可能存在硬编码的过时服务端点,导致域名解析失败,建议升级到对应SDK的最新稳定版本。

你提供的实现代码如下:

//Create the management client. This will be used for all the operations we will perform in Azure.
var credentials = SdkContext.AzureCredentialsFactory.FromFile("../../../azureauth.properties");
var azure = Azure.Configure().WithLogLevel(HttpLoggingDelegatingHandler.Level.Basic).Authenticate(credentials).WithDefaultSubscription();

//Create a resource group
var groupName = "az204-ResourceGroup";
var vmName = "az204VMTesting";
var location = Region.USEast;
var vNetName = "az204VNET";
var vNetAddress = "172.16.0.0/16";
var subnetName = "az204Subnet";
var subnetAddress = "172.16.0.0/24";
var nicName = "az204NIC";
var adminUser = "azureadminuser";
var adminPassword = "Pa$$w0rd!2019";

Console.WriteLine($"Creating resource group {groupName} ... ");
//Below fails with 'No such host is known'
var resourceGroup = azure.ResourceGroups.Define(groupName).WithRegion(location).Create();

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:09:01