You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将DataFrame行转为多行语句并通过Twilio发送告警?

使用Twilio发送嵌入DataFrame数据的告警

我来给你一步步拆解怎么实现这个需求,其实操作起来很直观,咱们按流程来:

1. 先装好需要的工具库

首先得确保你安装了处理DataFrame的pandas和Twilio的SDK,打开终端跑这个命令:

pip install pandas twilio

2. 导入必要的模块

在你的Python脚本里导入这两个库:

import pandas as pd
from twilio.rest import Client

3. 初始化Twilio客户端

你需要从Twilio控制台获取自己的Account SID、Auth Token,还有Twilio分配给你的发送号码(格式要带国家代码,比如+1234567890)。把这些信息填到下面的代码里:

# 替换成你自己的Twilio账号信息
account_sid = '你的Account SID'
auth_token = '你的Auth Token'
client = Client(account_sid, auth_token)

# 发送方(Twilio号码)和接收方号码
from_number = '+你的Twilio号码'
to_number = '+接收告警的手机号码'

4. 生成嵌入DataFrame数据的告警文本

针对你给出的示例DataFrame,我们可以把数据整理成清晰的告警内容,比如按zone分组汇总任务信息。先构造你的示例DataFrame,然后生成文本:

# 构造你提供的示例DataFrame
data = {
    'zone': [2.0, 2.0, 2.0, 3.0, 3.0, 3.0],
    'script': ['Consumers', 'Inventory', 'Orders_Details', 'Consumers', 'Inventory', 'Orders_Details'],
    'totalcount': [1, 1, 1, 1, 1, 1],
    'datetimecomplete': ['2018-05-02 17:46:38.232354']*6
}
df = pd.DataFrame(data)

# 生成告警文本
alert_text = "任务执行完成告警:\n"
# 按zone分组汇总
for zone, group in df.groupby('zone'):
    tasks = ', '.join([f"{row['script']}({row['totalcount']}次)" for _, row in group.iterrows()])
    alert_text += f"Zone {zone}: {tasks}\n"
# 加上完成时间(取第一条的时间即可,因为示例里时间都一致)
alert_text += f"完成时间: {df['datetimecomplete'].iloc[0]}"

生成的告警文本大概是这样:

任务执行完成告警:
Zone 2.0: Consumers(1次), Inventory(1次), Orders_Details(1次)
Zone 3.0: Consumers(1次), Inventory(1次), Orders_Details(1次)
完成时间: 2018-05-02 17:46:38.232354

当然你也可以根据需求调整格式,比如逐行发送每个任务的告警,或者用*突出显示某些关键数据(比如totalcount超过阈值的任务)。

5. 发送告警短信

最后调用Twilio的接口发送短信就行:

message = client.messages.create(
    body=alert_text,
    from_=from_number,
    to=to_number
)

# 可以打印message.sid来确认发送成功
print(f"告警已发送,消息ID: {message.sid}")

小提示

  • 确保接收号码已经在Twilio控制台验证过(免费账户需要验证),否则可能发送失败。
  • 如果DataFrame数据量很大,要注意短信的字数限制(一般单条短信最多1600字符左右),可以拆分多条发送或者精简内容。

内容的提问来源于stack exchange,提问作者RustyShackleford

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.26 10:55:30