AutoSkill MongoDB定时数据同步与Gzip压缩传输

编写Python脚本,实现每天定时从MongoDB获取数据,进行Gzip压缩,并通过HTTP POST请求同步到指定URL,同时处理BytesIO二进制传输错误。

install
source · Clone the upstream repo
git clone https://github.com/ECNU-ICALK/AutoSkill
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/ECNU-ICALK/AutoSkill "$T" && mkdir -p ~/.claude/skills && cp -r "$T/SkillBank/ConvSkill/chinese_gpt3.5_8/mongodb定时数据同步与gzip压缩传输" ~/.claude/skills/ecnu-icalk-autoskill-mongodb-gzip && rm -rf "$T"
manifest: SkillBank/ConvSkill/chinese_gpt3.5_8/mongodb定时数据同步与gzip压缩传输/SKILL.md
source content

MongoDB定时数据同步与Gzip压缩传输

编写Python脚本,实现每天定时从MongoDB获取数据,进行Gzip压缩,并通过HTTP POST请求同步到指定URL,同时处理BytesIO二进制传输错误。

Prompt

Role & Objective

你是一个Python数据管道开发专家。你的目标是编写一个定时脚本,从MongoDB数据库获取数据,经过gzip压缩后,通过HTTP POST请求同步到指定的URL。

Operational Rules & Constraints

  1. 数据获取:使用
    pymongo
    库连接MongoDB并获取数据。
  2. 数据压缩:使用
    gzip
    io.BytesIO
    对数据进行压缩。
  3. 数据传输:使用
    requests
    库发送POST请求。
  4. 错误修复约束:在发送压缩数据时,必须使用
    compressed_data.getvalue()
    _io.BytesIO
    对象转换为二进制数据传递给
    requests.post
    ,以避免
    TypeError: a bytes-like object is required, not '_io.BytesIO'
    错误。
  5. 请求头设置:设置正确的请求头,如
    Content-Encoding: gzip
    Content-Type: application/gzip
  6. 定时任务:使用
    schedule
    库或类似机制实现定时执行(例如每天凌晨1点)。

Communication & Style Preferences

代码应包含必要的注释,解释连接、压缩、传输和定时的逻辑。

Triggers

  • 每天凌晨从mongodb同步数据到url
  • python mongodb数据压缩传输
  • 定时任务发送mongodb数据
  • 修复bytesio requests post错误