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

使用Azure Terrafy导出资源遇network.ServiceEndpointPoliciesClient反序列化错误

Azure Terrafy导出Azure资源时JSON反序列化错误处理

错误信息(翻译后)

错误:检索子网服务端点存储策略 "_e41f87a2_mi_xxx"(资源组 "xxxx")时出错:
network.ServiceEndpointPoliciesClient#Get: 响应请求失败:状态码=200 -- 原始错误:JSON反序列化时出错
Error = 'json: 无法将对象反序列化为Go结构体字段ServiceEndpointPolicyPropertiesFormat.contextualServiceEndpointPolicies的类型"id":
"/subscriptions/4xxxx/resourceGroups/xx/providers/Microsoft.Network/serviceEndpointPolicies/e41xxx
错误:检索子网服务端点存储策略时出错
network.ServiceEndpointPoliciesClient#Get: 响应请求失败:Error = 'json: 无法将对象反序列化为Go结构体字段ServiceEndpointPolicyPropertiesFormat.contextualServiceEndpointPolicies的类型

问题原因

Azure Terrafy依赖的Azure SDK for Go版本中,contextualServiceEndpointPolicies字段被定义为字符串类型(资源ID),但实际Azure API返回的JSON数据里该字段是对象类型,导致反序列化失败。

解决方法

  • 升级Azure Terrafy到最新版:新版本会同步更新Azure SDK,修复字段类型不匹配问题。执行命令:
    aztfy upgrade
    
  • 临时规避导出问题:导出时排除有问题的服务端点策略资源,后续手动编写该资源的Terraform配置。使用--exclude参数指定资源ID:
    aztfy export --exclude "/subscriptions/4xxxx/resourceGroups/xx/providers/Microsoft.Network/serviceEndpointPolicies/e41xxx"
    
  • 手动修改代码(应急方案):找到Azure Terrafy依赖的SDK结构体定义文件,将contextualServiceEndpointPolicies字段类型从string改为interface{}或对应对象结构体,重新编译aztfy。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 08:33:14