pipe: atlassian/aws-lambda-deploy:0.4.3

Yadvendra_Singh January 8, 2020

lamda deloy with update configuration failed with below info

 

here is my config file 

----------------------------

{"Layers":

    [

        { "Arn""arn:aws:lambda:eu-west-1:xxxxxxxxxxx:layer:ap-mail-node-pgpool-1:22""CodeSize"229879 }

    ]

}

---------------------------------------

function update part works just fine but while updating config it fails

here is the error log

INFO: Updating Lambda function configuration.

aws lambda update-function-configuration --function-name ap-mail-ds1-scs-1 --cli-input-json {"Layers": [ { "Arn": "arn:aws:lambda:eu-west-1:xxxxxxxxxxx:layer:ap-mail-node-pgpool-1:22", "CodeSize": 229879 } ]}Parameter validation failed:Invalid type for parameter Layers[0], value: {u'CodeSize': 229879, u'Arn': u'arn:aws:lambda:eu-west-1:xxxxxxxxxxx:layer:ap-mail-node-pgpool-1:22'}, type: <type 'dict'>, valid types: <type 'basestring'>✖ Failed to update Lambda function configuration.

2 answers

0 votes
Halyna Berezovska
Atlassian Team
Atlassian Team members are employees working across the company in a wide variety of roles.
May 15, 2020

@Yadvendra_Singh  , thanks for using our pipe.

Looks like layers should be a list of strings, not the list of dictionaries (by the doc it looks like response body format).

Following the doc AWS Update Function Configuration API 

it can be seen that CodeSize is mentioned a level upper in --cli-input-json setting.

As a result you could try

--cli-input-json {"Layers":["Arn": "arn:aws:lambda:eu-west-1:xxxxxxxxxxx:layer:ap-mail-node-pgpool-1:22"], "CodeSize": 229879} 

Looking forward to your feedback!

0 votes
kieranjogrady February 2, 2020

I'm experiencing the same issue with v0.5.0. It seems the content of the JSON file is being read as string but received as a dictionary.

I've manually run the same commands on my local OS that the update-lambda-configuration.sh script performs and the CLI command executes successfully (not within the image). I'll next try run the image locally in attempt to reproduce the issue and report back any findings.

Yadvendra_Singh February 3, 2020

Thanks,

I will be more cleaner if it works using pipeline currently I am using array of layers directly

aws lambda update-function-configuration --function-name my-function --layers []

Suggest an answer

Log in or Sign up to answer
TAGS
AUG Leaders

Atlassian Community Events