运行一些nodejs aws rekognition来检测mp4视频中的标签,但完成后不会发布到指定的SNS主题。使用主题/角色 arns 提交请求时,我没有收到任何权限错误。
const AWS = require('aws-sdk');
AWS.config.update(
{
region: 'us-west-2',
accessKeyId: "asdfadsf",
secretAccessKey: "asdfasdfasdfasd1234123423"
}
);
const params = {
Video: {
S3Object: {
Bucket: 'myvidebucket',
Name: '5d683b81760ec59c2015.mp4'
}
},
NotificationChannel: {
RoleArn: 'arn:aws:iam::xxxxxxxxxxxxx:role/AmazonRekognitionSNSSuccessFeedback',
SNSTopicArn: 'arn:aws:sns:us-west-2:xxxxxxxxxxxxx:recoknize',
},
MinConfidence: 60
};
rekognition.startLabelDetection(params).promise().then(data => {
console.log(JSON.stringify(data));
}).catch(error => {
console.log(error);
});
Run Code Online (Sandbox Code Playgroud)
该代码执行时没有错误,并且我得到了作业 ID。我的 SNS 主题订阅已确认,并且应该发布到我的 HTTPS 端点。但什么也没有到达,并且 AWS 控制台中的任何位置都没有与此相关的错误日志。
当我通过 jobid 手动访问重新识别时,数据正常返回,因此我知道它正确完成。IAM 权限肯定发生了一些奇怪的事情。