如何使用golang

时间:2018-12-24 10:45:21

标签: go aws-lambda config serverless

如何提供配置文件以及用golang编写的lambda函数。我在项目根目录下创建了一个名为config的文件夹并提供了配置,但不幸的是,在项目构建后该文件夹不起作用,而且我知道这是因为我们将其构建为二进制文件。方式或方法为golang提供配置文件以及lambda函数?

var config map[string]string
var filename string

//Checks the stage and loads the Configuration file
if len(event.Stage) > 0 {
    filename = "configs/config.json"
}

configFile, err := os.Open(filename)
defer configFile.Close()
if err != nil {
    log.Printf(err.Error())
    return config, err
}
jsonParser := json.NewDecoder(configFile)
err = jsonParser.Decode(&config)
return config, err

1 个答案:

答案 0 :(得分:0)

将配置文件添加到包含Go二进制文件的zip

例如,假设您有一个Handler.go,其configs目录包含configs.json,然后

go build -o Handler Handler.go && chmod +x Handler && zip -r handler.zip Handler configs

应制作一个包含configs目录和Handler二进制文件的zip文件,可以将其上传到Lambda

您可能希望考虑使用诸如AWS Parameter Store这样的文件的替代方法