如何将AWS上运行的Python脚本产生的数据发送到Wix网站
AWS Python脚本数据同步到Wix站点实现方案
1. Wix侧配置接收数据的HTTP接口
Wix的Velo开发模式支持自定义后端HTTP接口,用来接收外部推送的数据:
- 进入Wix站点后台,开启「开发者模式」启用Velo功能
- 在侧边栏「后端代码」目录下新建
http-functions.js文件,编写POST接收接口:
import { ok, badRequest } from 'wix-http-functions'; import wixData from 'wix-data'; export function post_syncData(request) { return request.body.json() .then(body => { // 存储AWS推送的数据到提前创建好的SiteData数据库集合 const saveData = { "content": body.data, "syncTime": new Date() }; return wixData.save("SiteData", saveData); }) .then(() => ok({ body: { status: "success" } })) .catch(err => badRequest({ body: { error: err.message } })); }
- 接口创建完成后,获取你的接口地址,格式为
https://<你的Wix站点域名>/_functions/syncData,留存备用。
2. 修改AWS端Python脚本推送数据
在现有脚本逻辑末尾新增请求发送逻辑,示例代码(对应时间同步场景):
import requests from datetime import datetime # 原有脚本逻辑:获取当前时间 current_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S") # 推送数据到Wix接口 WIX_ENDPOINT = "你之前留存的Wix接口地址" payload = {"data": current_time} resp = requests.post(WIX_ENDPOINT, json=payload) # 可选:增加日志排查问题 if resp.status_code == 200: print("数据同步成功") else: print(f"同步失败,状态码:{resp.status_code},错误信息:{resp.text}")
- 如果AWS运行环境没有
requests依赖,提前执行pip install requests安装。
3. Wix前端展示同步数据
在需要展示数据的页面添加前端逻辑,读取数据库最新数据渲染:
- 在目标页面添加文本展示组件,设置组件ID为
timeDisplay - 在页面的
onReady事件中添加如下代码:
import wixData from 'wix-data'; $w.onReady(function () { // 查询最新一条同步数据 wixData.query("SiteData") .descending("_updatedDate") .limit(1) .find() .then(res => { if (res.items.length) { $w("#timeDisplay").text = `最新同步时间:${res.items[0].content}`; } }) });
- 如果需要无刷新实时更新,可在前端增加定时器,每隔固定时间重新拉取一次数据即可。
注意事项
- Wix公开HTTP接口的频率限制完全支持每分钟一次的同步需求,不会触发限流
- 提前修改SiteData数据库的权限配置,允许后端接口读写,避免权限报错
- 如果涉及敏感数据传输,可在请求头中增加自定义密钥校验,Wix接口验证密钥合法后再存储数据,避免恶意请求。
内容的提问来源于stack exchange,提问作者Yx-h
相关产品推荐
相关产品推荐

