用 Amazon 服务给自己发短信

在公司做项目,需要训练些模型。由于白天是几个人一起艹一台服务器,显卡不能长期占用,跑模型一般都是下午下班或者周末跑上,第二天或者周一来看结果。

一个脑洞:能不能模型跑完之后自动通知我?例如将 Log 文件发个邮件给我,或者仅仅是发个短信通知我一下?

首先说发邮件。我需要配置 smtp 等服务,之前配置过,对我来说比较玄学,而且还要输入自己邮箱的密码…… 公共服务器,配置这些不太合适。

再说发短信。Google 了一下 “Amazon send SMS”,还真找到了 Amazon 的 SNS 服务。好像是不仅能发推送通知,还能发短信。后台测试一下,手机可以正常收到短信。

那么就照着给的例子,写个脚本。

在这里说一下 AK 和 SK。第一次接触这东西。

在 IAM 里面可以获取 AK 和 SK,但是一进去就提示说,不要用 root 的 token 来干事。按照最佳实践,创建了个用户组,给组只加入一个内联策略:

{
    "Version": "你的版本号",
    "Statement": [
        {
            "Sid": "你的 SID",
            "Effect": "Allow",
            "Action": [
                "sns:Publish","sns:CreateTopic","sns:Subscribe"],"Resource": ["*"]
        }
    ]

在组里面创建一个不能登录的用户,拿到用户的 AK 和 SK 就好了。

重要的事情最后讲

一条短信 2 毛钱!限制 140 字!没有优惠额度!

后记:一个月给自己发了 0.9 刀的短信……太贵了!用不起!

留下评论