我正在尝试使用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?
,我对是的回答是
我在alexa技能套件sdk repo中创建了一个问题:
https://github.com/alexa/alexa-skills-kit-sdk-for-nodejs/issues/531
但是维护者将其他问题作者指向SO和Amazon开发论坛。
版本:
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
中引入的。
答案 0 :(得分:1)
看起来像那个版本的CLI中的错误。当前的解决方法是在~/.aws
配置文件中使用AWS凭证,而不是环境变量。
我将这个问题转发给了@Alexa的适当团队。