我通过执行以下操作获得了来自AWS转录的回调响应:
我使用php sdk创建了一个转录作业:
use Aws\TranscribeService\TranscribeServiceClient;
...
$transcriber = new TranscribeServiceClient([]);
$job = $transcriber->startTranscriptionJob([, 'TranscriptionJobName' => 'unique-job-name']);
接下来,我登录到AWS控制台并转到AWS lambda。在lambda中,我使用node.js 8.10运行时创建了一个函数:
var https = require('https');
exports.handler = function(event, context) {
var body='';
// the post options
var optionspost = {
host: 'example.com',
path: '/transcriptions/callback',
method: 'POST',
headers: {
'Content-Type': 'application/json',
}
};
var reqPost = https.request(optionspost, function(res) {
res.on('data', function (chunk) {
body += chunk;
});
context.succeed(body);
});
reqPost.write(JSON.stringify(event));
reqPost.end();
};
这将向发送一个投递请求
https://
与
event
数据作为主体
接下来进入AWS CloudWatch并创建一个
rule
Events->rules
。下
Event Source - Service Name
选择
Transcribe
并配置您的选项
(Event Type -> Transcribe Job State Change, Specific Status -> Completed)
。下
Targets
选择
Lambda Function
然后选择您的
function
这将触发对您的
匿名函数
当
Transcribe Job
已完成。这个
匿名函数
将转录作业的详细信息发布到服务器,包括
Job Name: unique-job-name
.
此时你可以回到
Cloudwatch
还有:
选择您的
Rule
然后点击
show metrics for this rule
.
选择
Logs
查看您的
匿名函数