用GO语言调用火山引擎API来实现定时修改CDN配置
情景
由于我所使用的服务器每天晚间都会进行关机维护,因此在关闭前,我需要手动修改CDN的设置,添加一个备用源站。第二天开机后,我又得删除这个备用源站的配置,这一过程确实相当繁琐。
火山引擎的源站检查机制并不完全契合我的情况。它只尝试连接十次,如果十次都失败,就会切换到备用源站,并且不再尝试回到主源站。这就导致如果我没在新的一天开始时更新配置,服务就会持续从备用源站获取内容,这无疑增加了我的日常管理工作。
起初,我依赖火山引擎的API-Explorer创建了一个脚本,但后来我发现这个工具的时间限制问题,它只能一次性或按预定时间运行。我原本以为已经解决了问题,但在第二天遇到服务中断的问题后,我意识到这不是一个持久的解决方案。
现在,官方推荐使用GO语言版本的SDK。我相信这将给我提供更大的灵活性和控制力,能更好地适应服务器的每日维护周期,从而减轻我的工作负担。
(以上是AI美化的)
教程
这里需要搞一个API密钥
地址:https://console.volcengine.com/iam/keymanage/
没有就新建一个,有的就先备着,等会要用。
然后我们去火山引擎提供的API调用
https://api.volcengine.com/api-explorer
注意切换你想要的功能,这里演示的是CDN配置。
然后根据你想要的内容进行修改,因为每个人修改的内容不一样,这里不演示。
修改好后,点一下发起调试。调试没问题,就点击SDK示例。如下图。
然后我们将完整工程下载下来,上传到服务器上。
例如我们上传的路径是/cdn/
也就是说cdn目录中,有一个文件夹和一个go.mod文件
然后我们cd进main文件夹中。
打开main.go,修改里面的AK SK内容,就是最上面让你准备好的密钥,修改好后保存。
执行go mod tidy
然后go build
这时候你的main文件夹中就会出现一个新的文件
输入./main
就能运行了。
当然,这是其中一个配置,如果你想和我一样要定时切换两种CDN配置,那就需要制作两个main文件,记得提前把第一个做好的main文件修改名字,不然后面制作的main文件会覆盖过去。
然后将main文件或者你修改名字后的文件放在一个合适的位置,用计划任务来定时启动他就行了。
记得测试一下,然后回到CDN那边看看配置有没有成功。