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

如何使用Azure RM API检测子域名是否可用?

Azure RM中子域名可用性检测的替代方案

我太懂这种找不到对应API的郁闷了!旧版Azure API里那个HostedServices.CheckNameAvailabilityAsync用起来确实顺手,切换到Azure RM之后突然没了直接对应的方法,确实让人挠头。不过别担心,咱们有完美的替代方案能实现一模一样的功能。

在Azure RM的资源模型里,子域名(比如云服务的子域名)的可用性检测,其实可以通过对应资源类型的名称可用性检查接口来实现,以云服务为例,代码示例如下:

using Azure;
using Azure.ResourceManager;
using Azure.ResourceManager.Compute;
using Azure.ResourceManager.Compute.Models;

public async Task<bool> CheckCloudServiceSubdomainAvailabilityAsync(ArmClient client, string subscriptionId, string domainName)
{
    // 获取订阅资源
    var subscriptionResource = await client.GetSubscriptionResource(
        new ResourceIdentifier($"/subscriptions/{subscriptionId}")).GetAsync();
    
    // 构建名称检查请求内容
    var checkContent = new CloudServiceNameAvailabilityContent(domainName);
    
    // 调用名称可用性检查接口
    var response = await subscriptionResource.CheckCloudServiceNameAvailabilityAsync(checkContent);
    
    // 返回是否可用(注意处理null的情况)
    return response.Value.IsAvailable.GetValueOrDefault(false);
}

额外说明:

  • 要使用这段代码,你需要先引用最新版的Azure.ResourceManager.Compute NuGet包(建议版本≥1.0.0),这是Azure官方推荐的新一代管理库
  • 如果是检测其他资源类型的子域名(比如App Service、存储账户),每个资源类型都有对应的名称检查方法:
    • App Service可以用WebSiteNameAvailabilityContent和CheckWebSiteNameAvailabilityAsync方法
    • 存储账户可以用StorageAccountNameAvailabilityContent和CheckStorageAccountNameAvailabilityAsync方法
  • 调用这些接口需要对应的权限,比如云服务的检查需要Microsoft.Compute/cloudServices/checkNameAvailability/action的权限,确保你的服务主体或用户账号拥有该权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:24:04