Aws lambda 获得502响应和';已被CORS策略阻止';对我的lambda函数运行一个简单的获取请求

Aws lambda 获得502响应和';已被CORS策略阻止';对我的lambda函数运行一个简单的获取请求,aws-lambda,authorization,amazon-cognito,serverless-framework,serverless,Aws Lambda,Authorization,Amazon Cognito,Serverless Framework,Serverless,在AWS上使用无服务器框架构建无服务器web应用程序时,我收到一个CORS错误,其502响应代码针对AWS Cognito用户池进行身份验证 GET https://URL.amazonaws.com/dev/asset/ID-1178 502 index.html:1 Access to fetch at 'https://URL.amazonaws.com/dev/asset/PO-TIENDA1178' from origin 'http://localhost:3000' has bee

在AWS上使用无服务器框架构建无服务器web应用程序时,我收到一个CORS错误,其502响应代码针对AWS Cognito用户池进行身份验证

GET https://URL.amazonaws.com/dev/asset/ID-1178 502
index.html:1 Access to fetch at 'https://URL.amazonaws.com/dev/asset/PO-TIENDA1178' from origin 'http://localhost:3000' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. If an opaque response serves your needs, set the request's mode to 'no-cors' to fetch the resource with CORS disabled.
index.js:109 Uncaught (in promise) TypeError: Failed to fetch
几乎相同的请求适用于另一个函数

下面是从前端发送的两个ajax请求:


//工作很好
异步函数getAllAssets(){
const getAssetsUrl=_config.api.invokeUrl+“/assets”
const response=wait fetch(getAssetsUrl{
标题:{
授权:authToken
},
键入:“获取”,
数据类型:“json”,
跨域:对
})
}
//不工作,抛出上述错误
异步函数getOneAsset(){
const getAssetsUrl=_config.api.invokeUrl+“/asset/”+“ID-1178”
const response=wait fetch(getAssetsUrl{
标题:{
授权:authToken
},
键入:“获取”,
数据类型:“json”,
跨域:对
})
}
我已经在同一个窗口中运行了这两个函数

以下是serverless.yaml中的定义:


#WORKS您的问题可能很简单,就像拥有
dynamodb:GetItem
。这是一个不同于列出所有(即查询或扫描)的权限

您是否拥有对dynamodb:GetItem的IAM权限?f*ck,您是如此的正确,我的想法是,如果我可以查询所有这些权限,那么应该所有权限都是明确的。但是是的,它就在这里,-
dynamodb:PutItem
dynamodb:Scan
存在,但不是GetItem。整个混乱兔洞始于浏览器中的“错误”CORS消息或AWS控制台中的“未经授权”消息。是否有一个地方(日志、调试请求,等等?)可以让我得到更准确的错误信息?很高兴能提供帮助…IAM是一个困难的地方,似乎403应该是更好的响应…但是当使用w/API网关和格式错误的响应时,实际问题变得有点模糊,需要调试,我会尝试以与您的服务相同的方式调用lambda函数……通常,lambda直接响应比代理响应要好一点。@LostJon是的,您说得很对。我记得在控制台中运行了“测试”,但我似乎忽略了实际错误,该错误清楚地说明了问题:
2019-12-04T09:25:13.825Z f48c5178-4ffe-498f-8a00-ab2230219802信息错误{AccessDeniedException:User:arn:aws:sts::0989304820438:假定角色/serverless-dev-eu-west-1-inventoryLambda/serverless库存工具dev get asset无权执行:dynamodb:GetItem on resource:arn:aws:dynamodb:eu-west-1:930284290348:表/资产
非常感谢