安装ask-cli后我执行了
aws configure
和ask configure
。ask new
设置新技能时,选择了 NodeJS、AWS 和 CloudFormation。ask deploy
部署技能,获得 [Error]: CliError: The CloudFormation deploy failed for Alexa region "default": Access Denied
。我已经能够部署了。
运行
aws configure
后,我打电话给ask new
,我认为解决方案是不选择AWS With CloudFormation,而是选择AWS Lambda:
我想使用我之前在 Web UI 中创建的现有技能。所以我创建了两个文件夹:
lambda
和skill-package
。然后我用 ask init
表示我不想使用 AWS CloudFormation 来部署:
接下来,我在
ask-resources.json
中的skillInfrastruct下添加了我的区域:
{
"askcliResourcesVersion": "2020-03-31",
"profiles": {
"default": {
"skillMetadata": {
"src": "./skill-package"
},
"code": {
"default": {
"src": "./lambda"
}
},
"skillInfrastructure": {
"type": "@ask-cli/lambda-deployer",
"userConfig": {
"runtime": "nodejs12.x",
"handler": "index.js",
"awsRegion": "eu-west-1"
}
}
}
}
}
我完成了
ask deploy
,有效!
当我与
ask configure
链接的 AWS IAM 用户没有完整权限时,我遇到了此问题。要解决此问题,您需要转到 IAM 并将链接到 CLI 的用户的权限更新为:https://github.com/openhab/openhab-alexa/issues/509#issuecomment-1167337129.
出于我的目的,我对策略进行了一些概括(因为我只是在开发环境中使用 CLI),并且仅添加以下对我有用的策略: