packagemainimport (
"encoding/json""fmt""github.com/aws/aws-sdk-go/aws""github.com/aws/aws-sdk-go/aws/session""github.com/aws/aws-sdk-go/service/lambda")
// for responsetypeResponsestruct {
Messagestring`json:"message"`Okbool`json:"ok"`}
// data to input to LambdatypeDatastruct {
Key1string`json:"key1"`Key2string`json:"key2"`Key3string`json:"key3"`}
// function to call LambdafuncHandler() (Response, error) {
// Data that is to send to the Lambdapayload:=Data{
Key1: "1",
Key2: "2",
Key3: "3",
}
// and transform it to json bytes.jsonBytes, _:=json.Marshal(payload)
// To make sessionmySession:=session.New()
// To set region you use.svc:=lambda.New(mySession, aws.NewConfig().WithRegion("ap-northeast-1"))
// set the Lambda's arn.input:=&lambda.InvokeInput{
// To set your Labmda's arnFunctionName: aws.String("arn:aws:lambda:ap-northeast-1:XXXXXXXXXXXX:function:test-lambda"),
Payload: jsonBytes,
// InvocationType Customization is available.// RequestResoponse is synchronous mode.(default)// Event is asynchronous mode.//InvocationType: aws.String("Event"),//InvocationType: aws.String("RequestResponse"), }
// To call Lambdaresp, _:=svc.Invoke(input)
fmt.Println(resp)
returnResponse{
Message: "success",
Ok: true,
}, nil}
funcmain() {
ret, _:=Handler()
fmt.Println(ret)
}