存储网关。列表网关() 返回状态代码为:400 的"Invalid resource"



我在使用以下代码使用 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: %sn", 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 %sn", err)
        return
    }
    fmt.Println(result)
}

我的环境如下:

  • Go 版本:1.9.2 达尔文/amd64
  • 操作系统: macOS 10.13.2
  • AWS-SDK-go:v1.12.63

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

这很可能是我忽略的简单事情,因为我不是专家。也就是说,任何帮助将不胜感激。

示例代码似乎通过简单地删除Marker: aws.String("1")行来按预期工作。

相关内容

最新更新