storagegateway.ListGateways()返回“Invalid resource”,状态码为:400

时间:2018-01-17 20:00:18

标签: amazon-web-services go aws-sdk aws-sdk-go aws-storage-gateway

我无法使用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 version: 1.9.2 darwin / amd64
  • 操作系统: macOS 10.13.2
  • aws-sdk-go: v1.12.63

SDK正在使用~/.aws/config中指定的默认配置文件,并且凭据也是正确的。此外,我能够单独使用awscli列出网关。

由于我不是专家,所以我很容易忽略这一点。也就是说,任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

通过删除Marker: aws.String("1")行,示例代码似乎可以正常工作。