实现场景
本教程假设以下情况:
- 您的系统需要在某些情况下发送邮件。
- 您希望采用消息队列来收集和传递需要发送的内容和接收者。
实现概要
下面是该函数的实现流程:
- 创建函数与 CMQ Topic 主题订阅的事件源映射。
- 用户将需要发送的邮件内容和邮件接收者以特定数据格式发送到消息队列中。
- CMQ 订阅队列将会触发 SCF 云函数的运行,把消息以事件的格式传递给函数。
- SCF 平台接收到调用请求,执行函数。
- 函数通过收到的事件数据获得需要发送的邮件内容、邮件接收者,调用邮件发送接口,发送邮件。
请注意,完成本教程后,您的账户中将具有以下资源:
- 一个发送邮件的 SCF 函数。
- 一个 CMQ Topic 主题队列。
- CMQ 主题队列上的订阅配置。
本教程分为三个主要部分:
- 完成 CMQ 主题队列的创建。
- 完成创建函数的必要设置步骤,并使用 CMQ 示例事件数据手动调用该函数。旨在验证函数能够正常工作。
- 完成 CMQ 主题队列和函数的绑定,并通过队列的发送消息接口,测试 CMQ 队列和 SCF 云函数的联动能力,使得 CMQ 主题队列在接收到消息时能够调用函数。
数据结构设计
假设用于发送邮件的数据结构如下所示,此数据结构将在根据需要填充数值后发送至 CMQ 主题队列中,由 SCF 函数接受并处理,发送邮件。
{
"fromAddr":"sender@testhost.com",
"toAddr":"test@testhost.com",
"title":"hello from scf & cmq",
"body":"email content to send"
}