ASK CLI无法加载AWS_ACCESS_KEY_ID变量

时间:2019-03-21 18:12:57

标签: amazon-web-services aws-sdk alexa alexa-voice-service

我正在尝试使用Ask CLI部署Alexa技能,但是每当运行ask deploy时,都会出现此错误:

[Error]: Cannot find the environment variable: AWS_ACCESS_KEY_ID

我100%确保将AWS_ACCESS_KEY_ID env变量设置为有效的访问密钥。这是我在~/.zshrc文件中进行设置的方式:

export AWS_ACCESS_KEY_ID=AKIBJRSRMxxxxxxxxx
export AWS_SECRET_ACCESS_KEY=fS0A6MS9Q9V1OIxKQjKwwaO2fxxxxxxxxxxxx

它也在我的默认AWS凭证中设置为~/.aws/credentials

[default]
aws_access_key_id=AKIBJRSRMxxxxxxxxx
aws_secret_access_key=fS0A6MS9Q9V1OIxKQjKwwaO2fxxxxxxxxxxxx

我已经多次运行ask init,并选择“从环境变量加载”并成功通过浏览器登录。

我已再次检查我的.zshrc是否已加载source ~/.zshrc。我也成功地回应了$AWS_ACCESS_KEY_ID

echo $AWS_ACCESS_KEY_ID
AKIBJRSRMxxxxxxxxx

而且我尝试直接使用访问键变量运行ask deploy

AWS_ACCESS_KEY_ID=AKIBJRSRMxxxxxxxxx ask deploy
[Error]: Cannot find the environment variable: AWS_ACCESS_KEY_ID

我知道这些凭据是有效的,因为我是在一小时前创建的。

ask init提示符甚至说We have detected you have AWS environment variables. Would you like to setup your profile using those?,我对是的回答是

ask cli init and failed deploy

我在alexa技能套件sdk repo中创建了一个问题:

https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/issues/531

但是维护者将其他问题作者指向SO和Amazon开发论坛。

版本:

  • 询问CLI 1.6.4
  • 节点10.11.0
  • NPM 6.4.1
  • Mac OSX Mojave 10.14.2
  • AWS CLI aws-cli/1.16.56 Python/2.7.13 Darwin/18.2.0 botocore/1.12.46

编辑:

通过降级到ask-cli@1.6.1,我能够成功部署。看来此错误是在ask-cli@1.6.2中引入的。

1 个答案:

答案 0 :(得分:1)

看起来像那个版本的CLI中的错误。当前的解决方法是在~/.aws配置文件中使用AWS凭证,而不是环境变量。

我将这个问题转发给了@Alexa的适当团队。