我指的是aws-go SDK中的以下功能:https://docs.aws.amazon.com/sdk-for-go/api/aws/client/#New
我是aws的新手,或者是aws的SDK(更像是一个周末项目)
我想在我的本地主机上创建一个客户端,以便它可以登录我的AWS帐户并为我提供aws帐户上运行的所有实例的列表。
现在,我只是尝试登录该帐户
源代码:
package main
import (
"fmt"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/client"
"github.com/aws/aws-sdk-go/aws/client/metadata"
"github.com/aws/aws-sdk-go/aws/request"
)
func main() {
param1:=aws.Config{Region: aws.String("us-east-1") }
param2:=metadata.ClientInfo{}
param3:=request.Handlers{}
awsClient :=client.New(param1,param2,param3)
fmt.Print(awsClient)
fmt.Println(awsClient.ClientInfo)
}
输出:
&{{3 0s 0s 0s 0s} { } {<nil> <nil> <nil> <nil> <nil> 0xc0000133a0 <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> <nil> } {{[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>} {[] <nil>}}}{ }
我已正确设置我的.aws/credentials
文件我也可以通过cli登录并查看我的所有子帐户。
同样,我只是尝试在aws上登录我的帐户。
请在以下方面帮助我:1)我是否使用正确的API /文档?
2)从此输出中我了解到的是,客户端无法与AWS通信。我对么 ?
3)请帮助我解决此问题
提前感谢。
检查凭据文件中的IAM用户设置是否有权访问列表EC2信息。
测试此代码,仅检查成功或失败
package main
import (
"github.com/aws/aws-sdk-go/aws/session"
"github.com/aws/aws-sdk-go/service/ec2"
"fmt"
)
func main() {
// Load session from shared config
sess := session.Must(session.NewSessionWithOptions(session.Options{
SharedConfigState: session.SharedConfigEnable,
}))
// Create new EC2 client
ec2Svc := ec2.New(sess)
// Call to get detailed information on each instance
result, err := ec2Svc.DescribeInstances(nil)
if err != nil {
fmt.Println("Error", err)
} else {
fmt.Println("Success", result)
}
}
如果您不熟悉AWS / Go,[developer guide也是一个不错的起点。