“纵有疾风来,人生不言弃”,这句话送给正在学习Golang的朋友们,也希望在阅读本文《如何使用 golang 为 lambda 函数提供配置值》后,能够真的帮助到大家。我也会在后续的文章中,陆续更新Golang相关的技术文章,有好的建议欢迎大家在评论留言,非常感谢!
问题内容如何提供配置文件以及用 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 目录包含 configs.json,那么
go build -o Handler Handler.go && chmod +x Handler && zip -r handler.zip Handler configs
应制作一个包含 configs 目录和可上传到 lambda 的处理程序二进制文件的 zip
您可能希望考虑使用 aws parameter store 等文件的替代方案
本篇关于《如何使用 golang 为 lambda 函数提供配置值》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于Golang的相关知识,请关注编程网公众号!