我在使用 go sdk 使用以下代码列出区域中的所有存储网关时遇到问题:
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/storagegateway"
)
func newSess() (sess *session.Session) {
sess, err := session.NewSession(&aws.Config{
Region: aws.String("us-east-2"),
})
if err != nil {
fmt.Printf("Error creating session: %s\n", err)
return
}
return sess
}
func main() {
sgw := storagegateway.New(newSess())
input := &storagegateway.ListGatewaysInput{
Limit: aws.Int64(5),
Marker: aws.String("1"),
}
result, err := sgw.ListGateways(input)
if err != nil {
fmt.Printf("Error listing gateways %s\n", err)
return
}
fmt.Println(result)
}
我的环境如下:
- Go 版本: 1.9.2 darwin/amd64
- 操作系统: macOS 10.13.2
- aws-sdk-go: v1.12.63
SDK 正在使用中指定的默认配置文件,~/.aws/config
并且凭据也是正确的。此外,我可以单独使用 awscli 列出网关。
这很可能是我忽略的一些简单的事情,因为我不是专家。也就是说,任何帮助将不胜感激。