You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We hit a regression with the MediaConvert createJob(params) function in aws-sdk, in an AWS lambda context in Node.js 6.10 environment. Our lambda had been running for 4 months untouched and triggers a simple transcoding job creation when a movie file is received on a source s3 bucket, and suddenly a transcoding job failed to be created on August 16. The previous successful lambda created a job on August 14. The createJob() is called essentially with a template (which also hasn't changed for about 4 months), and a few additional parameters specific to the environment of the lambda, and the source object on s3.
The error was :
Unable to transcode input at s3://<bucket>/<filename>.mp4 due to an error: MultipleValidationErrors: There were 4 validation errors:
* MissingRequiredParameter: Missing required key 'Outputs' in params.Settings.OutputGroups[0]
* MissingRequiredParameter: Missing required key 'Type' in params.Settings.OutputGroups[0].OutputGroupSettings
* MissingRequiredParameter: Missing required key 'MinSegmentLength' in params.Settings.OutputGroups[0].OutputGroupSettings.HlsGroupSettings
* MissingRequiredParameter: Missing required key 'SegmentLength' in params.Settings.OutputGroups[0].OutputGroupSettings.HlsGroupSettings
We were using the default aws-sdk version provided in the lambda node environment so didn't have immediately a version to point to, but we pinpointed the behavior change to the 2.251.1 version of aws-sdk. (Note that the current AWS doc at https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html claims the 2.249.1 is currently deployed.)
Here is a simpler version of the lambda code, with the same createJob() :
The template itself does contain the necessary parameters cited (Outputs, Type, MinSegmentLength, SegmentLength) and this is the crux of the matter, those fields seem to have been added to the required parameters expected locally by the aws-sdk client while this wasn't the case before.
@spouzols
Thanks for reporting this. I'll get in touch with the service team to find out why these fields were marked as required. We sometimes allow parameters to be marked required when they weren't originally for the scenario where the service would return a validation error if the parameter was missing, but you've shown that's not the case here.
This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs and link to relevant comments in this thread.
lockbot
locked as resolved and limited conversation to collaborators
Sep 29, 2019
Sign up for freeto subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Labels
service-apiThis issue is due to a problem in a service API, not the SDK implementation.
Hi. I'm opening this topic as a regression issue, as we didn't find a reference to it, on this repo or the AWS forums, except maybe this tweet: https://twitter.com/shinichy/status/1029908422181838848
We hit a regression with the MediaConvert
createJob(params)
function inaws-sdk
, in an AWS lambda context in Node.js 6.10 environment. Our lambda had been running for 4 months untouched and triggers a simple transcoding job creation when a movie file is received on a source s3 bucket, and suddenly a transcoding job failed to be created on August 16. The previous successful lambda created a job on August 14. ThecreateJob()
is called essentially with a template (which also hasn't changed for about 4 months), and a few additional parameters specific to the environment of the lambda, and the source object on s3.The error was :
We were using the default
aws-sdk
version provided in the lambda node environment so didn't have immediately a version to point to, but we pinpointed the behavior change to the 2.251.1 version of aws-sdk. (Note that the current AWS doc at https://docs.aws.amazon.com/lambda/latest/dg/current-supported-versions.html claims the 2.249.1 is currently deployed.)Here is a simpler version of the lambda code, with the same
createJob()
:The template itself does contain the necessary parameters cited (Outputs, Type, MinSegmentLength, SegmentLength) and this is the crux of the matter, those fields seem to have been added to the required parameters expected locally by the
aws-sdk
client while this wasn't the case before.Template JSON:
Additional checks :
Workarounds :
getJobTemplate()
and merging it tocreateJob()
with a complete JSON should workTo be clear the current AWS SDK documentation (https://docs.aws.amazon.com/AWSJavaScriptSDK/latest/AWS/MediaConvert.html#createJob-property) does now mention those fields as required, but the
aws-sdk
changelog doesn't mention this change in 2.251.1 and only details added transcoding features.The text was updated successfully, but these errors were encountered: