确保您正确配置了Lambda函数的执行角色,并授予权限以访问Rekognition服务。可以在AWS控制台中检查Lambda执行角色的权限。
确保您在Lambda函数中正确指定了要发送到Rekognition服务的参数。例如,您需要指定要用于分析的图像对象或图像存储桶的名称等信息。
以下是一个示例Lambda函数,该函数使用Rekognition服务检测图像中的标记。请注意如何配置角色和参数:
const AWS = require('aws-sdk');
const rekognition = new AWS.Rekognition();
exports.handler = async(event, context) => {
const params = {
Image: {
S3Object: {
Bucket: 'my-bucket',
Name: 'my-image.jpg'
}
},
MaxLabels: 10,
MinConfidence: 75
};
try {
const data = await rekognition.detectLabels(params).promise();
console.log(data);
return data;
} catch (err) {
console.log(err);
return err;
}
};
在这个例子中,我们首先将AWS SDK导入我们的代码中。我们创建了一个新的Rekognition对象,并将它保存在变量rekognition中。
然后我们定义了Lambda函数的主体(exports.handler)。我们指定了要发送给Rekognition服务的参数,并使用detectLabels方法执行图像标记检测。
最后,我们在控制台中记录了响应数据并返回了这些数据。如果调用Rekognition服务时发生错误,我们记录了这些错误并返回它们。
通过按照上述方法检查您的代码和Lambda执行角色,您应该能够解决AWS Lambda函数与Rekognition服务始终返回空值的问题。