将AWS Polly mp3保存到Cognito用户的专用s3分区

时间:2019-10-25 15:03:12

标签: amazon-web-services amazon-s3 amazon-polly

我有一个应用程序,允许用户通过上传自己的音频片段或使用aws polly生成对话框来创建音频故事。上载剪辑的效果很好,我正在使用amplify来从s3存储桶中放入和设置文件,并将访问权限设置为“私人”。

问题:Polly在s3中不会将生成的音频文件与上载的音频文件放在同一位置,并且我认为使用polly的startSpeechSynthesisTask函数时无法指定保护级别。在this question中建议我可以再次调用s3来更改对象的ACL。如果这对我的用例有用,我想检测到SpeechSynthesis任务何时完成并自动触发s3代码。

如何检测startSpeechSynthesisTask函数何时完成?我需要调用哪些s3方法来将对象的权限更改为特定的认知用户?

这是我当前从lambda呼叫polly的方式:


  var params = {
    OutputFormat: 'mp3', /* required */
    OutputS3BucketName: `my-bucket`, /* required */
    OutputS3KeyPrefix: '',
    Text: req.body.script, /* required */
    VoiceId: req.body.voice, /* required */

  };
  polly = new AWS.Polly();

  polly.startSpeechSynthesisTask(params, function(err, data) {
    if (err) console.log(err, err.stack); // an error occurred
    else   {
      console.log(data);    
      res.json({success: 'post call succeed!', url: req.url, data: data})
    }
  });

0 个答案:

没有答案