如何解决Rekognition 完全没有反应
昨天我正在调试用于存储 Rekognition 数据的代码,突然我无法再获得任何 rekognition 数据。 经过数小时的尝试,我发现我无法再从 lambda 中调用 Rekognition。
- 如果我使用回调运行 rekognition.detectFaces(),则不会返回任何内容。没什么。
- 如果我运行 rekognition.detectFace().promise() ,则 lambda 将在该调用上结束。没有更多的事情发生。
- 最奇怪的是,我的 CloudWatch 仪表板中检测到的人脸数量仍在增加,就好像请求正在通过一样。
- 我可以使用这个存储桶和图像从我的 CLI 调用 rekognition,一切正常。
- Lambda 上的权限允许与 S3 和 Rekognition 相关的任何事情。
有什么想法可以做什么吗?
这是拉姆达:
const aws = require("aws-sdk");
const rekognition = new aws.Rekognition({region: 'eu-west-1'});
exports.handler = async(event,context) => {
context.callbackWaitsForEmptyEventLoop = false;
var snsEvent = JSON.parse(event.Records[0].Sns.Message);
console.log('HANDLER',snsEvent.Records[0].s3.object);
const params = {
Attributes: ['ALL'],Image: {
S3Object: {
Bucket: '*-*-bucket-dev'
Name: 'Screenshottest.png',},};
const promise = new Promise(function(resolve,reject) {
console.log('BEFORE');
rekognition.detectFaces(params,function(err,data) {
console.log('INSIDE');
if (err) {
console.log('ERROR');
console.log(err);
reject(err);
} else {
console.log('SUCCESS');
console.log(data);
}
console.log('RETURN RESPONSE');
const response = {
statusCode: 200,body: data,};
resolve(response);
});
console.log('AFTER');
});
return promise;
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。