使用aws.sdk,如何知道Elemental MediaConvert完成工作的时间?

时间:2019-02-11 20:54:10

标签: amazon-web-services aws-sdk aws-elemental

我想为用户添加一个选项,以将视频上传到网站。我想知道AWS Elemental MediaConvert是否可以处理必要的代码转换。

使用aws sdk,我可以将作业提交给aws Elemental MediaConvert,以便像这样进行转码...

const result = await new AWS.MediaConvert({apiVersion: '2017-08-29'}).createJob(params).promise()

...但是,这只是返回新创建的作业。我似乎看不到任何地方如何实际知道工作何时完成。我想知道:是否有一种简单的方法来知道作业何时实际完成(或失败),以便我可以将响应发送回客户端?

2 个答案:

答案 0 :(得分:0)

您可以根据MediaConvert事件设置Cloudwatch rules。例如

{
  "source": [
    "aws.mediaconvert"
  ],
  "detail-type": [
    "MediaConvert Job State Change"
  ],
  "detail": {
    "status": [
      "COMPLETE"
    ]
  }
}

可以针对许多事物,包括Lambda函数,SNS主题等等。

答案 1 :(得分:0)

一种方法是使用CloudWatch Events和简单通知服务(SNS)。

您必须:

  1. 在Web服务器上设置HTTP终结点以处理传入的通知。
  2. 创建一个SNS主题,然后subscribe进入该主题的HTTP端点。
  3. 按照zolaemil的描述设置CloudWatch事件规则,并将事件的target设置为SNS主题。

您的MediaConvert作业完成时,它将触发CloudWatch Event,并将作业结果发送到SNS,然后将其转发到您的Web服务器。因此,您可以有效地从MediaConvert推送到Web服务器,而不是进行轮询。