There is some bad information here. "Note that your function-name must match the name of your Lambda handler name." This is not true, the *name* of the function can be anything. This can be seen, for example, here: https://github.com/aws-samples/lambda-go-samples/blob/master/template.yml where the function name will be set by CloudFormation to something related to "HelloFunction" but Handler is set to "main", which is the name of the executable built from this file https://github.com/aws-samples/lambda-go-samples/blob/master/main.go