微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Rekognition 完全没有反应

如何解决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 举报,一经查实,本站将立刻删除。