Amazon web services CORS从Alexa Skill Lambda调用DynamoDB时出错
我正在尝试创建一个Alexa Skill,它将从AWS Lambda函数查询DynamoDB表,但是当我尝试使用get函数时,会出现错误(如下所示) 我找不到任何地方添加CORS标题或指定我不需要 下面是我试图运行的代码:Amazon web services CORS从Alexa Skill Lambda调用DynamoDB时出错,amazon-web-services,aws-lambda,amazon-dynamodb,alexa-skill,Amazon Web Services,Aws Lambda,Amazon Dynamodb,Alexa Skill,我正在尝试创建一个Alexa Skill,它将从AWS Lambda函数查询DynamoDB表,但是当我尝试使用get函数时,会出现错误(如下所示) 我找不到任何地方添加CORS标题或指定我不需要 下面是我试图运行的代码: const params = { TableName: "test-sds", Key: slotValues.chemical.heardAs, projectionExpression: [
const params = {
TableName: "test-sds",
Key: slotValues.chemical.heardAs,
projectionExpression: [
slotValues.id_info.heardAs,
],
};
dynamoDb.get(params, function(err, data) {
if (err) {
console.log('************'+err);
}
else {
console.log('answer: '+ data.response.data);
}
//.speak(data.response.data)}
})
这是我测试技能时在Alexa开发者控制台中收到的错误消息:
Access to XMLHttpRequest at 'https://avs-alexa-na.amazon.com/v20160207/directives' from origin 'https://developer.amazon.com' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
如何配置DynamoDB以支持CORS,或指定我不需要它?您必须将CORS头放在响应中。如果我使用的只是DynamoDB的get方法,而我不需要编写响应,那么我在哪里设置响应头?您将获得响应。根据定义,GET请求会给您一个响应。我只得到一个错误响应,由于缺少CORS头,GET失败。在AWS DynamoDB配置中是否有我可以设置CORS标题的地方?我没有答案,但我认为前面的评论是错误的。澄清一下:调用Dynamo DB时出现CORS错误。您不是在精心设计响应,只是调用'get'forDynamoDB并获取错误?对的所以问题是如何为DynamoDB配置CORS?