我尝试使用Go Azure SDK来调用通知中心api
我已经安装了SDK并导入了GO文件:
package hub
import (
"fmt"
"github.com/Azure/azure-sdk-for-go/arm/notificationhubs"
)
func GetHub() {
if resourceType, err := notificationhubs.Get("sourceGroupName", "NameSpaceValue", "NameOfTheHub"); err != nil {
fmt.Println("Error occured")
return
}
fmt.Println("Success")
}
然而,当我试图破坏他的代码我得到了这个错误
undefined: notificationhubs.Get
我不确定这是什么意思,因为我的IDE不会抱怨导入Azure SDK所以我假设SDK已正确导入。
答案 0 :(得分:1)
您尝试使用的功能不存在(https://godoc.org/github.com/Azure/azure-sdk-for-go/arm/notificationhubs)。
您可能正在尝试使用函数GroupClient.Get
;如果是这种情况,您需要获取GroupClient
类型的对象,然后在其上调用函数Get
。
答案 1 :(得分:0)
@ cd1是正确的! Get方法不直接属于您导入的命名空间,而是属于该命名空间中存在的客户端。为了以这种方式与NotificationsHub交互,实例化GroupClient
然后运行Get
命令。
import (
hubs "github.com/Azure/azure-sdk-for-go/arm/notificationshub"
)
func main() {
// Implementation details of your program ...
client := hubs.NewGroupClient("<YOUR SUBSCRIPTION ID>")
client.Authorizer = // Your initialized Service Principal Token
results, err := client.Get("<RESOURCE GROUP NAME>", "<NAMESPACE NAME>", "<NOTIFICATION HUB NAME>")
if err != nil {
return
}
}