【发布时间】:2018-11-18 12:21:02
【问题描述】:
我想通过 Lambda (NodeJS) 创建一个 ElasticTranscoder 作业。
如果我定义一个输入(见下文),它就可以正常工作。但我有几个源文件。 如果我修改我的编码,使输入是一个数组,我会得到错误。
有人可以帮我吗?
这很好用:
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);
});
我得到错误:
- UnexpectedParameter:在 params.Input 中发现意外的键 '1' 在 ParamValidator.validate (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:40:28) 在 Request.VALIDATE_PARAMETERS (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:125:42) 在 Request.callListeners (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:105:20) 在 callNextListener (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:95:12) 在 C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:85:9 完成时(C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\config.js:315:7) 在 C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\config.js:333:9 在 SharedIniFileCredentials.get (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\credentials.js:126:7) 在 getAsyncCredentials (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\config.js:327:24) 在 Config.getCredentials (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\config.js:347:9) 消息:'有 2 个验证错误:\n* UnexpectedParameter:在 params.Input 中找到意外的键 \'0\'\n* UnexpectedParameter:在 params.Input 中找到意外的键 \'1\', 代码:'MultipleValidationErrors', 错误: [ { UnexpectedParameter: 在 params.Input 中发现意外的键 '0' 在 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 Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:77:14) 在 ParamValidator.validateMember (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:88:21) 在 ParamValidator.validateStructure (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:75:14) 在 ParamValidator.validateMember (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:88:21) 在 ParamValidator.validate (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:34:10) 在 Request.VALIDATE_PARAMETERS (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:125:42) 在 Request.callListeners (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:105:20) 在 callNextListener (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:95:12) 在 C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:85:9 message: '在 params.Input 中发现意外的键 \'0\', 代码:'UnexpectedParameter', 时间:2018-06-10T11:39:59.749Z}, { UnexpectedParameter:在 params.Input 中发现意外的键 '1' 在 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 Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:77:14) 在 ParamValidator.validateMember (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:88:21) 在 ParamValidator.validateStructure (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:75:14) 在 ParamValidator.validateMember (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:88:21) 在 ParamValidator.validate (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\param_validator.js:34:10) 在 Request.VALIDATE_PARAMETERS (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:125:42) 在 Request.callListeners (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:105:20) 在 callNextListener (C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\sequential_executor.js:95:12) 在 C:\Users\Volkm\Google Drive\Quellcode\nodejs\ElasticTranscoderJob\test\node_modules\aws-sdk\lib\event_listeners.js:85:9 message: '在 params.Input' 中找到了意外的键 \'1\', 代码:'UnexpectedParameter', 时间:2018-06-10T11:39:59.749Z } ], 时间:2018-06-10T11:39:59.749Z }
亲切的问候 斯蒂芬
【问题讨论】:
-
请显示您尝试转码多个文件(使用输入和输出)而不是一个文件(使用输入和输出),并告诉我们您看到了什么错误。
-
@jarmod:我调整了我的问题,希望有人能告诉我什么问题
-
文档表明您应该为多个文件传递(复数)输入和输出,而不是(单数)输入和输出。
-
对不起,我不明白你的意思。我尝试提供多个对象,但它不起作用。我应该如何以其他方式传递多个对象?
-
对不起,我明白了。你说的对。如果我使用“输入”-属性而不是“输入”它可以工作。非常感谢!
标签: amazon-web-services aws-lambda amazon-elastic-transcoder aws-sdk-nodejs