Snapshotcapacity 未被 softlayer-go 对象掩码获取
Snapshotcapacity not being fetched by softlayer-go object mask
我正在尝试在 go 中获取 SnapshotCapacityGb
关系数据类型。这是我拥有的:
package main
import (
"fmt"
"github.com/softlayer/softlayer-go/session"
"github.com/softlayer/softlayer-go/services"
"github.com/softlayer/softlayer-go/filter"
"encoding/json"
)
func main() {
sess := session.New("XXXXXXXX", "XXXXXX")
accountService := services.GetAccountService(sess)
filters := filter.New(
filter.Path("networkStorage.id").Eq(39283541),
)
result, err := accountService.Mask("id;capacityGb;snapshotCapacityGb").Filter(filters.Build()).GetNetworkStorage()
fmt.Println(err)
// Following helps to print the result in json format.
jsonFormat, jsonErr := json.MarshalIndent(result,""," ")
if jsonErr != nil {
fmt.Println(jsonErr)
return
}
fmt.Println(string(jsonFormat))
}
但这会打印所有默认属性(id、capacityGB)并跳过关系数据类型(snapshotCapacityGb)。没有看到关系数据类型的任何原因?
当我使用 rest 时同样有效 api
https://{{sluser}}:{{slkey}}@api.softlayer.com/rest/v3.1/SoftLayer_Account/getNetworkStorage/39283541/getObject?objectMask=id;snapshotCapacityGb;capacityGb
我在 Ubuntu VERSION="14.04.5 LTS,Trusty Tahr"
一些网络存储设备没有快照,因此 snapshotCapacityGb 值不在响应中或为空。由于您可以使用 REST 检索该值,因此 go-client 可能正在使用 XML-RPC 端点,因此我建议尝试使用 REST 端点:
endpoint := "https://api.softlayer.com/rest/v3"
sess := session.New(username, apikey, endpoint)
我正在尝试在 go 中获取 SnapshotCapacityGb
关系数据类型。这是我拥有的:
package main
import (
"fmt"
"github.com/softlayer/softlayer-go/session"
"github.com/softlayer/softlayer-go/services"
"github.com/softlayer/softlayer-go/filter"
"encoding/json"
)
func main() {
sess := session.New("XXXXXXXX", "XXXXXX")
accountService := services.GetAccountService(sess)
filters := filter.New(
filter.Path("networkStorage.id").Eq(39283541),
)
result, err := accountService.Mask("id;capacityGb;snapshotCapacityGb").Filter(filters.Build()).GetNetworkStorage()
fmt.Println(err)
// Following helps to print the result in json format.
jsonFormat, jsonErr := json.MarshalIndent(result,""," ")
if jsonErr != nil {
fmt.Println(jsonErr)
return
}
fmt.Println(string(jsonFormat))
}
但这会打印所有默认属性(id、capacityGB)并跳过关系数据类型(snapshotCapacityGb)。没有看到关系数据类型的任何原因?
当我使用 rest 时同样有效 api
https://{{sluser}}:{{slkey}}@api.softlayer.com/rest/v3.1/SoftLayer_Account/getNetworkStorage/39283541/getObject?objectMask=id;snapshotCapacityGb;capacityGb
我在 Ubuntu VERSION="14.04.5 LTS,Trusty Tahr"
一些网络存储设备没有快照,因此 snapshotCapacityGb 值不在响应中或为空。由于您可以使用 REST 检索该值,因此 go-client 可能正在使用 XML-RPC 端点,因此我建议尝试使用 REST 端点:
endpoint := "https://api.softlayer.com/rest/v3"
sess := session.New(username, apikey, endpoint)