2016-12-01 36 views
0

我创建了一个新的I-AM用户集,该用户有权访问S3的完全访问权限,然后使用正确的密钥和密钥ID查看MacBook的环境变量。然后我跟着亚马逊的文档http://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/common-examples.html#s3列出所有我的水桶和我收到的错误 无法列出桶EnvAccessKeyNotFound:AWS_ACCESS_KEY_ID或AWS_ACCESS_KEY环境未发现Golang amazon s3环境访问密钥未找到

我不知道为什么它不承认我的代码这是

func UploadProfile() { 

    svc := s3.New(session.New(&aws.Config{Region: aws.String("us-west-2"),Credentials:credentials.NewEnvCredentials()})) 
    result, err := svc.ListBuckets(&s3.ListBucketsInput{}) 
    if err != nil { 
     log.Println("Failed to list buckets", err) 
     return 
    } 

    log.Println("Buckets:") 
    for _, bucket := range result.Buckets { 
     log.Printf("%s : %s\n", aws.StringValue(bucket.Name), bucket.CreationDate) 
    } 
} 

我有一个变量如之前AWS_SECRET_ACCESS_KEY但除去秘密部分,因为它仍然给了我同样的错误。关于如何解决这个 enter image description here

回答

-1

@Pablo佩雷斯任何建议,

越来越凭据实际上显示您的ENV,即AWS键,如果你运行

creds := credentials.NewEnvCredentials() 
credValue, err := creds.Get() 
if err != nil { 
    panic(err.Error()) 
} 

fmt.Printf("%+v", credValue) 

将它打印你的钥匙?

您可能想检查https://docs.aws.amazon.com/sdk-for-go/api/aws/credentials/了解更多详情。