• 沒有找到結果。

消息模板管理_消息通知服务 SMN_用户指南_华为云

N/A
N/A
Protected

Academic year: 2022

Share "消息模板管理_消息通知服务 SMN_用户指南_华为云"

Copied!
63
0
0

加載中.... (立即查看全文)

全文

(1)

用户指南

文档版本 01

发布日期 2021-12-30

(2)

版权所有 © 华为技术有限公司 2022。 保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传 播。

商标声明

和其他华为商标均为华为技术有限公司的商标。

本文档提及的其他所有商标或注册商标,由各自的所有人拥有。

注意

您购买的产品、服务或特性等应受华为公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或 特性可能不在您的购买或使用范围之内。除非合同另有约定,华为公司对本文档内容不做任何明示或暗示的声 明或保证。

由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文 档中的所有陈述、信息和建议不构成任何明示或暗示的担保。

(3)

目 录

1 主题管理...1

1.1 创建主题...1

1.2 修改显示名... 3

1.3 设置主题标签... 3

1.4 设置主题策略... 5

1.4.1 基本模式... 5

1.5 订阅主题...7

1.6 发布主题消息... 8

1.6.1 发布主题消息简介... 8

1.6.2 向主题发布文本消息... 9

1.6.3 向主题发布 JSON 消息... 10

1.6.4 向主题发布模板消息... 11

1.7 删除主题... 14

2 订阅管理...16

2.1 添加订阅... 16

2.2 请求订阅... 19

2.3 取消订阅... 19

2.4 删除订阅... 20

3 消息模板管理...21

4 记录消息通知服务... 24

4.1 记录消息通知服务简介... 24

4.2 支持审计的关键操作列表... 24

4.3 查看审计日志...25

5 权限管理...28

5.1 创建用户并授权使用 SMN...28

5.2 SMN 自定义策略... 29

6 关于配额...31

A 附录... 33

A.1 JSON 格式消息说明... 33

A.2 模板格式消息说明... 35

A.3 不同协议消息说明... 35

(4)

A.4 订阅确认流控说明... 37

A.5 国家(或地区)码... 37

A.6 授权操作与 SMN 接口的映射关系... 45

A.7 短信发送限制... 46

A.8 HTTP(S)终端节点使用样例... 47

A.8.1 HTTP(S)终端节点使用样例简介...47

A.8.2 HTTP(S)消息格式... 47

A.8.3 校验消息签名...50

A.8.4 示例代码... 52

B 修订记录... 57

用户指南 目 录

(5)

1 主题管理

1.1 创建主题

操作场景

主题是消息发布或客户端订阅通知的特定事件类型。它作为发送消息和订阅通知的信 道,为发布者和订阅者提供一个可以相互交流的通道。

创建主题

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题页面,单击“创建主题”。

(6)

1-1 创建主题

6. 在“主题名称”框中,输入主题名称,在“显示名”框中输入相关描述,如表1-1 所示。

1-1 创建主题参数说明

参数 说明

主题名称 创建的主题名称,用户可自定义名称,规范如下:

● 只能包含字母,数字,短横线(-)和下划线(_),且必须由大 写字母、小写字母或数字开头。

● 名称长度限制在1-255字符之间。

● 主题名称为主题的唯一标识,一旦创建后不能再修改主题 名称。

显示名 显示名,长度限制在192字节或64个中文字。

说明

推送邮件消息时,如果未设置主题的显示名,发件人呈现为

[email protected]”,如果已设置主题的显示名,发件人则 呈现为“显示名<[email protected]>”。

企业项目 企业项目是一种云资源管理方式,企业项目管理服务提供统一 的云资源按项目管理,以及项目内的资源管理、成员管理。

标签 标签由键值对组成,用于标识云资源,可对云资源进行分类和 搜索。

● 键的长度最大36字符,值的长度最大43字符。不能包含

“=”、“*”、“<”、“>”、“\”、“,”、“|”、

“/”,且首尾字符不能为空格。

● 每个主题最多可创建10个标签。

7. 单击“确定”,主题创建成功。

主题创建成功后,系统会自动生成主题URN,主题URN是主题的唯一资源标识,

不可修改。新创建的主题将显示在主题列表中。

用户指南 1 主题管理

(7)

8. 单击主题名称,可查看主题详情(包含主题URN、显示名等)、主题订阅总数。

1-2 主题详情和主题订阅总数

1.2 修改显示名

操作场景

您已经创建了一个主题,您现在可以修改显示名。

修改显示名

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击右侧“操作”栏的“更多”,在下拉列表中 选择“修改显示名”。

说明

推送邮件消息时,如果未设置主题的显示名,发件人呈现为

[email protected]”,如果已设置主题的显示名,发件人则呈现为“显示名

<[email protected]>”。

在弹出的对话框中输入新的显示名。

6. 单击“确定”,修改成功。

1.3 设置主题标签

操作场景

标签由标签“键”和标签“值”组成,用于标识云资源,可对云资源进行分类和搜 索。

● 一个标签的“键”可以拥有多个标签“值”。

● 一个云资源不能拥有重复的标签“键”。

创建主题标签

1. 登录管理控制台。

(8)

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击主题名称,进入主题详情页面。

6. 单击主题详情页面下方区域的“标签”。

7. 单击“添加标签”,在弹出框中设置标签的“键”和“值”。

1-3 添加标签

说明

● 键的长度最大36字符,值的长度最大43字符。不能包含“=”、“*”、“<”、

“>”、“\”、“,”、“|”、“/”,且首尾字符不能为空格。

● 每个主题最多可创建10个标签。

8. 单击“确定”,为主题设置标签成功。新添加的标签将显示在标签列表中。

修改主题标签

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击主题名称,进入主题详情页面。

6. 单击主题详情页面下方区域的“标签”。

7. 单击标签列表右侧“操作”栏下的“编辑”,可修改标签的值。

用户指南 1 主题管理

(9)

1-4 编辑标签

8. 修改完成后,单击“确定”。

删除主题标签

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击主题名称,进入主题详情页面。

6. 单击主题详情页面下方区域的“标签”。

7. 单击标签列表右侧“操作”栏下的“删除”,在弹出框中单击“确定”,可删除 标签。

1-5 删除标签

1.4 设置主题策略

1.4.1 基本模式

只有主题创建者拥有设置主题访问策略的权限。通过主题策略的设置,您可授权或拒 绝云服务或其他用户对主题资源进行特定类型操作,如查询主题详情、发布消息等。

授权其他用户后,主题创建者依然可以操作该主题。

(10)

设置主题策略

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击右侧“操作”栏的“更多”,在下拉列表中 选择“设置主题策略”。

6. 在弹出的对话框中,设置访问策略为基本模式的主题策略,如图1-6。

基本模式只可对用户和服务设置发布消息的操作权限,详细说明请参见表1-2。

1-6 基本模式

1-2 基本模式说明

策略对象 参数设置 说明 可发布消

息的用户 仅自己(主题

创建者) 仅主题创建者有权限向该主题发布消息。

所有人 所有用户均有权限向该主题发布消息。

用户指南 1 主题管理

(11)

策略对象 参数设置 说明

仅如下用户 设置可向该主题发布消息的用户。格式为

urn:csp:iam::domainId:root。其中,domainId即 为用户的帐号ID。

您只需填写用户的“帐号ID”,其余内容由系统 自动补全,输入完成后,单击“确定”。可输入 多个ID,数量没有限制,但生成的策略大小不超 过30KB。

“帐号ID”的获取方式:登录消息通知服务控制 台,单击右上角用户名下的“我的凭证”,可查 看“帐号ID”。

可发布消 息的服务

例如“OBS”。

不同区域支持 的“可发布消 息的服务”不 同,具体以管 理控制台显示 为准。

勾选服务名称表示授权该云服务可对该主题进行 操作。

说明默认情况云监控和Anti-DDoS拥有向所有用户的主题发 布消息的权限。已获取授权的云服务如何使用SMN的详 细信息请参见相应服务的用户指南。

1.5 订阅主题

操作场景

要接收发布至主题的消息,您必须向该主题添加订阅者。

添加订阅

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择您要向其添加订阅者的主题,在右侧“操作”栏单击“添加 订阅”。

此时将显示“添加订阅”对话框。

6. 在“协议”下拉框中选择您需要的协议,在“订阅终端”输入框中输入对应的订 阅终端,批量添加时,每个终端地址占一行,最多可输入10个终端。

– 选择邮件协议

订阅终端输入有效邮箱地址,如:[email protected]

被添加的邮箱地址会收到由系统发送的“订阅请求”邮件,48小时内有效。

确认订阅请求后,该邮箱地址可收到通过该主题发布的所有消息。

– 选择HTTP/HTTPS协议

(12)

订阅终端请输入公网网址(如:http://example.com/notification/

action ),需要确认订阅。关于HTTP(S)消息的格式,请参见HTTP(S)终端 节点使用样例简介。

– 选择短信协议

订阅终端输入有效手机号码,输入规则为[+] [国家码][手机号码]。国内手机 号码可省略[+]或[+] [国家码]。例如:+8600000000000。

被添加的手机号码会收到由系统发送的“订阅请求”短信,48小时内有效。

确认订阅请求后,该手机号码可收到通过该主题发布的所有消息。

– 选择FunctionGraph(函数)协议

订阅终端是一个函数,无需确认订阅。单击输入框右侧的 选择订阅终端,

在“版本”的下拉框中选择可用版本。关于创建函数,请参见具体操作《函 数工作流用户指南》中的函数管理。

– 选择DMS协议

订阅终端是消息队列,无需确认订阅。单击输入框右侧的 选择订阅终端。

选择DMS队列时,需要在队列策略中给SMN服务授权“ProduceMessages”

权限。具体操作请参考《分布式消息服务用户指南》中的策略管理。

7. 单击“确定”。

新增订阅将显示在页面下方的订阅列表中。

说明

● 为了防止恶意攻击订阅终端,我们会对订阅终端进行流控保护,触发流控规则后,消息 通知服务不再发送订阅确认消息,具体的保护规则请参见订阅确认流控说明。

● 消息通知服务不会校验订阅终端是否真实存在。

● 添加订阅后,消息通知服务会向订阅终端发送订阅确认信息,信息中包含订阅确认的链 接。订阅确认的链接在48小时内有效,用户需要及时在手机端、邮箱或其他协议终端 确认订阅。

1.6 发布主题消息

1.6.1 发布主题消息简介

消息通知服务提供了以下三种通用的方式。

● 发布文本格式的消息。

● 发布JSON格式的消息。

● 发布模板格式的消息。

一旦一条新的消息已经发布,消息通知服务试图将消息发布至每个已经向主题确认订 阅的终端节点。

如果使用短信协议接收消息,对于内容很长的消息,短信长度限制为490字,超出部分 系统自动截断。向短信终端发送消息时消息内容不能包含“[]”或者“【】”符号。

如果使用“HTTP”或“HTTPS”协议接收消息,用户的HTTP(S)要开通防火墙策略,

允许SMN访问,SMN通过公网发送消息到HTTP(S)终端节点。消息通知服务会自动组 装消息,用户接收到整条消息由消息头和消息体组成,具体参数含义请参考HTTP(S) 消息格式。

用户指南 1 主题管理

(13)

1.6.2 向主题发布文本消息

操作场景

文本消息是指将消息内容以文本的形式发送到订阅终端。

前提条件

所有的订阅终端必须确认订阅才能收到推送消息,未确认的订阅终端不会收到消息。

向主题发布文本消息

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择您要向其发布消息的主题,在右侧“操作”栏单击“发布消 息”。

6. 在弹出的发布消息对话框中,主题名称为已选择的需要发布消息的主题名称,不 可修改。

其它参数根据界面提示填写,填写说明如表1-3所示。

1-3 发布消息参数说明

参数 说明

消息标题 消息的标题,长度必须少于512字节。可不填写。

消息类型 消息格式有三种,分别为“文本消息”、“JSON消息”

和“模板消息”。每次发布消息只可选取其中一种。

● “文本消息”:按文本格式发送的消息。

● “JSON消息”:按JSON格式发送的消息。

● “模板消息”:按模板格式发送的消息。模板定义请 参考消息模板管理。

消息内容 消息的内容。消息内容不能为空且大小不超过256KB。

消息内容格式如图1-7所示。

(14)

1-7 文本消息范例

7. 单击“确定”。

消息将推送至不同的订阅终端。各个终端接收到的消息内容说明请参考不同协议 消息说明。

1.6.3 向主题发布 JSON 消息

操作场景

如果您需要向不同的订阅协议发送不同的内容,可以向主题发布JSON消息,它可以定 义分别向短信、邮件、FunctionGraph(函数)、DMS和HTTP(S)订阅协议发送不同内 容。

前提条件

所有的订阅终端必须确认订阅才能收到推送消息,未确认的订阅终端不会收到消息。

向主题发布 JSON 消息

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择您要向其发布消息的主题,在右侧“操作”栏单击“发布消 息”。

6. 在弹出的发布消息对话框中,主题名称为已选择的需要发布消息的主题名称,不 可修改。其它参数根据界面提示填写。填写说明请参考表1-3。

用户指南 1 主题管理

(15)

此处“消息类型”选择“JSON消息”,“消息内容”可以手动输入JSON格式的 消息,也可以通过工具自动生成JSON格式的消息。消息内容的大小不超过 256KB。

– 手动输入JSON格式的消息,JSON格式的规范请参考JSON格式消息说明。

– 通过工具自动生成JSON格式的消息,请参考步骤7~10。

7. 单击“生成JSON消息”。

8. 在弹出的对话框中,在“消息”框中输入内容“This is a default message.”,在

“协议”处勾选所有协议。

选择不同的协议,生成的JSON格式消息的大小不同。此处输入消息内容后,系统 会自动计算已输入内容的字节数、生成的JSON格式消息的字节数以及剩余可输入 的字节数。生成的JSON格式消息的字节数包含消息框中显示的花括号、双引号、

空格、回车、协议名称和消息内容累计字节数。JSON格式消息的计算方法,请参 见JSON格式消息说明的JSON消息计算部分。

9. 单击“确定”,系统自动生成JSON消息并显示在消息内容框中。如图1-8所示。

1-8 JSON 消息

10. 您可以在生成的各个协议的消息内容中手动修改消息,这样就可以实现向不同协 议发送不同的消息内容。系统生成JSON格式的消息时默认生成“default”,当匹 配不到消息协议时,按“default”中的内容发送。关于JSON格式的消息描述,请 参考JSON格式消息说明。

11. 单击“确定”。

消息将推送至不同的订阅终端。各个终端接收到的消息内容说明请参考不同协议 消息说明。

1.6.4 向主题发布模板消息

操作场景

消息模板指消息的固定格式。如果您要发布的消息内容丰富,并且这条消息需要多次 发布,每次发布时需要变更的内容极少,此时您可以套用已创建的消息模板向订阅者 发送消息。

在相同的消息模板名称下面,可创建一个或多个不同协议类型的消息模板来适配不同 协议的订阅者,但必须包含一个Default协议类型的模板。不同协议类型的消息模板可

(16)

以设置不同的模板内容,使用{tag}占位符代替变量。如果没有预置的Default协议的模 板,将不允许发送该模板。

使用模板格式发送消息时,需要选择模板名称,名称选定后,系统会按照Default、

SMS、Email、HTTP、HTTPS、FunctionGraph(函数)、DMS的协议顺序,将该模 板名称下不同协议的所有模板内容中的{tag}标签列出,重复的{tag}只列出一次,并在 右侧显示拥有该{tag}的协议名称。设置{tag}值之后,消息通知服务会自动替换模板的 {tag}标签为对应的参数值。如果{tag}没有设置参数值,模板内容不做替换。消息通知 服务会按照模板名称和订阅者协议类型获取模板内容,如果对应订阅协议的模板内容 不存在,将使用Default模板内容发送。

在这一部分中,您可以按照模板格式进行消息推送至您设定的订阅终端地址。在发送 模板消息之前,您需要先创建好消息模板,关于消息模板的详细信息请参见《消息通 知服务用户指南》的“消息模板管理”章节。

前提条件

所有的订阅终端必须确认订阅才能收到推送消息,未确认的订阅终端不会收到消息。

创建模板

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” >“消息模板”。

5. 请参见消息模板管理的创建模板步骤创建消息模板。

例如使用以下信息创建模板 – 模板名称:“tem_001”

– 协议:“Default”

– 模板内容:“The Arts and Crafts Exposition will be held from {startdate}

through {enddate}. We sincerely invite you to join us. ”

用户指南 1 主题管理

(17)

向主题发布模板消息

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择您要向其发布消息的主题,在右侧“操作”栏单击“发布消 息”。

6. 在弹出的发布消息对话框中,主题名称为已选择的需要发布消息的主题名称,不 可修改。其它参数根据界面提示填写。

此处“消息类型”选择“模板消息”,“消息内容”可以手动输入模板消息,也 可以通过工具自动生成模板格式的消息。消息内容不能为空且大小不超过 256KB。

– 手动输入模板格式的消息,模板格式规范请参见《消息通知服务用户指南》

的附录“模板格式消息说明”部分。

– 通过工具自动生成模板格式的消息,请参见步骤7~10。

7. 单击“生成模板消息”。

8. 在弹出的对话框中选择模板“tem_001”并在“变量”页签中设置“值”。

系统自动将设置的值替换,其他内容则与模板内容保持一致。此处选择的模板名 称下只有Default协议的模板,则该主题下所有已确认的订阅终端地址均可收到该 模板消息。如图1-9所示。

1-9 生成消息模板

9. 选择“预览”页签,单击“消息预览”,预览模板消息。

该条模板消息的消息内容为“The Arts and Crafts Exposition will be held from February 10 through February 21. We sincerely invite you to join us. ”,如图

1-10所示。

(18)

1-10 预览模板消息

10. 单击“确定”。

生成的消息内容显示模板名称和所有{tag}标签。如图1-11所示。

1-11 模板消息范例

11. 单击“确定”。

消息将推送至不同的订阅终端。各个终端接收到的消息内容说明请参考《消息通 知服务用户指南》的附录“不同协议消息说明”部分。

1.7 删除主题

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

用户指南 1 主题管理

(19)

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击右侧“操作”栏的“更多”,在下拉列表中 选择“删除”。

6. 单击“是”,完成删除。

说明

删除主题时,将会删除该主题的所有订阅。

(20)

2 订阅管理

2.1 添加订阅

操作场景

订阅是您将订阅者注册到主题的操作。要接收发布至主题的消息,您必须订阅一个订 阅终端到该主题。终端节点可以是手机号码、邮箱地址、函数、DMS或HTTP(S)终 端。为终端节点订阅主题且确认订阅后,终端节点能够接收到向该主题发布的所有消 息。

您可以拥有多个主题,每个主题有多个订阅者。当您需要向创建的主题添加订阅者以 及删除订阅等操作,或者向已获取授权的主题添加订阅者时,可参考本章节。

添加订阅

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” >“订阅”。

5. 在订阅页面。单击“添加订阅”,开始添加消息订阅。

此时将显示“添加订阅”页面。

用户指南 2 订阅管理

(21)

2-1 添加订阅

6. 向指定主题添加订阅。

a. 单击“主题名称”输入框右侧的 ,在弹出的选择主题对话框中选择主题。

b. 在“协议”下拉框中选择订阅终端支持的协议,在“订阅终端”输入框中输 入对应的订阅终端,填写说明如表2-1所示。

2-1 添加订阅参数说明

参数 说明

主题名称 在弹出的对话框中选择的主题的名称。

协议 在下拉框中选择需要订阅终端支持的协议,提供的选项为

“短信”、“邮件”、“HTTP”、“HTTPS”、

“FunctionGraph(函数)”以及“DMS”。

(22)

参数 说明

订阅终端 订阅的终端地址,短信、邮件、应用、HTTP以及HTTPS终 端支持批量输入,批量添加时,每个终端地址占一行。最多 可输入10个终端。

● 选择“短信”终端,请输入有效手机号码。

输入规则为[+] [国家码][手机号码]。国内手机号码可省 略[+]或[+] [国家码]。

例如:

+8600000000000 +8600000000001

● 选择“邮件”终端,请输入有效的邮箱地址。

例如:

[email protected] [email protected]

● 选择“HTTP”终端,请输入公网网址。

例如:

http://example.com/notification/action

● 选择“HTTPS”终端,请输入公网网址。

https://example.com/notification/action

● 选择“FunctionGraph(函数)”终端,表示订阅终端是 一个函数,单击输入框右侧的 选择订阅终端,在“版 本”的下拉框中选择可用版本。

● 选择“DMS”终端,表示订阅终端是一个消息队列,单 击输入框右侧的 选择订阅终端。选择DMS队列时,需 要在队列策略中给SMN服务授权“ProduceMessages”

权限,具体操作请参考《分布式消息服务用户指南》中 的策略管理。

目前只支持已使用该协议的存量用户,未使用该协议的 用户不支持。

● 选择“应用”终端,表示订阅终端是平台应用的终端。

您需在平台应用的应用详情中获取终端的URN,在输入 框中输入终端URN。

目前只支持已使用该协议的存量用户,未使用该协议的 用户不支持。

7. 单击“确定”。

新增订阅将显示在页面下方的订阅列表中。

用户指南 2 订阅管理

(23)

说明

● 为了防止恶意攻击订阅终端,我们会对订阅终端进行流控保护,触发流控规则后,消息 通知服务不再发送订阅确认消息,具体的保护规则请参见《消息通知服务用户指南》的 附录“订阅确认流控说明”部分。

● 消息通知服务不会校验订阅终端是否真实存在。

● 添加订阅后,消息通知服务会向订阅终端发送订阅确认信息,信息中包含订阅确认的链 接。订阅确认的链接在48小时内有效,用户需要及时在手机端、邮箱或其他协议终端 确认订阅。

2.2 请求订阅

操作场景

如果订阅者未收到订阅请求消息,用户可以再次请求订阅,请求订阅的流控规则请见 订阅确认流控说明。可一次向一个或多个订阅终端发送确认请求。

请求订阅

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” >“订阅”。

5. 在订阅列表中,选择一个或多个“状态”为“未确认”的订阅。

6. 单击订阅列表上方的“请求订阅”,确定发送该订阅的确认请求。

7. 获取请求订阅消息,确认订阅。

说明

● 为了防止恶意攻击订阅终端,我们会对订阅终端进行流控保护,触发流控规则后,消息 通知服务不再发送订阅确认消息,具体的保护规则请参见订阅确认流控说明。

● 消息通知服务不会校验订阅终端是否真实存在。

● 添加订阅后,消息通知服务会向订阅终端发送订阅确认信息,信息中包含订阅确认的链 接。订阅确认的链接在48小时内有效,用户需要及时在手机端、邮箱或其他协议终端 确认订阅。

2.3 取消订阅

操作场景

订阅者订阅了主题之后,会收到系统发出的确认请求消息。只有订阅者确认订阅才能 收到消息。当订阅者不需要收到消息时,可取消订阅。

注意

目前SMN服务的订阅管理能力对终端订阅者开放,终端订阅者必须保护好自己的订阅 链接,避免被其他人窃取后无法收到或收到非本人期望得到的通知信息。

(24)

取消订阅

不同的订阅协议对应不同的取消订阅方式:

● 短信取消订阅:因为短信长度有限,无法每次推送消息时候附带取消订阅的链 接,用户需通过请求确认的链接进入WEB页面进行取消订阅。

● 邮件取消订阅:消息通知服务向指定邮箱地址发送电子邮件消息,其中包含取消 订阅的链接,订阅者点击进入取消订阅的页面。如果取消成功,页面会显示取消 订阅成功,稍后消息通知服务会向这个订阅者发送一封确认取消订阅的邮件(48小 时内有效)。如果误操作了取消订阅,可以通过该消息重新订阅。

● HTTP(S)取消订阅,消息通知服务向指定的URL发送消息。消息体中包含取消订阅 的链接,订阅者需要访问该链接,如果取消订阅成功,将获取HTTPS协议的200返 回码,稍后消息通知服务会向这个订阅者发送一次取消订阅的消息(48小时内有 效)。如果误操作了取消订阅,可以通过访问重新订阅的链接重新订阅。HTTP(S) 消息头和消息体参数含义请参见HTTP(S)终端节点使用样例简介。

2.4 删除订阅

操作场景

当消息订阅者无需接收某主题推送的消息时,您可删除该订阅终端。支持批量删除。

删除订阅

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” > “主题”。

进入主题页面。

5. 在主题列表中,选择一个主题,单击主题名称,进入主题详情页面。

6. 在主题详情页面下方区域的“订阅总数”,查看该主题的订阅列表。

7. 选择一个或者多个订阅终端,单击订阅列表上方的“删除”。

8. 在弹出框中单击“是”,完成订阅终端的删除。

用户指南 2 订阅管理

(25)

3 消息模板管理

操作场景

消息模板指消息的固定格式,发布消息时可以使用已创建的消息模板向订阅者发送消 息。使用模板发送消息,发送时会自动替换模板变量为对应的参数值。

消息模板通过消息名称进行分组,消息名称下面可以根据不同的协议创建不同的模 板。每个模板名称下面都必须要创建一个Default模板。当按照模板格式推送消息时,

不同协议订阅者优先会选择模板名称下面对应的协议模板,如果对应的协议模板不存 在,则采用默认Default的模板。如果没有预置的Default协议的模板,将不允许发送该 模板。

当您需要发送模板格式的消息时,可参考本章节管理消息模板。

创建模板

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 选择“管理与监管” > “消息通知服务”。

进入消息通知服务页面。

4. 在左侧导航栏,选择“主题管理” >“消息模板”。

5. 在消息模板页面。单击“创建消息模板”,开始创建消息模板。

此时将显示“创建消息模板”页面。

(26)

3-1 创建消息模板

6. 在“模板名称”框中,输入模板名称,选择所使用的“协议”,在“模板内容”

框中输入模板内容,参数说明如表3-1所示。

3-1 创建消息模板参数说明

参数 说明

模板名称 创建的模板名称,用户可自定义名称,规范如下:

● 只能包含字母,数字,短横线(-)和下划线(_),只能以字母 或数字开头。

● 名称长度限制在1-64字节之间。

● 一旦创建后不能再修改。

协议 设置选择该模板推送消息时的接收终端类型,模板一旦选定不 能再修改。

取值范围为:Default、短信、HTTP、HTTPS、FunctionGraph

(函数)、DMS和邮件。

协议默认为“Default”。如果用户不选择协议,则使用默认 值。

模板内容 用户可自定义模板内容。

请以{tag}作为占位符创建模板,在使用该模板发送消息时,

{tag}可以被替换成具体内容。tag只能包含大写字母、小写字 母、数字、-、_和.,且必须由大写字母、小写字母或数字开 头。长度最长21个字符。

模板内容具体规则如下:

● 模板内容仅支持纯文本格式。

● 模板内容不能为空。

● 模板内容大小至多为256KB。

● 模板内容中允许最多90个(不重复的)标签和256个(计算 重复的)标签。

● 发送消息时,每个标签允许的值大小为1KB.

用户指南 3 消息模板管理

(27)

例如使用以下信息创建模板 – 模板名称:“tem_001”

– 协议:“Default”

– 模板内容:“The Arts and Crafts Exposition will be held from {startdate}

through {enddate}. We sincerely invite you to join us. ”

7. 单击“确定”。

新创建的模板会显示在页面下方模板列表中。

修改模板

1. 在消息模板页面模板列表中,选择需要修改的消息模板名称。

2. 单击右侧“操作”栏的“修改”,修改“模板内容”。

删除模板

1. 在消息模板页面模板列表中,选择需要删除的消息模板名称。

2. 单击右侧“操作”栏的“删除”,确认删除该消息模板。

(28)

4 记录消息通知服务

4.1 记录消息通知服务简介

通过云审计服务,您可以记录与消息通知服务相关的操作事件(例如发出了何种请 求、发出请求的源IP地址、何人发出的请求以及发出请求的时间),便于日后的查 询、审计和回溯。

云审计记录的操作类型有三种,通过云平台帐户登录管理控制台执行的操作,通过云 服务支持的API执行的操作,以及系统内部触发的操作。

4.2 支持审计的关键操作列表

在您的帐户中启用云审计服务后,当SMN服务的API被调用时,日志文件将跟踪记录该 操作,并依据时间和数据的变化将日志文件转储到对象存储桶。

如果您在没有登录的情况下调用SMN的取消订阅(Unsubscribe)操作,云审计则不会 记录这些操作。例如,当您需要取消订阅时,在电子邮件通知中单击取消订阅的链 接,此时会在未登录的情况下调用Unsubscribe,这种情况下您的取消订阅操作则不会 被云审计记录。

云审计支持的消息通知服务操作列表如表4-1所示。

4-1 云审计支持的 SMN 操作列表

操作名称 资源类型 事件名称

创建主题 topic createTopic 删除主题 topic deleteTopic 更新主题 topic updateTopic

更新主题策略 topic updateTopicAttribute 删除所有主题策略 topic deleteTopicAttributes

删除指定名称的主题策略 topic deleteTopicAttributeByName

用户指南 4 记录消息通知服务

(29)

操作名称 资源类型 事件名称 添加订阅 subscription subscribe 取消订阅 subscription unsubscribe

创建消息模板 message_template createMessageTemplate 批量创建消息模板 message_template batchCreateMessageTemplate 更新消息模板 message_template updateMessageTemplate 删除消息模板 message_template deleteMessageTemplate 创建短信签名 sms createSmsSign

删除短信签名 sms deleteSmsSign 更新短信回调事件 sms updateSmsEvent

4.3 查看审计日志

操作场景

在您开启了云审计服务后,系统开始记录云服务资源的操作。云审计服务管理控制台 保存最近7天的操作记录。

本节介绍如何在云审计服务管理控制台查看或导出最近7天的操作记录。

操作步骤

1. 登录管理控制台。

2. 在管理控制台左上角单击 图标,选择区域和项目。

3. 单击“服务列表”,选择“管理与监管 > 云审计服务”,进入云审计服务信息页 面。

4. 单击左侧导航树的“事件列表”,进入事件列表信息页面。

5. 事件列表支持通过筛选来查询对应的操作事件。当前事件列表支持四个维度的组 合查询,详细信息如下:

– 事件类型、事件来源、资源类型和筛选类型。

在下拉框中选择查询条件。

“筛选类型”选择“事件名称”时,还需选择某个具体的事件名称;

“筛选类型”选择“资源ID”时,还需手动输入某个具体的资源ID。

“筛选类型”选择“资源名称”时,还需选择或手动输入某个具体的资 源名称。

– 操作用户:在下拉框中选择某一具体的操作用户,此操作用户指用户级别,

而非租户级别。

– 事件级别:可选项为“所有事件级别”、“Normal”、“Warning”、

“Incident”,只可选择其中一项。

(30)

– 时间范围:可选择查询最近七天内任意时间段的操作事件。

6. 在需要查看的记录左侧,单击 展开该记录的详细信息。

7. 在需要查看的记录右侧,单击“查看事件”,弹出的窗口显示该操作事件结构的 详细信息。如图4-1所示。

4-1 查看事件

日志记录条目

云审计中每个日志条目都由一个JSON格式的事件组成。一个日志条目表示一条SMN接 口请求,内容主要包括所请求的操作、操作的时间和日期、所操作的参数以及生成该 请求的用户信息,其中用户信息来自统一身份认证服务。

以下示例显示了CreateTopic、DeleteTopic和UpdateTopic操作的CloudTrace记录条 目。{

"time": "2017-02-15 14:21:50 GMT+08:00", "user": "xxx",

"request": "xxx", "response": "xxx", "code": 200,

"service_type": "SMN", "resource_type": "topic",

"resource_id": "topicUrn instance", "source_ip": "127.0.0.1",

"trace_name": "createTopic", "trace_rating": "normal", "trace_type": "ApiCall", "api_version": "2.0",

"project_id": "tenantId instance",

用户指南 4 记录消息通知服务

(31)

"record_time": "2017-02-15 14:21:50 GMT+08:00", "trace_id": "xxx"

}

{ "time": "2017-02-15 14:12:15 GMT+08:00", "user": "xxx",

"response": "xxx", "code": 200,

"service_type": "SMN", "resource_type": "topic",

"resource_id": "topicUrn instance", "source_ip": "127.0.0.1",

"trace_name": "deleteTopic", "trace_rating": "normal", "trace_type": "ApiCall", "api_version": "2.0",

"project_id": "tenantId instance",

"record_time": "2017-02-15 14:12:15 GMT+08:00", "trace_id": "xxx"

}

{ "time": "2017-02-13 15:38:30 GMT+08:00", "user": "xxx",

"request": "xxx", "response": "xxx", "code": 200,

"service_type": "SMN", "resource_type": "topic",

"resource_id": "topicUrn instance", "source_ip": "127.0.0.1",

"trace_name": "updateTopic", "trace_rating": "normal", "trace_type": "ApiCall", "api_version": "2.0",

"project_id": "tenantId instance",

"record_time": "2017-02-13 15:38:30 GMT+08:00", "trace_id": "xxx"

}

(32)

5 权限管理

5.1 创建用户并授权使用 SMN

如果您需要对您所拥有的SMN进行精细的权限管理,您可以使用统一身份认证服务

(Identity and Access Management,简称IAM),通过IAM,您可以:

● 根据企业的业务组织,在您的华为云帐号中,给企业中不同职能部门的员工创建 IAM用户,让员工拥有唯一安全凭证,并使用SMN资源。

● 根据企业用户的职能,设置不同的访问权限,以达到用户之间的权限隔离。

● 将SMN资源委托给更专业、高效的其他华为云帐号或者云服务,这些帐号或者云 服务可以根据权限进行代运维。

如果华为云帐号已经能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章 节,不影响您使用SMN服务的其它功能。

本章节为您介绍对用户授权的方法,操作流程如图5-1所示。

前提条件

给用户组授权之前,请您了解用户组可以添加的SMN权限,并结合实际需求进行选 择,SMN支持的系统权限,请参见:SMN系统权限。如果您需要对除SMN之外的其它 服务授权,IAM支持服务的所有权限请参见系统权限。

用户指南 5 权限管理

(33)

示例流程

5-1 给用户授予 SMN 权限流程

1. 创建用户组并授权

在IAM控制台创建用户组,并授予消息通知服务权限“SMN Administrator”。

2. 创建用户并加入用户组

在IAM控制台创建用户,并将其加入1中创建的用户组。

3. 用户登录并验证权限

新创建的用户登录控制台,切换至授权区域,验证权限:

– 在“服务列表”中选择消息通知服务,进入SMN的“总览 > 主题”页面,单 击右上角“创建主题”,尝试创建主题,如果创建主题成功,表示“SMN Administrator”已生效。

– 在“服务列表”中选择除消息通知服务外(假设当前权限仅包含SMN Administrator)的任一服务,如果提示权限不足,表示“SMN Administrator”已生效。

5.2 SMN 自定义策略

如果系统预置的SMN权限,不满足您的授权要求,可以创建自定义策略。自定义策略 中可以添加的授权项(Action)请参考《消息通知服务接口参考》中“ 策略及授权项

说明”章节。

目前华为云支持以下两种方式创建自定义策略:

● 可视化视图创建自定义策略:无需了解策略语法,按可视化视图导航栏选择云服 务、操作、资源、条件等策略内容,可自动生成策略。

● JSON视图创建自定义策略:可以在选择策略模板后,根据具体需求编辑策略内 容;也可以直接在编辑框内编写JSON格式的策略内容。

具体创建步骤请参见:创建自定义策略。本章为您介绍常用的SMN自定义策略样例。

(34)

SMN 自定义策略样例

● 示例1:授权用户创建主题

{ "Version": "1.1", "Statement": [ {

"Effect": "Allow", "Action": [

"smn:topic:create"

] } ] }

● 示例2:拒绝用户删除主题

拒绝策略需要同时配合其他策略使用,否则没有实际作用。用户被授予的策略 中,一个授权项的作用如果同时存在Allow和Deny,则遵循Deny优先原则。

如果您给用户授予SMN FullAccess的系统策略,但不希望用户拥有SMN

FullAccess中定义的删除主题权限,您可以创建一条拒绝删除主题的自定义策略,

然后同时将SMN FullAccess和拒绝策略授予用户,根据Deny优先原则,则用户可 以对SMN执行除了删除主题外的所有操作。拒绝策略示例如下:

{ "Version": "1.1", "Statement": [ {

"Effect": "Deny", "Action": [

"smn:topic:delete"

] } ] }

● 示例3:多个授权项策略

一个自定义策略中可以包含多个授权项,且除了可以包含本服务的授权项外,还 可以包含其他服务的授权项,可以包含的其他服务必须跟本服务同属性,即都是 项目级服务或都是全局级服务。多个授权语句策略描述如下:

{ "Version": "1.1", "Statement": [ {

"Effect": "Allow", "Action": [

"smn:topic:create", "smn:tag:create", "smn:application:create"

] }, {

"Effect": "Allow", "Action": [

"elb:certificates:create", "elb:whitelists:create", "elb:pools:create", "elb:members:create", "elb:healthmonitors:create", "elb:l7policies:create", "elb:listeners:create", "elb:loadbalancers:create"

] } ] }

用户指南 5 权限管理

(35)

6 关于配额

什么是配额?

为防止资源滥用,平台限定了各服务资源的配额,对用户的资源数量和容量做了限 制。如您最多可以创建多少台弹性云服务器、多少块云硬盘。

如果当前资源配额限制无法满足使用需要,您可以申请扩大配额。

怎样查看我的配额?

1. 登录管理控制台。

2. 单击管理控制台左上角的 ,选择区域和项目。

3. 在页面右上角,选择“资源 > 我的配额”。

系统进入“服务配额”页面。

6-1 我的配额

4. 您可以在“服务配额”页面,查看各项资源的总配额及使用情况。

如果当前配额不能满足业务要求,请参考后续操作,申请扩大配额。

如何申请扩大配额?

1. 登录管理控制台。

2. 在页面右上角,选择“资源 > 我的配额”。

系统进入“服务配额”页面。

(36)

6-2 我的配额

3. 单击“申请扩大配额”。

4. 在“新建工单”页面,根据您的需求,填写相关参数。

其中,“问题描述”项请填写需要调整的内容和申请原因。

5. 填写完毕后,勾选协议并单击“提交”。

用户指南 6 关于配额

(37)

A 附录

A.1 JSON 格式消息说明

JSON 格式体说明

JSON格式主要用来处理用户想对不同的订阅者类型发送不同的消息,目前支持的协议 Default、HTTP、HTTPS、email、FunctionGraph(函数)以及DMS,其中Default是 必须的,Email的内容将发给邮件类型的订阅者,其它协议依次如下所示:

{ "default": "Dear Sir or Madam, this is a default message.", "email": "Dear Sir or Madam, this is an email message.",

"http": "{'message':'Dear Sir or Madam, this is an HTTP message.'}", "https": "{'message':'Dear Sir or Madam, this is an HTTPS message.'}", "sms": "This is an SMS message.",

"functionstage": "Dear Sir or Madam, this is a functiongraph(function) message.", "functiongraph": "Dear Sir or Madam, this is a functiongraph(workflow) message.", "dms":"Dear Sir or Madam, this is a DMS message."

}

推荐将Default设置为通用的消息内容,对于特殊的订阅者类型再设置相应消息内容。

以下示例展现由于短信内容长度有限制,将短信设置为特殊的消息,其中HTTP、

HTTPS、Email、FunctionGraph(函数)以及DMS类型的订阅收到"Dear Sir or Madam, this is a default message."的内容,而SMS类型的订阅者收到“This is an SMS message”。

{ "sms": "This is an SMS message.",

"default": "Dear Sir or Madam, this is a default message."

}

JSON 格式约束

● 满足JSON格式要求。

● JSON格式中必须有Default协议。

● 整个JSON消息的大小不超过256KB。

(38)

JSON 消息计算

选择不同的协议,生成的JSON格式消息的大小不同。JSON格式消息的字节数包含消 息框中显示的花括号、双引号、空格、回车、协议名称和消息内容累计字节数。具体 字节计算方式以输入消息“This is a default message.”为例。

消息:“This is a default message.”,消息本身包含26个字节。

输入消息,选择协议,生成JSON消息时,系统默认生成Default协议的消息。

{ "default": "This is a default message.", "protocol1": "This is a default message.", "protocol2": "This is a default message.", ……}

1个Default协议加上用户选择的协议个数,记为N。

消息体包含的固定字节数:

● 每种协议的消息包含3个空格,共N个协议:3× N = 3N

● 每种协议的消息包含4个双引号,共N个协议: 4 × N = 4N

● 每种协议的消息包含1个冒号,共N个协议:1 × N = N

● 每种协议的消息包含1条消息内容This is a default message.,共N个协议:26 × N = 26N

● 逗号(N - 1)个:1 × (N - 1) = (N - 1)

● 回车(N + 1)个:1 ×(N + 1) = (N + 1)

● 花括号2个:1 × 2 = 2

● 协议名称 default 1个:7 × 1 = 7 选择的协议字节数:

● 协议名称 HTTP 1个:4 × 1 = 4

● 协议名称 HTTPS1个:5 × 1 = 5

● 协议名称 email 1个:5 × 1 = 5

● 协议名称 sms 1个:3 × 1 = 3

● 协议名称 functionstage 1个:13 × 1 = 13

● 协议名称 functiongraph 1个:13 × 1 = 13

● 协议名称 DMS 1个:3 × 1 = 3 合计:36N + 9 + 选择的协议字节数

例如,您选择了“HTTP”、“HTTPS”和“email”3个协议,生成的消息如下:

{ "default": "This is a default message.", "email": "This is a default message.", "http": "This is a default message.", "https": "This is a default message."

}

加上Default,则N的值为4,生成的JSON消息字节数计算如下:

● 固定字节数:36 × 4 + 9 = 153

● 协议名称 HTTP 1个:4 × 1 = 4

用户指南 A 附录

(39)

● 协议名称 HTTPS 1个:5 × 1 = 5

● 协议名称 email 1个:5 × 1 = 5 合计:153 + 4 + 5 + 5 = 167

A.2 模板格式消息说明

模板格式消息指固定格式的消息,可以通过tag的方式来处理变量的部分。

通过模板发送消息,建议消息大小不超过256KB,模板格式消息如下所示:

"message_template_name":"confirm_message",

"tags":{

"topic_urn":"urn:smn:regionId:xxxx:SMN_01"

}

参数 说明

message_template_name 模板名称,不能为空。模板名称可以在消息模板列表 中获取,模板名称下面必须有一个Default协议的模 板,没有匹配上的模板采用Default模板。

tags 模板中出的占位符标签,模板名称下面有不同的模

板,不同的模板可能tags不一样,用户在此处需要把 所有的tag标签都填在tags内,他是一个jsonmap对象

A.3 不同协议消息说明

不同的订阅协议接收到的消息包含的内容有所不同。

● 邮件和HTTP(S)终端收到的消息包含:消息主题、消息内容和取消订阅的链接。

● 短信终端接收到的消息只包含消息内容。

● FunctionGraph(函数)终端收到的消息包含消息属性、消息标题、消息内容、主 题URN等信息。消息样例类似如下。字段说明如表A-1所示。

{ "record": [{

"event_version": "1.0", "smn": {

"message_attributes": "", "subject": "Welcome",

"message_id": "e6fa59c6b3e0424c9c02cbed35b680e7",

"topic_urn": "urn:smn:regionId:66e0f4622d6f4e3fb2db2e495298a61a:smn_123", "type": "notification",

"message": "Hello",

"timestamp": "2017-08-17T10:07:14Z" }, "event_source": "smn",

"event_subscription_urn": "urn:cff:regionId:

66e0f4622d6f4e3fb2db2e495298a61a:function:DEFAULT:mytest:latest"

}]

}

(40)

A-1 字段说明

字段配置项 类型 说明

record JSON对象 消息列表

event_version String 版本 message_attributes String 消息属性

subject String 消息标题

message_id String 消息ID topic_urn String 主题URN

type String 消息类型

message String 消息内容

timestamp String 时间戳 event_source String 消息来源 event_subscription_urn String 订阅URN

● DMS终端收到的消息包含消息标题、消息内容、主题URN等信息。消息样例类似 如下。字段说明如表A-2所示。

{ "message":[{

"body":"{

"event_version":"1.0", "subject":"test", "event_source":"smn",

"event_subscription_urn":"urn:smn:regionId:c5acb70716ec4d489213da33e06b15f6:smn_123:47cff941a1 7f435ea5f6091d3579664e",

"message_id":"174a38fb1ef24724bf8043954b7330c9",

"topic_urn":"urn:smn:regionId:c5acb70716ec4d489213da33e06b15f6:smn_123", "type":"notification",

"message":"Hello",

"timestamp":"2017-10-24T09:37:02Z"

}"

]}}

A-2 字段说明

字段 类型 说明

message JSON对象 消息列表

body String 消息体

event_version String 版本 subject String 消息标题 event_source String 消息来源

用户指南 A 附录

(41)

字段 类型 说明 event_subscription_ur

n String 订阅URN

message_id String 消息ID topic_urn String 主题URN

type String 消息类型

message String 消息内容 timestamp String 时间戳

A.4 订阅确认流控说明

为了控制用户对订阅者进行恶意的攻击,我们对添加订阅时发送订阅确认消息进行了 流控。流控策略既适用于从控制台发送订阅确认消息也适用于通过调用API发送订阅确 认消息。根据不同的协议有不同的流控策略:

● 对于一个邮件订阅者,1个小时最多允许发送20次订阅确认消息,2天最多允许发 送40次订阅确认,如果超过这个阈值,将7天之内不对这个邮件订阅者发送订阅确 认邮件。如果这个邮件订阅者对这个用户的确认信息进行了确认,之前的流控规 则将清空置零。

● 对于一个短信订阅者,1个小时最多允许发送10次订阅确认消息,2天最多允许发 送20次订阅确认,如果超过这个阈值,将7天之内不对这个手机订阅者发送订阅确 认短信。如果这个手机订阅者对这个用户的确认信息进行了确认,之前的流控规 则将清空置零。

● 对于一个HTTP(S)订阅者,10分钟最多允许发送200次订阅确认消息。

A.5 国家(或地区)码

国家(或地区) 中文名 国家(或地区)码

Afghanistan 阿富汗 93

Albania 阿尔巴尼亚 355

Algeria 阿尔及利亚 213

American Samoa 美属萨摩亚 1684

Andorra 安道尔 376

Angola 安哥拉 244

Anguilla 安圭拉 1264

Antigua and Barbuda 安提瓜和巴布达 1268

Argentina 阿根廷 54

(42)

国家(或地区) 中文名 国家(或地区)码

Armenia 亚美尼亚 374

Aruba 阿鲁巴 297

Australia 澳大利亚 61

Austria 奥地利 43

Azerbaijan 阿塞拜疆 994

Bahamas 巴哈马 1242

Bahrain 巴林 973

Bangladesh 孟加拉国 880

Barbados 巴巴多斯 1246

Belarus 白俄罗斯 375

Belgium 比利时 32

Belize 伯利兹 501

Benin 贝宁 229

Bermuda 百慕大群岛 1441

Bhutan 不丹 975

Bolivia 玻利维亚 591

Bosnia and

Herzegovina 波斯尼亚和黑塞哥 维那

387

Botswana 博茨瓦纳 267

Brazil 巴西 55

British Indian Ocean

Territory 英属印度洋领地 246

Brunei 文莱 673

Bulgaria 保加利亚 359

Burkina Faso 布基纳法索 226

Burundi 布隆迪 257

Cambodia 柬埔寨 855

Cameroon 喀麦隆 237

Canada 加拿大 1

Cape Verde 佛得角 238 Cayman Islands 开曼群岛 1345

用户指南 A 附录

(43)

国家(或地区) 中文名 国家(或地区)码 Central African

Republic 中非共和国 236

Chad 乍得 235

Chile 智利 56

Colombia 哥伦比亚 57

Comoros 科摩罗 269

Republic Of The

Congo 刚果共和国 242

Democratic Republic

of the Congo 刚果民主共和国 243 Cook Islands 库克群岛 682 Costa Rica 哥斯达黎加 506

Croatia 克罗地亚 385

Curacao 库拉索 599

Cyprus 塞浦路斯 357

Czechia 捷克 420

Denmark 丹麦 45

Djibouti 吉布提 253

Dominica 多米尼克 1767

Dominican Republic 多米尼加共和国 1809

Ecuador 厄瓜多尔 593

Egypt 埃及 20

El Salvador 萨尔瓦多 503 Equatorial Guinea 赤道几内亚 240

Eritrea 厄立特里亚 291

Estonia 爱沙尼亚 372

Ethiopia 埃塞俄比亚 251 Falkland Islands 福克兰群岛 500 Faroe Islands 法罗群岛 298

Fiji 斐济 679

Finland 芬兰 358

(44)

国家(或地区) 中文名 国家(或地区)码

France 法国 33

French Guiana 法属圭亚那 594 French Polynesia 法属波利尼西亚 689

Gabon 加蓬 241

Gambia 冈比亚 220

Georgia 格鲁吉亚 995

Germany 德国 49

Ghana 加纳 233

Gibraltar 直布罗陀 350

Greece 希腊 30

Greenland 格陵兰岛 299

Grenada 格林纳达 1473

Guadeloupe 瓜德罗普岛 590 Guatemala 瓜地马拉 502

Guernsey 根西 44

Guinea 几内亚 224

Guinea-Bissau 几内亚比绍 245

Guyana 圭亚那 592

Haiti 海地 509

Honduras 洪都拉斯 504

Hong Kong (China) 中国香港 852

Hungary 匈牙利 36

Iceland 冰岛 354

India 印度 91

Indonesia 印度尼西亚 62

Iraq 伊拉克 964

Ireland 爱尔兰 353

Isle of Man 马恩岛 44

Israel 以色列 972

Italy 意大利 39

用户指南 A 附录

(45)

国家(或地区) 中文名 国家(或地区)码 Ivory Coast 科特迪瓦 225

Jamaica 牙买加 1876

Japan 日本 81

Jersey 泽西岛 44

Jordan 约旦 962

Kazakhstan 哈萨克斯坦 7

Kenya 肯尼亚 254

Kuwait 科威特 965

Kyrgyzstan 吉尔吉斯斯坦 996

Laos 老挝 856

Latvia 拉脱维亚 371

Lebanon 黎巴嫩 961

Lesotho 莱索托 266

Liberia 利比里亚 231

Libya 利比亚 218

Liechtenstein 列支敦士登 423

Lithuania 立陶宛 370

Luxembourg 卢森堡 352 Macau (China) 中国澳门 853

Macedonia 马其顿 389

Madagascar 马达加斯加 261

Malawi 马拉维 265

Malaysia 马来西亚 60

Maldives 马尔代夫 960

Mali 马里 223

Malta 马耳他 356

Marshall Islands 马绍尔群岛 692 Martinique 马提尼克 596 Mauritania 毛里塔尼亚 222 Mauritius 毛里求斯 230

(46)

国家(或地区) 中文名 国家(或地区)码

Mexico 墨西哥 52

Moldova 摩尔多瓦 373

Monaco 摩纳哥 377

Mongolia 蒙古 976

Montenegro 黑山 382

Montserrat 蒙特塞拉特岛 1664

Morocco 摩洛哥 212

Mozambique 莫桑比克 258

Myanmar 缅甸 95

Namibia 纳米比亚 264

Nauru 瑙鲁 674

Nepal 尼泊尔 977

Netherlands 荷兰 31 New Caledonia 新喀里多尼亚 687 New Zealand 新西兰 64 Nicaragua 尼加拉瓜 505

Niger 尼日尔 227

Nigeria 尼日利亚 234

Niue 纽埃岛 683

Norfolk Island 诺福克岛 672 Northern Cyprus 北塞浦路斯 90

Norway 挪威 47

Oman 阿曼 968

Pakistan 巴基斯坦 92

Palau 帕劳 680

Palestinian Territory 巴勒斯坦 970

Panama 巴拿马 507

Papua New Guinea 巴布亚新几内亚 675

Paraguay 巴拉圭 595

Peru 秘鲁 51

用户指南 A 附录

(47)

国家(或地区) 中文名 国家(或地区)码 Philippines 菲律宾 63

Poland 波兰 48

Portugal 葡萄牙 351

Qatar 卡塔尔 974

Réunion Island 留尼汪 262

Romania 罗马尼亚 40

Russia 俄罗斯 7

Rwanda 卢旺达 250

Saint Kitts and Nevis 圣基茨和尼维斯 1869 Saint Lucia 圣卢西亚 1758 Saint Pierre and

Miquelon 圣皮埃尔和密克隆 508 Saint Vincent and

The Grenadines 圣文森特和格林纳 丁斯

1784

Samoa 萨摩亚 685

San Marino 圣马力诺 378 Sao Tome and

Principe 圣多美和普林西比 239 Saudi Arabia 沙特阿拉伯 966

Senegal 塞内加尔 221

Serbia 塞尔维亚 381

Seychelles 塞舌尔 248 Sierra Leone 塞拉利昂 232

Singapore 新加坡 65

Sint Maarten (Dutch

Part) 荷属圣马丁 1721

Slovakia 斯洛伐克 421

Slovenia 斯洛文尼亚 386 Solomon Islands 所罗门群岛 677

Somalia 索马里 252

South Africa 南非 27 South Korea 韩国 82

(48)

国家(或地区) 中文名 国家(或地区)码

Spain 西班牙 34

Sri Lanka 斯里兰卡 94

Suriname 苏里南 597

Swaziland 斯威士兰 268

Sweden 瑞典 46

Switzerland 瑞士 41 Taiwan (China) 中国台湾 886 Tajikistan 塔吉克斯坦 992

Tanzania 坦桑尼亚 255

Thailand 泰国 66

Timor L'este 东帝汶 670

Togo 多哥 228

Tonga 汤加 676

Trinidad and Tobago 特立尼达和多巴哥 1868

Tunisia 突尼斯 216

Turkey 土耳其 90

Turkmenistan 土库曼斯坦 993 Turks and Caicos

Islands 特克斯和凯科斯群

岛 1649

Tuvalu 图瓦卢 688

Uganda 乌干达 256

Ukraine 乌克兰 380

United Arab Emirates 阿拉伯联合酋长国 971 United Kingdom 英国 44 United States 美国 1

Uruguay 乌拉圭 598

Uzbekistan 乌兹别克斯坦 998

Vanuatu 瓦努阿图 678

Venezuela 委内瑞拉 58

Vietnam 越南 84

用户指南 A 附录

(49)

国家(或地区) 中文名 国家(或地区)码 Virgin Islands, British 英属维尔京群岛 1284

Wallis and Futuna 瓦利斯和富图纳 681

Yemen 也门 967

Zambia 赞比亚 260

Zimbabwe 津巴布韦 263

A.6 授权操作与 SMN 接口的映射关系

A-3 授权操作与 SMN 接口的映射关系

授权操作 接口名称 接口功能

SMN:UpdateTopic UpdateTopic 修改主题的属性,目前 仅支持修改topic的 display_name字段。

SMN:DeleteTopic DeleteTopic 删除一个主题以及它的 所有订阅者。删除Topic 操作可能会导致未推送 的消息无法再推送给该 Topic的订阅者。

SMN:QueryTopicDetail QueryTopicDetail 查询Topic的详细信息。

SMN:ListTopicAttributes ListTopicAttributes 查询Topic的属性信息。

SMN:UpdateTopicAttribute UpdateTopicAttribute 更新Topic的属性。

SMN:DeleteTopicAttributes DeleteTopicAttributes 删除所有Topic属性。

SMN:DeleteTopicAttributeB

yName DeleteTopicAttributeByN

ame 删除指定名称的Topic属

性。

SMN:ListSubscriptionsByTop

ic ListSubscriptionsByTopic 分页获取特定主题的订 阅列表,订阅列表按照 订阅创建时间进行升序 排列。分页查询可以指 定offset以及limit。如 果指定主题不存在订阅 者,返回空列表。

SMN:Subscribe Subscribe 为指定Topic添加一个订 阅者,并向订阅者发送 一个确认的消息。待订 阅者进行ConfirmSubscription确 认后,该订阅者才能收 到Topic发布的消息。

數據

表 A-1 字段说明 字段配置项 类型 说明 record JSON对象 消息列表 event_version String 版本 message_attributes String 消息属性 subject String 消息标题
表 A-5 HTTP(S)订阅确认消息的格式参数说明 参数 说明 type 消息类型,SubscriptionConfirmation。 signature 签名信息。 签名字段包括message,message_id,subscribe_url, timestamp,topic_urn和type,具体签名信息校验,请参 见校验消息签名。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本信息,目前是V1。 mess
表 A-6 HTTP(S)推送消息的格式参数说明 参数 说明 type 消息类型,Notification。 signature 签名信息。 签名字段包括message,message_id,subject, timestamp,topic_urn和type,具体签名信息校验,如果 subject不存在,则不参与校验,请参见校验消息签名。 subject 消息标题。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本
表 A-7 HTTP(S)取消订阅消息的格式参数说明 参数 说明 type 消息类型,UnsubscribeConfirmation。 signature 签名信息。 签名字段包括message,message_id,subscribe_url、 timestamp,topic_urn和type,具体签名信息校验,请参见 校验消息签名。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本信息,目前是V1。 messa

參考文獻

相關文件

Resources for the TEKLA curriculum at Junior Secondary Topic: Business, Business Environment and Globalization Strategies and Management – Core Learning Elements1. Module

BAFS Learning and Teaching Example As at April 2009 The marketing promotional plan objective is to expand the local business into the North American market. Step 1:

Resources for the TEKLA curriculum at Junior Secondary Topic 5 Features of Financial Products Strategies and Management – Extension Learning Element1. Module E4

Resources for the TEKLA curriculum at Junior Secondary Topic 6 Simple &amp; Compound Interests and TVM Strategies and Management – Extension Learning Element1. Module E4

Resources for the TEKLA curriculum at Junior Secondary Topic 3 Buying Behaviour Strategies and Management – Extension Learning Element1. Module

Resources for the TEKLA curriculum at Junior Secondary Topic 4 Nature of Money Strategies and Management – Extension Learning Element1. Module E4

This part shows how selling price and variable cost changes affect the unit contribution, break-even point, profit, rate of return and margin of safety?. This is the

Referring to the Student Worksheet (p.2) of Activity 2, ask students to identify which situations incur pure risk and speculative risk respectively... Invite students to present