使用Pay As You Go订阅创建Swift虚拟网络关联时遇权限错误
问题:即用即付订阅下创建Azure Function Swift VNet连接提示免费订阅限制
Terraform报错信息:
│ Error: creating/updating App Service VNet association between "rd-func8-func" (Resource Group "rg-rd-func8") and Virtual Network "rdfunc8-vnet": web.AppsClient#CreateOrUpdateSwiftVirtualNetworkConnectionWithCheck: Failure responding to request: StatusCode=400 -- Original Error: autorest/azure: Service returned an error. Status=400 Code="BadRequest" Message="Feature Create Swift Virtual Network is not allowed for a free trial subscription." Details=[{"Message":"Feature Create Swift Virtual Network is not allowed for a free trial subscription."},{"Code":"BadRequest"},{"ErrorEntity":{"Code":"BadRequest","ExtendedCode":"52018","Message":"Feature Create Swift Virtual Network is not allowed for a free trial subscription.","MessageTemplate":"Feature {0} is not allowed for a free trial subscription.","Parameters":["Create Swift Virtual Network"]}}] │ │ with module.function.azurerm_app_service_virtual_network_swift_connection.example, │ on modules/function/function.tf line 28, in resource "azurerm_app_service_virtual_network_swift_connection" "example": │ 28: resource "azurerm_app_service_virtual_network_swift_connection" "example" {
Terraform配置代码:
resource "azurerm_linux_function_app" "this" { name = lower(format("%s-%s-func", var.client_name, var.project_name)) resource_group_name = var.resource_group_name location = var.resource_group_location storage_account_name = var.storage_account_name storage_account_access_key = var.storage_account_access_key service_plan_id = var.service_plan_id app_settings = { FUNCTIONS_WORKER_RUNTIME = "node" } site_config { application_stack { node_version = 18 } } } resource "azurerm_app_service_virtual_network_swift_connection" "example" { app_service_id = azurerm_linux_function_app.this.id subnet_id = var.virtual_network_subnet_id }
用户提供的Azure订阅截图显示:订阅类型为「即用即付」,状态为「活动」。
可能原因及解决方案
1. 订阅仍处于试用过渡期
即使订阅显示为「即用即付」,如果是刚从免费试用升级而来,Azure后台可能仍将其标记为试用状态(需等待试用额度耗尽或手动完成升级流程)。
验证方式:
- 登录Azure门户进入订阅详情页,查看「计费状态」和「试用信息」,确认是否已完全脱离试用模式。
2. 服务计划类型不支持Swift VNet集成
Azure Function的Swift VNet集成仅支持以下服务计划:
- Premium计划(EP1/EP2/EP3)
- Elastic Premium计划(EP1/EP2/EP3)
消耗计划(Consumption Plan)不支持该特性。
验证方式:
- 检查
var.service_plan_id对应的服务计划类型,确认是否符合要求。
3. 手动验证操作
尝试在Azure门户手动为Function App配置Swift VNet集成:
- 进入Function App的「网络」设置页
- 选择「VNet集成」,点击「添加VNet」
- 选择目标子网并尝试保存
如果手动操作也报相同错误,说明是订阅或计划的问题;如果成功,再排查Terraform配置的权限或参数问题。
4. 联系Azure支持
若确认订阅为正式即用即付且服务计划符合要求,但仍报错,可能是Azure后台订阅标记错误,需联系Azure支持团队修正订阅状态。
内容的提问来源于stack exchange,提问作者Accidental Admin
相关产品推荐
相关产品推荐

