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

已删除的Azure Function App如何移除其主机名?

解决Terraform销毁Function App后主机名残留的问题

这种情况我之前踩过坑!Terraform销毁Function App时偶尔会因为依赖顺序或者API延迟,漏掉主机名的解绑操作,导致主机名被“锁定”没法复用。下面几个步骤帮你彻底清理残留的主机名绑定:

1. 定位残留的主机名绑定记录

首先用Web App的CLI命令查询所有主机名绑定(因为Function App本质属于Web App资源类型),替换<your-hostname>为你的目标主机名:

az webapp hostname list --query "[?name=='<your-hostname>']" --output json

如果返回结果里有这条主机名的记录,你能看到它关联的resourceGroup、siteName(就是已被删除的Function App名称)等信息。

2. 直接删除主机名绑定资源

因为原Function App已经不存在,用az functionapp config hostname delete会报错,这时候可以用az resource delete直接删除对应的绑定资源。需要用到步骤1里查到的resourceGroup、siteName,以及主机名:

az resource delete --resource-group <your-resource-group> --resource-type Microsoft.Web/sites/hostNameBindings --name "<site-name>/<your-hostname>"

举个例子:如果你的Function App叫my-func-app,主机名是my-func-app.azurewebsites.net,命令就是:

az resource delete --resource-group my-rg --resource-type Microsoft.Web/sites/hostNameBindings --name "my-func-app/my-func-app.azurewebsites.net"

3. 检查DNS记录(如果是自定义域名)

如果是自定义域名(不是Azure默认的.azurewebsites.net),还要检查你的DNS提供商那边的A/CNAME记录是否还指向已删除的Function App。如果是的话,先删除这些DNS记录,再等待几分钟让Azure的域名系统同步,之后就能重新绑定了。

4. 强制刷新Azure资源状态(可选)

如果上面的命令执行后还是提示主机名被占用,可以尝试清除Azure CLI的本地缓存,或者重新查询资源状态确认残留记录已删除:

az cache purge --resource-type Microsoft.Web/sites/hostNameBindings

一般执行完步骤2之后,等个5-10分钟,Azure后台就会释放这个主机名,你就能重新用它创建新的Function App了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:34:24