2017-01-09 30 views
0

我以前使用過環境變量,它工作正常。如何使用變量憑據運行AWS SDK?

現在我正在將我的配置變量遷移到單個文件中,並且我具有包含從此文件加載的相應值的AWS_SECRET_ACCESS_KEY和AWS_ACCESS_KEY_ID變量。

我想這個代碼,但收到一個錯誤:

creds := credentials.NewStaticCredentials("123", conf.AWS_SECRET_ACCESS_KEY, conf.AWS_ACCESS_KEY_ID) 
sess, err := session.NewSession(&aws.Config{Credentials: creds}) 

以下是錯誤

InvalidClientTokenId: The security token included in the request is invalid.

如何正確注入我的鑰匙到AWS SDK調用?

回答

3

嘗試重新訂購您ARGS,使ACCESS_KEY是第一PARAM和SECRET_KEY是第二:

creds := credentials.NewStaticCredentials(conf.AWS_ACCESS_KEY_ID, conf.AWS_SECRET_ACCESS_KEY, "123") 

嘗試添加區域,以及:

sess, err := session.NewSession(&aws.Config{ 
    Region:  aws.String("us-west-2"), 
    Credentials: credentials.NewStaticCredentials(conf.AWS_ACCESS_KEY_ID, conf.AWS_SECRET_ACCESS_KEY, "123"), 
}) 
+0

我'InvalidToken:所提供的令牌格式不正確或以其他方式invalid.'我認爲我們應該首先生成令牌,是它正確嗎? @ dave-maple –

+0

它使用空字符串'「」' –

0

此外,如果您hadn」 t已知,SDK允許使用.aws/config下的共享配置。您可以將您的值放在那裏,然後將環境變量AWS_SDK_LOAD_CONFIG設置爲真值以加載共享配置。一個例子共享的配置是這樣的:

[default] 
aws_access_key_id = AKID 
aws_secret_access_key = SECRET 

然後運行:

AWS_SDK_LOAD_CONFIG=true go run main.go 
相關問題