Amazon web services ASK CLI无法加载AWS\u ACCESS\u KEY\u ID变量
我试图使用Ask CLI部署Alexa技能,但每当我运行Amazon web services ASK CLI无法加载AWS\u ACCESS\u KEY\u ID变量,amazon-web-services,aws-sdk,alexa,alexa-voice-service,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\u ACCESS\u KEY\u IDenv变量已设置为有效的访问密钥。这是我在~/.zshrc文件中设置它的方式: export AWS\u ACCESS\u KEY\u ID=AKIBJRSRMxxxxxxxxx 导出AWS_SECRET_A
Ask deploy
,我都会遇到以下错误:
[Error]: Cannot find the environment variable: AWS_ACCESS_KEY_ID
我100%确定AWS\u ACCESS\u KEY\u ID
env变量已设置为有效的访问密钥。这是我在~/.zshrc
文件中设置它的方式:
export AWS\u ACCESS\u KEY\u ID=AKIBJRSRMxxxxxxxxx
导出AWS_SECRET_ACCESS_KEY=FS0A6MS9Q9V1OIXKQJKWWAO2Fxxxxxxxxxx
它也在我的默认AWS凭证中设置在~/.AWS/credentials
:
[default]
aws_access_key_id=AKIBJRSRMxxxxxxxxx
aws_secret_access_key=fS0A6MS9Q9V1OIxKQjKwwaO2fxxxxxxxxxxxx
我已经多次重新运行了ask init
,选择了“从环境变量加载”,并通过浏览器成功登录
我已经仔细检查了我的.zshrc
是否加载了源代码~/.zshrc
。我还成功地回显了$AWS\u ACCESS\u KEY\u ID
:
echo $AWS_ACCESS_KEY_ID
AKIBJRSRMxxxxxxxxx
我已经尝试直接使用access key变量运行ask deploy
:
AWS_ACCESS_KEY_ID=AKIBJRSRMxxxxxxxxx ask deploy
[Error]: Cannot find the environment variable: AWS_ACCESS_KEY_ID
我知道这些凭证是有效的,因为我一小时前创建了它们
ask init
提示符甚至会显示我们检测到您有AWS环境变量。是否要使用这些设置您的个人资料?
我的回答是肯定的:
我在alexa skills kit sdk repo中创建了一个问题:
但是维护人员将其他问题的作者指向SO和amazon开发论坛
版本:
- 询问CLI 1.6.4
- 节点10.11.0
- NPM 6.4.1
- Mac OSX莫哈韦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
。看来这个bug是在ask中引入的-cli@1.6.2
在该版本的CLI中看起来像个bug。当前的解决方法是在~/.AWS
配置文件中使用AWS凭据,而不是环境变量
我将这个问题转发给了适当的团队@Alexa 请将
ask--version
的输出添加到问题中(根据错误报告为1.6.4)。我的凭证集~/.aws/credentials
与[默认值]
相同。