Используя aws.sdk, как узнать, когда Elemental MediaConvert завершает работу? - PullRequest
0 голосов
/ 11 февраля 2019

Я бы хотел добавить возможность пользователям загружать видео на сайт.Меня интересует AWS Elemental MediaConvert для обработки необходимого транскодирования.

Используя aws sdk, я могу отправить задание в aws Elemental MediaConvert для транскодирования следующим образом ...

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

...Однако это просто возвращает вновь созданную работу.Кажется, я нигде не вижу, как на самом деле узнать, когда работа закончится.Я задаюсь вопросом: существует ли простой способ узнать, когда задание действительно завершается (или не удается), чтобы я мог отправить ответ клиенту?

Ответы [ 2 ]

0 голосов
/ 04 апреля 2019

Один из способов сделать это - использовать CloudWatch Events и Simple Notification Service ( SNS ).

Вам потребуется:

  1. Настройкаконечная точка HTTP на вашем веб-сервере для обработки входящих уведомлений.
  2. Создайте тему SNS и подпишите свою конечную точку HTTP на тему.
  3. Настройте правило события CloudWatch, как описано в zolaemil, и задайте target события в теме SNS.

Когда ваше задание MediaConvert завершится, онозапустит событие CloudWatch и отправит результат задания в SNS, который затем перенаправит его на ваш веб-сервер.Таким образом, вы фактически отправляете MediaConvert на свой веб-сервер, а не опрашиваете.

0 голосов
/ 12 февраля 2019

Вы можете установить Правила Cloudwatch на основе событий MediaConvert.Например,

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

, которые могут быть нацелены на множество вещей, включая функции Lambda, темы SNS и многое другое.

...