I am attempting to deploy my code to AWS Lambda. I've written it in Go. It builds just fine but I receive this error when running it via the Lambda test functionality:
{
"errorMessage": "fork/exec /var/task/github-activity: no such file or directory",
"errorType": "PathError"
}
You can view the full code at: https://github.com/JustinDFuller/github-activity I have tested and seen that it works fine on my machine. (I've tried on windows and linux).
The file I am deploying is made by running the following commands:
GOOS=linux GOARCH=amd64 go build -o main awsLambdaImpl.go
zip main.zip main
With all this in mind, you can rest assured that Go is an excellent choice for AWS Lambda: A performant, cost-efficient language with the bonus of being able to run the latest (or even prerelease) version of the Go language without waiting for AWS to update their runtimes.
So does golang have lambda functions, YES golang have function literals that serve the same functionality as lambda expressions. These function literals are anonymous functions that do not have a name and can be defined inline i.e inside of other functions.
Lambda: Execution takes too long If your code takes much longer to run in Lambda than on your local machine, it may be constrained by the memory or processing power available to the function. Configure the function with additional memory to increase both memory and CPU.
Handler for a Go Lambda is the path to executable.
Since you're uploading a zip file of the following structure
main.zip
|
`-- main <-- executable
your handler name has to be main
.
If you packed your lambda in the following way, your handler would then be
main.zip
|
`-- subdir
|
`-- executableInASubdirPackedIntoAZip <-- executable
your handler would then be subdir/executableInASubdirPackedIntoAZip
.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With