将“ go”包上传到AWS Lambda

时间:2019-06-15 05:52:33

标签: go lambda

我去了lang代码来读取一些json文件。它在本地运行良好,但是我创建了Lambda软件包并将其上传到Lambda中。它无法读取文件


import (
    "context"
    "fmt"
    "io/ioutil"

    "github.com/aws/aws-lambda-go/lambda"
)

type MyEvent struct {
    Name string `json:"name"`
}

func HandleRequest(ctx context.Context, name MyEvent) (string, error) {
    jsonBytes, err := ioutil.ReadFile("mappings.json")
    fmt.Println(string(jsonBytes))
    fmt.Println(err)
    return fmt.Sprintf("Hello %s!", name.Name), nil
}

func main() {
    lambda.Start(HandleRequest)
}

如何从AWS Lambda读取文件?有什么想法吗?

1 个答案:

答案 0 :(得分:0)

我已使用您的示例代码,并放入了zip文件以及用于测试AWS lambda的映射文件。链接到代码-https://github.com/nihanthd/stackoverflow/tree/master/lambda

AWS Lambda中的处理程序名称为 trial

使用AWS lambda事件测试数据以触发功能

{
    "name": "Vignesh"
}

用于生成可执行文件和创建zip文件的命令

$ GOARCH=amd64 GOOS=linux go build trial.go
$ zip trial.zip trial mappings.json