2

鉴于此方法签名:

func (client LoadBalancersClient) Get(ctx context.Context, resourceGroupName string, loadBalancerName string, expand string) (result LoadBalancer, err error)

如何使用“expand”参数?关于如何格式化它的文档似乎为零,我得到的只是InvalidExpandQueryOptionValue错误。

lbClient := network.NewLoadBalancersClient(subId)
lbClient.Authorizer = authr

lbResult, err := lbClient.Get(context.TODO(), rgName, lbName, "loadBalancingRules")
if err != nil {
    panic(err)
}

结果是:

恐慌:network.LoadBalancersClient#Get:响应请求失败:StatusCode=400 - 原始错误:autorest/azure:服务返回错误。" Status=400 Code="InvalidExpandQueryOptionValue" Message="$expand 查询选项值无效。资源没有属性 loadBalancingRules 或该属性不代表对另一个资源的引用。" 详细信息=[]

我也试过$loadBalancingRules,{$loadBalancingRules}LoadBalancingRules.

4

1 回答 1

2

我遇到了同样的问题,但是在处理 VNET、子网和 NSG 时。

发生的情况是,当您查询对象时,默认情况下,不会获取层次结构中下面引用的对象的属性。因此,如果我要获取 NSG(网络安全组)列表,它将显示子网属性中的子网列表,这些子网将引用分配给该 NSG 的子网,但是,这些子网的属性如名称, ip 地址等将设置为无。

为了克服这个问题,在查询 NSG 时,我使用了

exapnd='subnets'

有了这个集合,我也可以访问引用子网的属性。

于 2021-09-08T13:00:06.670 回答