Создание задания ElasticTranscoder через Lambda с 2 входами - PullRequest
0 голосов
/ 08 июня 2018

Я хочу создать задание ElasticTranscoder через Lambda (NodeJS).

Работает нормально, если я определю один вход (см. Ниже).Но у меня есть несколько исходных файлов.Если я изменю свое кодирование так, чтобы входные данные были массивом, я получу ошибки.

Может ли кто-нибудь мне помочь?

Это прекрасно работает:

    transcoder.createJob({
    PipelineId: '12345678-vsyssc',
    Input: {
        Key: fileName,
        FrameRate: 'auto',
        Resolution: 'auto',
        AspectRatio: 'auto',
        Interlaced: 'auto',
        Container: 'auto'
    },
    Output: {
        Key: 'Output.mp4',
        ThumbnailPattern: '',
        PresetId: '1351620000001-000030',
        Rotate: 'auto'
    }
}, function (err, data) {
    if (err) {
        console.log('Something went wrong:', err)
    } else {
        console.log('Converting is done');
    }
    callback(err, data);
});

Это не работает:

    transcoder.createJob({
    PipelineId: '12345678-vsyssc',
    Input: [{
        Key: 'VID-20180217-WA0002.mp4',
        FrameRate: 'auto',
        Resolution: 'auto',
        AspectRatio: 'auto',
        Interlaced: 'auto',
        Container: 'auto'
    }, {
        Key: 'VID-20180411-WA0012.mp4',
        FrameRate: 'auto',
        Resolution: 'auto',
        AspectRatio: 'auto',
        Interlaced: 'auto',
        Container: 'auto'
    },
    ],
    Output: {
        Key: 'test123445.mp4',
        ThumbnailPattern: '',
        PresetId: '1351620000001-000030',
        Rotate: 'auto'
    }
}, function (err, data) {
    if (err) {
        console.log('Something went wrong:', err)
    } else {
        console.log('Converting is done');
    }
    callback(err, data);
});

я получаю сообщение об ошибке:

  • Неожиданный параметр: в params найден неожиданный ключ '1'. Ввод в ParamValidator.validate (C: \Пользователи \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 40: 28) в Request.VALIDATE_PARAMETERS (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ event_listeners.js: 125: 42) в Request.callListeners (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib\ sequential_executor.js: 105: 20) в callNextListener (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ sequential_executor.js: 95: 12) в C: \Пользователи \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib\ event_listeners.js: 85: 9 на финише (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ config.js: 315: 7) в C: \ Users\ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ config.js: 333: 9 в SharedIniFileCredentials.get (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \test \ node_modules \ aws-sdk \ lib \ credentials.js: 126: 7) в getAsyncCredentials (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ config.js: 327: 24) в Config.getCredentials (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ config.js: 347: 9) сообщение: 'было 2ошибки проверки: \ n * Неожиданный параметр: в params.Input найден неожиданный ключ \ '0 \'. \ n * Неожиданный параметр: в params.Input найден неожиданный ключ \ '1 \, код:' MultipleValidationErrors ', ошибки: [{UnexpectedParameter: Неожиданный ключ '0' найден в params.Input на ParamValidator.fail(C: \ Users \ Volkm \ Google Drive \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 50: 37) в ParamValidator.validateStructure (C: \ Users \ Volkm \ Google Диск \Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 77: 14) в ParamValidator.validateMember (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ nodesmodules-sdk \ lib \ param_validator.js: 88: 21) в ParamValidator.validateStructure (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 75:14) в ParamValidator.validateMember (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 88: 21) в ParamValidator.validate (C: \ Users)\ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 34: 10) в Request.VALIDATE_PARAMETERS (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ event_listeners.js: 125: 42) в Request.callListeners (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib\ sequential_executor.js: 105: 20) в callNextListener (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ sequential_executor.js: 95: 12) в C: \Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ event_listeners.js: 85: 9 сообщение: 'Неизвестный ключ \' 0 \ 'найден в params.Input', код: 'UnexpectedParameter ', время: 2018-06-10T11: 39: 59.749Z}, {UnexpectedParameter: неожиданный ключ' 1 'найден в params.Inputв ParamValidator.fail (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 50: 37) в ParamValidator.validateStructure (C: \ Users \ Volkm\ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 77: 14) в ParamValidator.validateMember (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test\ node_modules \ aws-sdk \ lib \ param_validator.js: 88: 21) в ParamValidator.validateStructure (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 75: 14) в ParamValidator.validateMember (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 88: 21) в ParamValidator.validate (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ param_validator.js: 34: 10) в Request.VALIDATE_PARAMETERS (C: \ Users \ Volkm \ Google Диск \ Quellcode\узелjs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ event_listeners.js: 125: 42) в Request.callListeners (C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk\ lib \ sequential_executor.js: 105: 20) в callNextListener (C: \ Users \ Volkm \ Диск Google \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ sequential_executor.js: 95: 12) в C: \ Users \ Volkm \ Google Диск \ Quellcode \ nodejs \ ElasticTranscoderJob \ test \ node_modules \ aws-sdk \ lib \ event_listeners.js: 85: 9 сообщение: 'Неизвестный ключ \' 1 \ 'найден в params.Input', код: «Неожиданный параметр», время: 2018-06-10T11: 39: 59.749Z}], время: 2018-06-10T11: 39: 59.749Z}

С уважением, Стефан

1 Ответ

0 голосов
/ 11 июня 2018

Операция createJob использует разные свойства для одного файла для нескольких файлов.

Для одного файла ввода / вывода:

transcoder.createJob({
    PipelineId: '12345678-vsyssc',
    Input: { <input info> },
    Output: { <output info> },
});

Для нескольких входов /выходные файлы:

transcoder.createJob({
    PipelineId: '12345678-vsyssc',
    Inputs: [ {<input #1 info>}, {<input #2 info>} ],
    Outputs: [ {<output #1 info}, {<output #2 info} ],
});

Вы используете Input & Output (в единственном числе) в первом, но Inputs & Outputs (во множественном числе) в последнем.

Впредположим, оригинальный метод createJobs поддерживал только один файл, а затем был расширен для поддержки нескольких файлов.Чтобы избежать нарушения обратной совместимости, в AWS добавлено Inputs & Outputs.

...