【发布时间】:2019-07-18 10:23:04
【问题描述】:
我通过Build On Serverless|S2 E4 video 工作,并且已经到了使用AWS CLI 创建经过身份验证的HTTP 数据源的地步。我收到了这个错误。
Parameter validation failed:
Unknown parameter in httpConfig: "authorizationConfig", must be one of: endpoint
我认为我正在使用视频、存储库和要点中提供的相同信息,并为我自己的 aws 帐户进行了更新。似乎是某种格式错误或缺少信息错误,但是,我只是没有发现问题。
当我从 state-machine-datasource.json 中删除“authorizationConfig”属性时,该命令有效。
我已根据视频中的信息以及 aws 提供的 documentation 和示例 here 和 here 审查了代码
这是我正在运行的命令。
aws appsync create-data-source --api-id {my app sync app id} --name ProcessBookingStateMachine
--type HTTP --http-config file://src/backend/booking/state-machine-datasource.json
--service-role-arn arn:aws:iam::{my account}:role/AppSyncProcessBookingState --profile default
这是我的 state-machine-datasource.json:
{
"endpoint": "https://states.us-east-2.amazonaws.com",
"authorizationConfig": {
"authorizationType": "AWS_IAM",
"awsIamConfig": {
"signingRegion": "us-east-2",
"signingServiceName": "states"
}
}
}
谢谢,
【问题讨论】:
-
运行完全相同的命令时,我无法重现您的问题。您在哪个区域运行 AppSync API?您能否将
--debug添加到您的命令中并向我发送请求ID,以便我可以帮助您进行故障排除。即aws --debug appsync create-data-source -
感谢您的回复。我将使用 --debug 运行并尝试不同的区域。不过,直到今天晚上我才能尝试。对不起。
-
@Tinou -- 谢谢。您关于使用 --debug 的建议非常好。它引导我使用用于验证参数的 python 脚本。即使没有明确说明它要查找的内容,我也意识到参数的定义可能很旧,这导致我使用了这个版本。对我来说不幸的是,我只是需要将我的 aws cli 升级到最新版本。我应该想到的。 :(再次感谢您抽出宝贵时间回答。:)
标签: amazon-web-services aws-appsync aws-serverless