如何提供配置文件以及用 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
最佳答案
将配置文件添加到包含 Go 二进制文件的 zip 中
例如,假设你有一个 Handler.go 和一个包含 configs.json 的 configs 目录
go build -o Handler Handler.go && chmod +x Handler && zip -r handler.zip Handler configs
应该制作一个包含 configs 目录和可以上传到 Lambda 的 Handler 二进制文件的 zip
您可能希望考虑使用 AWS Parameter Store 等文件的替代方法
关于go - 如何使用 golang 为 lambda 函数提供配置值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53912339/