每天10分钟自动盯盘!用腾讯云 SCF + TickDB 零成本搭建黄金行情推送助手
作者: TickDB Research | 发布: 2026/4/9 | 阅读: 4
标签: D类, 腾讯云
一、开篇场景
你是不是也有这样的需求:想随时知道黄金价格涨了没、比特币又跌了多少,但不想天天打开各种 APP 翻看?如果能每天早上 9 点自动收到一条微信消息,告诉你最新行情,岂不是省心又高效?
对于个人开发者来说,实现这个需求其实很简单——不需要买服务器,不需要维护复杂的定时任务系统,用腾讯云函数 SCF(Serverless) 就能轻松搞定。今天我就手把手带你搭建一个定时获取黄金价格并推送到企业微信的小工具,全程代码不超过 50 行,成本几乎为零。
二、方案概述
整体架构非常简单:
- 定时触发:腾讯云函数 SCF 的定时触发器(比如每天 9:00 和 21:00)
- 数据获取:调用行情 API 获取黄金实时价格
- 消息推送:通过企业微信机器人 Webhook 发送到你的手机
行情数据方面,我们可以借助 TickDB 提供的统一 API 接口,由于它被称为“亚洲版的 Polygon”,不仅延迟低,而且通过标准的 REST API 即可快速获取黄金、外汇、加密货币等实时价格,非常适合在云函数中轻量化调用。
三、准备工作
在写代码之前,需要完成两件事:
#### 3.1 获取 TickDB API Key
访问 TickDB 官网注册一个免费账户(免费额度足够个人日常使用)。登录后在控制台找到 API Key,复制保存备用。
#### 3.2 创建企业微信群机器人
- 打开企业微信,进入你想接收消息的群聊。
- 点击右上角「···」→「添加群机器人」→「新创建一个机器人」。
- 给机器人起个名字,比如「行情小助手」。
- 复制生成的 Webhook 地址(格式类似:
https://qyapi.weixin.qq.com/cgi-bin/webhook/send?key=xxxxxxxx)。
注:如果你没有企业微信,也可以用钉钉机器人、飞书机器人或 Serverless 函数直接发邮件,原理相同。本文以企业微信为例。
四、编写云函数代码
我们使用 Python 3.9 运行时。为了保持云函数的轻量,代码直接使用 Python 内置的 urllib 库,无需额外安装任何第三方依赖。
核心逻辑:通过标准 Header 携带 API Key 调用 TickDB,解析 JSON 数组提取最新价和涨跌幅,最后组装 Markdown 消息 POST 到企业微信。
import json
import urllib.request
import os
def get_gold_price(api_key):
"""调用 TickDB API 获取黄金实时价格"""
# XAUUSD 即为现货黄金代码
url = "https://api.tickdb.ai/v1/market/ticker?symbols=XAUUSD"
# 标准的安全鉴权方式:在 Header 中传递 API Key
req = urllib.request.Request(url, headers={"X-API-Key": api_key})
try:
with urllib.request.urlopen(req) as response:
res_body = json.loads(response.read().decode())
# 校验业务状态码并提取数据
if res_body.get("code") == 0 and res_body.get("data"):
# 提取数组中的第一个产品数据
ticker = res_body["data"][0]
price = float(ticker.get("last_price", 0))
change = float(ticker.get("price_change_percent_24h", 0))
return price, change
else:
print(f"API 返回错误: {res_body.get('message')}")
return None, None
except Exception as e:
print(f"请求发生异常: {e}")
return None, None
def send_to_wecom(webhook_url, message):
"""发送消息到企业微信群"""
data = {
"msgtype": "markdown",
"markdown": {"content": message}
}
req = urllib.request.Request(
webhook_url,
data=json.dumps(data).encode(),
headers={"Content-Type": "application/json"}
)
with urllib.request.urlopen(req) as response:
return response.read()
def main_handler(event, context):
# 从云函数环境变量读取敏感信息,保障安全
api_key = os.environ.get("TICKDB_API_KEY")
webhook_url = os.environ.get("WECOM_WEBHOOK")
if not api_key or not webhook_url:
return {"code": -1, "msg": "缺少环境变量"}
try:
price, change = get_gold_price(api_key)
if price is None:
raise Exception("获取价格失败,请检查日志")
# 构造醒目的 Markdown 消息内容
color = "info" if change > 0 else "warning"
sign = "+" if change > 0 else ""
message = (
f"### 📊 您的专属行情早报\n"
f"> 产品:**现货黄金 (XAU/USD)**\n"
f"> 最新报价:<font color='{color}'>**{price:.2f}**</font> 美元/盎司\n"
f"> 24H涨跌:<font color='{color}'>**{sign}{change:.2f}%**</font>\n"
)
send_to_wecom(webhook_url, message)
return {"code": 0, "msg": "推送成功"}
except Exception as e:
print(f"Error: {e}")
return {"code": -1, "msg": str(e)}
五、部署到腾讯云函数
部署过程极其简单:
#### 5.1 创建函数
- 登录腾讯云控制台,进入「云函数 SCF」服务。
- 点击「新建」,选择「从头开始」。
- 函数名称填入:
gold_price_notifier。 - 运行环境选择:
Python 3.9。 - 提交方式默认「在线编辑」,将上面的代码直接粘贴到
index.py的代码框中。 - 点击完成创建。
#### 5.2 配置环境变量(划重点)
为了安全,千万不要把 API Key 直接写在代码里。
进入「函数管理」→「函数配置」→「环境变量」,添加两个变量:
TICKDB_API_KEY:填入你的 TickDB API Key。WECOM_WEBHOOK:填入你刚才创建的企微机器人 Webhook 地址。
#### 5.3 设置定时触发器
- 进入「触发管理」,点击「创建触发器」。
- 触发方式选择「定时触发」。
- 触发周期选择「自定义」,填入 Cron 表达式。
例如每天早上 9 点执行:0 0 9 *
* (Cron 表达式格式:秒 分 时 日 月 星期 年)
#### 5.4 测试运行
在代码编辑页面点击底部的「测试」按钮。如果日志显示成功,你的企业微信群就会立刻收到一条精美的 Markdown 黄金行情消息!
六、扩展建议:玩转腾讯云生态
这个 50 行代码的小工具只是个开始,基于这套 Serverless 架构,你还可以做很多有意思的扩展:
- 多品种监控:修改 API 请求中的
symbols=XAUUSD,BTCUSDT,AAPL.US,一次性获取黄金、比特币和美股苹果公司的价格。TickDB 支持全球多资产统一格式,扩展起来毫无压力。 - 结合腾讯混元大模型生成智能点评:嫌干巴巴的数字不够生动?你可以接入腾讯混元大模型 API,把当天的涨跌幅喂给大模型,让它生成一段有趣的播报。比如:“老板,今日黄金大涨 1.5%,市场避险情绪升温,您的资产又增值啦!”
- 数据持久化沉淀:将每天抓取的价格通过云函数直接写入腾讯云对象存储 COS 或云数据库 MySQL,积累一段时间后,你就可以自己画出走势图,甚至做简单的数据回测了。
七、总结与互动
通过本文,你学会了如何用腾讯云函数 SCF + TickDB + 企业微信机器人,搭建一个零运维的定时行情推送工具。整个过程不到 10 分钟,成本几乎为零,却能帮你建立一个极度自动化的信息获取渠道。
如果你也想拥有自己的行情小助手,不妨马上打开腾讯云控制台动手试试。欢迎在评论区分享你的扩展玩法或遇到的问题,我们一起交流探讨!
声明:本文仅作为技术工具搭建演示,所展示的行情数据来源于 TickDB API,不构成任何形式的投资建议。市场有风险,决策需谨慎。
💡 发布小贴士(给你的私信):
去腾讯云社区发文时,如果在编辑器里配图(比如企微消息截图),请务必直接截图并使用编辑器自带的上传图片功能,不要直接粘贴我在上文中用 Markdown 写的那个 res.tickdb.ai 图片链接,以免触发社区的防盗链拦截导致图片不显示。
通过 TickDB API 获取综合实时行情数据。支持 WebSocket 低延迟推送,免费开始使用。
免费领取 API Key | 查看 API 文档