通过遵循网站上显示的示例,我已经使用AWS Lambda + API Gateway + DynamoDB创建了无服务器应用程序:
但是在测试期间,我触发了以下命令:
〜/ Documents / workspaces / nodejs / ice-cream-shop $ curl -H“内容类型:应用程序/ json” -X POST -d'{“ icecreamId”:“ 123”,“ name”:“ chocolate”}'https://0k213z6zp2.execute-api.us-east-1.amazonaws.com/latest
我收到此错误{“ message”:“缺少身份验证令牌”}:
%总接收百分比%Xferd平均速度时间时间时间当前 Dload上传总花费左速度 100 82 100 42 100 40 90 86-:-:--:-:--:-:-176 {“ message”:“缺少身份验证令牌”}
我已经创建了aws_access_key_id和aws_secret_access_key并将其保存在用户文件夹下.aws文件夹下的凭据文件中。 仍然出现上述错误。
现在,我正在研究如何将身份验证信息传递给curl命令。
有任何提示/建议吗?
谢谢!
我添加了Autherization标头:
curl -H“内容类型:application / json” -H'授权:令牌aws_secret_access_key ='-X POST -d'{“ icecreamId”:“ 123”,“ name”:“ chocolate”}'{{ 3}}
但是我得到了这个错误: {“ message”:“授权标头需要'Credential'参数。授权标头需要'Signature'参数。授权标头需要'SignedHeaders'参数。授权标头需要存在'X-Amz-Date'或'Date'标头。“}
答案 0 :(得分:0)
请为API启用CORS,并确保未为API启用IAM。另外,可以直接从API网关本身对其进行测试以确保准确性。