使用腾讯云的Serverless部署应用

水深无声 2023-06-07 05:59 79阅读 0赞

使用腾讯云的Serverless部署应用

使用腾讯云的Serverless服务,部署一个Go编写的天气变化的提醒应用
该应用通过定时查询高德地图的天气API,当当前天气或未来几天天气不好时,通过Server酱在微信中进行提醒

构建应用

应用使用 go modules开发

  • go.mod

    module weather

    go 1.12

    require github.com/tencentyun/scf-go-lib v0.0.0-20190817080819-4a2819cda320

  • main.go

    package main

    import (

    1. "log"
    2. "os"
    3. "strconv"
    4. "time"
    5. "fmt"
    6. "github.com/tencentyun/scf-go-lib/cloudfunction"
    7. "weather/tool"

    )

    func main() {

    1. cloudfunction.Start(checkWeather)

    }

    func checkWeather() (string, error) {

    1. // ...

    }

创建函数

在腾讯云的Serverless服务中创建新的函数

创建函数

添加配置

配置共三项:

  • 高德地图的SecretKey,可以在高德地图的控制面板中添加应用后获取
  • Server酱的SecretKey,在发送的URL中可以找到
  • 城市id,高德地图的城市id,可以在城市编码中找到

添加环境变量

在函数配置点击编辑,添加环境变量

  1. city xxxx
  2. weatherKey xxxx
  3. notifyKey xxxx

上传函数

本地编译打包

  • Mac/Linux

    GOOS=linux GOARCH=amd64 go build -o main main.go
    zip main.zip main

  • Win

    set GOOS=linux
    set GOARCH=amd64
    go build -o main main.go

然后将main添加到压缩文件中

上传zip

在函数代码中上传压缩文件,保存

上传函数

测试

待上传完成后,选择 HelloWorld测试模板,点击测试,等函数执行,会看到测试结果

测试函数

添加触发方式

在触发方式中添加定时触发,cron表达式为 0 30 8-21 * * * *,这样就可以在每天8点-21点的30分触发查询,如果天气状况不佳,会通过微信通知


参考文档

  • 开发语言 Golang
  • 天气查询

项目地址

  • https://github.com/helloworlde/weather

发表评论

表情:
评论列表 (有 0 条评论,79人围观)

还没有评论,来说两句吧...

相关阅读

    相关 部署https请求

    因为苹果公司要求所有的API接口都必须要https的,所以没办法只能升级一下。现在阿里和腾讯的证书都还不错。这里记录一下腾讯云部署HTTPS的整个过程期间遇到了很多问题。在这里