消息通知服务 SMN
消息通知服务 SMN
- 最新动态
- 功能总览
- 产品介绍
- 快速入门
- 用户指南
- 最佳实践
- API参考
- SDK参考
-
常见问题
- 消息通知服务有哪些优势?
- 消息通知服务支持的传输协议有哪些?
- 消息通知服务的使用如何收费和计费?
- 消息通知服务的主题名称有何格式要求?
- 每个用户可以创建多少个主题?
- 每个主题最多支持多少个订阅者?
- 可以向主题发布多少条消息?
- 每个用户可以创建多少个消息模板?
- 以短信方式接收消息的限制是什么?
- 单个主题是否支持通过多种传输协议进行订阅?
- 主题创建者是否可以控制所创建的主题中允许的传输协议?
- 订阅终端地址可以修改吗?
- 是否可删除已发布的消息?
- 是否会保证将消息传送到订阅的终端节点?
- 每条消息会让订阅者收到多少次?
- 向主题推送消息后,订阅者为什么没有收到消息?
- 为什么用户接收到的邮件中图片无法显示?
- 使用消息通知服务发送短信的号码或显示名可以保持一致吗?
- 如何获取用户的账号ID?
- 钉钉机器人、钉钉企业内部机器人、飞书机器人、企业微信机器人如何获取订阅终端?
- 视频帮助
-
更多文档
- 用户指南(阿布扎比区域)
- API参考
- 用户指南 (巴黎区域)
- API参考 (巴黎区域)
- 用户指南(吉隆坡区域)
- API参考(吉隆坡区域)
- 用户指南(安卡拉区域)
- API参考(安卡拉区域)
- 通用参考
链接复制成功!
通过SMN发送到FunctionGraph实现转发至Slack
应用场景
本文介绍了如何通过在FunctionGraph上转发SMN订阅消息至Slack。Slack是由Slack Technologies所开发的一款基于云计算的即时通信软件,Slack没有适配SMN发送https协议消息的接口,无法直接添加Slack订阅并获取消息,需要通过在FunctionGraph上进行转发,转发到指定URL。
前提条件
- 已创建SMN消息主题,此处以smn-test为例,具体操作请参见创建主题。
- 已下载Slack软件。
Slack配置
- 在Slack上创建或选择自己需要的channel。
图1 创建channel
- 依次选择“Apps > Manage > Browse apps”。
图2 选择Apps
- 在搜索框中查找“Incoming Webhooks”,单击“Add”。
图3 添加Incoming Webhooks
- 单击“Configuration”到配置页面,在配置页面上获取Webhook URL。
图4 选择配置页面图5 获取Webhook URL
- 保存选择的Webhook URL。
图6 保存Webhook URL
函数配置
- 登录函数工作流控制台,在左侧的导航栏选择“函数 > 函数列表”。
- 单击右上方的“创建函数”,进入“创建函数”页面,使用模板创建函数。
- 参考图7,选择如下模板并单击“使用模板”。
- 输入函数名称,选择已创建的委托,其他设置保持不变,单击“创建函数”,进入配置详情页。
图8 填写基本信息
- 在配置详情页选择“代码”页签,在index.py里面编辑代码。
图9 编辑代码
发给Slack的代码示例如下:(以下代码片段仅供参考,使用时需要将参数修改为Slack上获取的Webhook URL,或根据需要做其他处理)
# -*- coding:utf-8 -*- import json import requests def handler (event, context): # 公共部分:在这里构造目标地址需要的body体字段, event是SMN发出去的全部字段 payload = {'text': event["record"][0]["smn"]["message"]} # 转发部分:调用Slack接口,转发到Slack平台 try: webhook_url = '填写Slack上获取的Webhook URL' response = requests.post(webhook_url, json=payload) response.raise_for_status() print('Message sent successfully') except requests.exceptions.RequestException as e: print(f"Error sending message to Slack: {e}") return event
- 编辑完成后,单击“Ctrl+S”保存,更新代码。
- 单击“创建触发器”,弹出“创建触发器”对话框。
- 设置以下信息。
- 触发器类型:选择“消息通知服务 (SMN)”。
- 主题名称:选择主题名称,例如:smn-test。
图10 创建触发器 - 单击“确定”。创建完成后,发送给当前主题的所有消息通过FunctionGraph转发到需要的地址。
SMN配置
- 登录消息通知服务控制台,在左侧的导航栏选择“主题管理” > “主题”。
- 在主题列表中选择主题“smn-test”,在右侧“操作”栏单击“添加订阅”。
- 设置以下信息。
- 协议:选择“FunctionGraph(函数)”。
- 订阅终端:选择已创建的函数,例如:smn-test。
图11 添加订阅 - 单击“确定”,完成订阅添加。
- 在主题列表中选择主题“smn-test”,在右侧“操作”栏单击“发布消息”。
- 设置以下信息。
- 消息类型:选择“文本消息”。
- 消息内容:输入消息内容。
- 单击“确定”,完成消息发布。