通知系统 (SNS - Simple Notification System)
通知系统SNS核心分为三部分,主题(Topic),平台(Application Platform),接收端(Application Endpoint)
- 主题(Topic):用于接收信息的通道。例如ZWatch可以将报警消息发送到某个主题,由主题分发给订阅的接收端。
- 平台(Application Platform):某些接收端需要通过平台发送信息,例如邮件接收端需要邮件服务器发送邮件,邮件服务器就被抽象成平台。目前只有邮件服务器和系统平台两种平台。系统平台用于给不需要平台的接收端(如钉钉和HTTP应用)发送信息
- 接收端(Application Endpoint):用于接收信息的终端,目前包含系统/邮箱/钉钉/HTTP应用/短信/Microsoft Teams。接收端只有订阅了主题后,才能接收到发送到该主题的信息。
当外部系统(如ZWatch)发送信息到主题后,主题会查找所有订阅该主题的接收端,然后通过该接收端所属的平台将信息发送出去。例如某个邮件接收端(邮箱地址)订阅了某个报警主题,当该报警主题接收到一条报警信息后,会通过该邮件接收端所属的平台(邮件服务器),发送报警邮件到该接收端代表的邮箱地址。
使用流程
- 用户创建一个主题,用于接收外部系统(如ZWatch)发来的信息
- 如果要使用邮件接收端,则先创建一个平台(邮件服务器)
- 创建接收端,并订阅步骤1中的主题
创建主题 (CreateSNSTopic)
CreateSNSTopic创建一个主题:CreateSNSTopic name=alarm-topic{
"inventory": {
"createDate": "Jan 25, 2018 8:28:01 PM",
"lastOpDate": "Jan 25, 2018 8:28:01 PM",
"name": "alarm-topic",
"state": "Enabled",
"uuid": "e034cef9ad3d43e0b3f9c0a316a0f25a"
},
"success": true
}参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| name | 资源名称 | 2.3 | ||
| description | 资源的详细描述 | 是 | 2.3 | |
| resourceUuid | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
删除主题 (DeleteSNSTopic)
DeleteSNSTopic删除一个主题。删除主题时,接收端和主题的订阅关系自动解除。DeleteSNSTopic uuid=e034cef9ad3d43e0b3f9c0a316a0f25a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| deleteMode | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
更改主题状态(ChangeSNSTopicState)
用户可以使用ChangeSNSTopicState启用/停用一个主题,主题停用后,发送到该主题的消息自动忽略,不会分发到订阅的接收端。
ChangeSNSTopicState uuid=e034cef9ad3d43e0b3f9c0a316a0f25a stateEvent=disable
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| stateEvent | 状态事件 |
|
2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
更新主题 (UpdateSNSTopic)
UpdateSNSTopic更新一个主题的名字或描述(description)字段:UpdateSNSTopic name=new-topic-name uuid=e034cef9ad3d43e0b3f9c0a316a0f25a参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| name | 资源名称 | 是 | 2.3 | |
| description | 资源的详细描述 | 是 | 2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询主题(QuerySNSTopic)
用户可以使用QuerySNSTopic查询主题:
QuerySNSTopic uuid=b86c9016b4f24953a9edefb53ca0678c
原生域查询(Primitive Fields of Query)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 2.3 | ||
| name | 请参见 资源属性 | 2.3 | ||
| description | 请参见 资源属性 | 是 | 2.3 | |
| state | 状态 | 2.3 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 2.3 | |
| createDate | 请参见 资源属性 | 2.3 | ||
| lastOpDate | 请参见 资源属性 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 |
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| endpoints | endpoints Inventory | 2.3 |
创建邮件服务器 (CreateSNSEmailPlatform)
用户可以使用CreateSNSEmailPlatform创建一个邮箱服务器(平台):
CreateSNSEmailPlatform name=my-sftp-server smtpServer=mail.zstack.org smtpPort=25 username=support@zstack.io password=password
{
"inventory": {
"createDate": "Jan 25, 2018 8:43:32 PM",
"lastOpDate": "Jan 25, 2018 8:43:32 PM",
"name": "my-sftp-server",
"smtpPort": 25,
"smtpServer": "mail.zstack.org",
"state": "Enabled",
"type": "Email",
"username": "support@zstack.io",
"uuid": "bec03e2d93224c7381782833e8b685ca"
},
"success": true
}
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| smtpServer | SMTP服务器地址 | 2.3 | ||
| smtpPort | SMTP端口 | 2.3 | ||
| username | 用户名 | 4.1.0 | ||
| password | 密码 | 是 | 2.3 | |
| name | 资源名称 | 2.3 | ||
| description | 资源的详细描述 | 是 | 2.3 | |
| resourceUuid | 是 | 2.3 | ||
| encryptType | 是 |
|
2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
- 添加邮箱服务器时,系统会自动检测用户名、密码、邮箱服务器地址、邮箱服务器端口、加密类型是否正确,等待时间不超过5秒。
测试邮件服务器 (ValidateSNSEmailPlatform)
用户可以使用ValidateSNSEmailPlatform测试邮箱服务器是否可用
ValidateSNSEmailPlatform uuid=bec03e2d93224c7381782833e8b685ca
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
删除应用平台 (DeleteSNSApplicationPlatform)
DeleteSNSApplicationPlatform删除应用平台:DeleteSNSApplicationPlatform uuid=bec03e2d93224c7381782833e8b685ca参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| deleteMode | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询邮件服务器 (QuerySNSEmailPlatform)
QuerySNSEmailPlatform查询一个邮箱服务器:QuerySNSEmailPlatform smtpServer=mail.zstack.org更新应用平台(UpdateSNSApplicationPlatform)
UpdateSNSApplicationPlatform uuid=b86c9016b4f24953a9edefb53ca0678c参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| name | 资源名称 | 是 | 2.3 | |
| description | 资源的详细描述 | 是 | 2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询应用平台(QuerySNSApplicationPlatform)
用户可以使用QuerySNSApplicationPlatform查询应用平台:
QuerySNSApplicationPlatform uuid=b3454k6ll687h23345jh24hk5
原生域查询(Primitive Fields of Query)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 2.3 | ||
| name | 请参见 资源属性 | 2.3 | ||
| description | 请参见 资源属性 | 是 | 2.3 | |
| type | 类型 | 2.3 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 2.3 | |
| createDate | 请参见 资源属性 | 2.3 | ||
| lastOpDate | 请参见 资源属性 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 |
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| endpoints | endpoints Inventory | 2.3 |
更改应用平台状态 (ChangeSNSApplicationPlatformState)
用户可以使用ChangeSNSApplicationPlatformState启用/停用应用平台。当应用平台停用后,不能再通过该平台发送邮件给接收端。
ChangeSNSApplicationPlatformState uuid=bec03e2d93224c7381782833e8b685ca stateEvent=disable
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| stateEvent | 状态事件 |
|
2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
创建邮箱接收端 (CreateSNSEmailEndpoint)
用户可以使用CreateSNSEmailEndpoint创建一个邮箱接收端:
CreateSNSEmailEndpoint name=operator email=operator@zstack.org
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| email地址 | 2.3.0 | |||
| emails | 是 | 3.7.0 | ||
| name | 资源名称 | 2.3.0 | ||
| description | 资源的详细描述 | 是 | 2.3.0 | |
| platformUuid | 应用平台UUID | 是 | 2.3.0 | |
| resourceUuid | 是 | 2.3.0 | ||
| tagUuids | 标签UUID列表 | 是 | 3.7.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
{
"inventory": {
"createDate": "Jan 25, 2018 8:57:14 PM",
"email": "operator@zstack.org",
"lastOpDate": "Jan 25, 2018 8:57:14 PM",
"name": "operator",
"platformUuid": "bec03e2d93224c7381782833e8b685ca",
"state": "Enabled",
"type": "Email",
"uuid": "b03b125230b0406ea198919954ae3928"
},
"success": true
}
- email: 接收邮件的email地址
- platformUuid:邮箱服务器UUID
查询邮箱接收端 (QuerySNSEmailEndpoint)
QuerySNSEmailEndpoint查询邮箱接收端:QuerySNSEmailEndpoint email~="%@zstack.org"创建HTTP接收端 (CreateSNSHttpEndpoint)
用户可以使用CreateSNSHttpEndpoint创建HTTP应用接收端
CreateSNSHttpEndpoint name=http url=http://localhost:8080/webhook-url username=url-username password=url-password
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| url | HTTP URL | 2.3 | ||
| username | 用户名 | 是 | 2.3 | |
| password | 密码 | 是 | 2.3 | |
| name | 资源名称 | 2.3 | ||
| description | 资源的详细描述 | 是 | 2.3 | |
| resourceUuid | 是 | 2.3 | ||
| platformUuid | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
{
"inventory": {
"createDate": "Jan 25, 2018 9:01:30 PM",
"lastOpDate": "Jan 25, 2018 9:01:30 PM",
"name": "http",
"platformUuid": "02d24b9b0a7f4ee1846f15cda248ceb7",
"state": "Enabled",
"type": "HTTP",
"url": "http://localhost:8080/webhook-url",
"username": "url-username",
"uuid": "d9d8186eeed245e0b18ec8deef185fb7"
},
"success": true
}
- url: web hook URL
- username: 可选,url的用户名,采用HTTP基本授权模式(basic authentication)
- password:可选,url的密码,采用HTTP基本授权模式
查询HTTP接收端 (QuerySNSHttpEndpoint)
QuerySNSHttpEndpoint查询HTTP接收端QuerySNSHttpEndpoint url~=http%创建钉钉接收端 (CreateSNSDingTalkEndpoint)
钉钉接收端采用钉钉机器人,用户可以使用CreateSNSDingTalkEndpoint创建钉钉接收端:
CreateSNSDingTalkEndpoint name=dingding url=https://oapi.dingtalk.com/robot/send?access_token=128f268950234c6c2f065fe88be6cc26d780e9d9863d63eae12be831605345 atPersonPhoneNumbers=+86-12900010002,+86-13977889933
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| url | 钉钉机器人URL | 2.3 | ||
| atAll | 是否消息@所有人 | 是 | 2.3 | |
| atPersonPhoneNumbers | 要@用户的电话号码 | 是 | 2.3 | |
| name | 资源名称 | 2.3 | ||
| description | 资源的详细描述 | 是 | 2.3 | |
| resourceUuid | 是 | 2.3 | ||
| platformUuid | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
{
"inventory": {
"atAll": false,
"atPersonPhoneNumbers": [
"+86-12900010002",
"+86-13977889933"
],
"createDate": "Jan 25, 2018 9:11:00 PM",
"lastOpDate": "Jan 25, 2018 9:11:00 PM",
"name": "dingding",
"platformUuid": "02d24b9b0a7f4ee1846f15cda248ceb7",
"state": "Enabled",
"type": "DingTalk",
"url": "https://oapi.dingtalk.com/robot/send?access_token=128f268950234c6c2f065fe88be6cc26d780e9d9863d63eae12be831605345",
"uuid": "2663ecb5356a4fbeb6cde202b2e6eaf1"
},
"success": true
}
- url: 钉钉机器人的webhook URL
- atAll:如果为true,则发送给钉钉的消息会@所有人,并且忽略atPersonPhoneNumbers字段
- atPersonPhoneNumbers:消息要@人员的电话号码。钉钉用电话号码注册,通过这种方式@群中的成员Note: 钉钉电话号码会补全国际区号,请点击钉钉头像查看电话号码的完整表示,例如 +86-18977550789
添加钉钉用户(AddSNSDingTalkAtPerson)
AddSNSDingTalkAtPerson向一个钉钉接收端增加一个要@成员的电话:AddSNSDingTalkAtPerson endpointUuid=2663ecb5356a4fbeb6cde202b2e6eaf1 phoneNumber=+86-18977550789参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| phoneNumber | 用户电话号码(钉钉用户以电话注册) | 2.3 | ||
| endpointUuid | 钉钉终端UUID | 2.3 | ||
| resourceUuid | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
删除钉钉用户(RemoveSNSDingTalkAtPerson)
RemoveSNSDingTalkAtPerson从一个钉钉接收端中删除一个要@成员的电话:RemoveSNSDingTalkAtPerson endpointUuid=2663ecb5356a4fbeb6cde202b2e6eaf1 phoneNumber=1897755078参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| endpointUuid | 钉钉接收端UUID | 2.3 | ||
| phoneNumber | 要删除的atPerson的电话 | 2.3 | ||
| deleteMode | 2.3 | |||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询钉钉接收端 (QuerySNSDingTalkEndpoint)
QuerySNSDingTalkEndpoint查询钉钉接收端:QuerySNSDingTalkEndpoint atAll=false删除接收端 (DeleteSNSApplicationEndpoint)
DeleteSNSApplicationEndpoint删除接收端(邮件/钉钉/HTTP应用/短信):DeleteSNSApplicationEndpoint uuid=2663ecb5356a4fbeb6cde202b2e6eaf1参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| deleteMode | 是 | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
更新接收端 (UpdateSNSApplicationEndpoint)
用户可以使用UpdateSNSApplicationEndpoint更新一个接收端的名字和描述信息。如果要更新接收端的特定字段(如url,email),删除再重建该接收端。
UpdateSNSApplicationEndpoint uuid=2663ecb5356a4fbeb6cde202b2e6eaf1 name=my-endpoint
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| name | 资源名称 | 是 | 2.3 | |
| description | 资源的详细描述 | 是 | 2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询接收端(QuerySNSApplicationEndpoint)
用户可以使用QuerySNSApplicationEndpoint查询报警器:
QuerySNSApplicationEndpoint
更改接收端(ChangeSNSApplicationEndpointState)
ChangeSNSApplicationEndpointState uuid=b86c9016b4f24953a9edefb53ca0678c stateEvent=enable参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 资源的UUID,唯一标示该资源 | 2.3 | ||
| stateEvent | 状态事件 |
|
2.3 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
创建阿里云短信接收端(CreateSNSAliyunSmsEndpoint)
CreateSNSAliyunSmsEndpoint accessKeyUuid=4eb00e2bf95bp5s505e6eccd647d9k35 name=AliyunSms参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| accessKeyUuid | 阿里云AccessKey信息Uuid | 3.7.0 | ||
| receivers | 短信接收者 | 是 | 3.7.0 | |
| name | 接收端名称 | 3.7.0 | ||
| description | 接收端的详细描述 | 是 | 3.7.0 | |
| platformUuid | 是 | 3.7.0 | ||
| resourceUuid | 是 | 3.7.0 | ||
| tagUuids | 标签UUID列表 | 是 | 3.7.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
验证阿里云短信接收端(ValidateSNSAliyunSmsEndpoint)
ValidateSNSAliyunSmsEndpoint uuid=56304854f10730adac30a81c1e8e8de4 phoneNumbers=13456788765参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 接收端的UUID,唯一标示该资源 | 3.7.0 | ||
| phoneNumbers | 验证短信接收者 | 3.7.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
添加短信接收者(AddSNSSmsReceiver)
AddSNSSmsReceiver phoneNumber=18912345678 endpointUuid=e0a8e9de43774027a486f3a47fa0b46c type=AliyunSms 参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| phoneNumber | 短信接收号码 | 3.7.0 | ||
| endpointUuid | 短信接收端Uuid | 3.7.0 | ||
| type | 短信接收端类型 |
|
3.7.0 | |
| description | 短信接收者描述 | 是 | 3.7.0 | |
| resourceUuid | 是 | 3.7.0 | ||
| tagUuids | 标签UUID列表 | 是 | 3.7.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
删除短信接收者(RemoveSNSSmsReceiver)
RemoveSNSSmsReceiver endpointUuid=196b91815e983d1397cb336a4fc9d054 phoneNumber=18812345678参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| endpointUuid | 短信接收端Uuid | 3.7.0 | ||
| phoneNumber | 短信接收号码 | 3.7.0 | ||
| deleteMode | 是 | 3.7.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
查询短信接收端(QuerySNSSmsEndpoint)
QuerySNSSmsEndpoint 原生域查询(Primitive Fields of Query)
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| platform | 3.7.0 | ||
| receivers | 3.7.0 | ||
| topics | 原生域查询(Primitive Fields of Query) | 3.7.0 |
添加邮箱地址到邮箱接收端(AddEmailAddressToSNSEmailEndpoint)
AddEmailAddressToSNSEmailEndpoint emailAddress=example@cloud.io endpointUuid=74220bbf0d8b3c6b943a294c2679ca69参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| emailAddress | 邮箱地址 | 3.7.0 | ||
| endpointUuid | 接收端uuid | 3.7.0 | ||
| resourceUuid | 是 | 3.7.0 | ||
| tagUuids | 标签UUID列表 | 是 | 3.7.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
更新接收端邮箱地址(UpdateEmailAddressOfSNSEmailEndpoint)
UpdateEmailAddressOfSNSEmailEndpoint emailAddressUuid=cb2b3d85e0da3a299c52c23510ba15dd endpointUuid=f305528eb6773a73beac3f94f79d3017参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| emailAddressUuid | 邮箱地址uuid | 3.7.0 | ||
| endpointUuid | 接收端uuid | 3.7.0 | ||
| emailAddress | 新邮箱地址 | 是 | 3.7.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
删除邮箱接收端的地址(DeleteEmailAddressOfSNSEmailEndpoint)
DeleteEmailAddressOfSNSEmailEndpoint emailAddressUuid=c9d1789432133840862986db31a8e3fb endpointUuid=7671c40279e23d1cba927a5726957fcb参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| emailAddressUuid | 3.7.0 | |||
| endpointUuid | 3.7.0 | |||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 | |
| timeout | 是 |
查询接收端邮箱地址(QuerySNSEmailAddress)
QuerySNSEmailAddress emailAddress=test@cloud.io原生域查询(Primitive Fields of Query)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 3.7.0 | ||
| emailAddress | 3.7.0 | |||
| endpointUuid | 3.7.0 | |||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 3.7.0 | |
| createDate | 请参见 资源属性 | 3.7.0 | ||
| lastOpDate | 请参见 资源属性 | 3.7.0 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.7.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.7.0 |
{
"inventories": [
{
"uuid": "102431efdb133a70b7e04347de22e396",
"emailAddress": "test@cloud.io",
"endpointUuid": "4ff65a1d7762348495dd0c4da110d7cd",
"createDate": "Oct 9, 2019 10:45:40 AM",
"lastOpDate": "Nov 14, 2017 10:20:57 PM"
}
]
}创建微软Teams接收端(CreateSNSMicrosoftTeamsEndpoint)
CreateSNSMicrosoftTeamsEndpoint url=http://teams-robot-url name=example参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| url | 连接器的url | 3.10.0 | ||
| name | 请参见 资源属性 | 3.10.0 | ||
| description | 请参见 资源属性 | 是 | 3.10.0 | |
| platformUuid | 应用平台UUID | 是 | 3.10.0 | |
| resourceUuid | 资源UUID | 是 | 3.10.0 | |
| tagUuids | 标签UUID列表 | 是 | 3.10.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.10.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.10.0 | |
| timeout | 是 |
查询微软Teams接收端(QuerySNSMicrosoftTeamsEndpoint)
QuerySNSMicrosoftTeamsEndpoint uuid=e18d0fd90b513f71889d4c2dd38879bf原生域查询(Primitive Fields of Query)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| uuid | 请参见 资源属性 | 是 | 3.10.0 | |
| createDate | 请参见 资源属性 | 是 | 3.10.0 | |
| description | 请参见 资源属性 | 是 | 3.10.0 | |
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 3.10.0 | |
| lastOpDate | 请参见 资源属性 | 是 | 3.10.0 | |
| name | 请参见 资源属性 | 是 | 3.10.0 | |
| platformUuid | 应用平台UUID | 是 | 3.10.0 | |
| state | 状态 | 是 | 3.10.0 | |
| type | 类型 | 是 | 3.10.0 | |
| url | 连接器的url | 是 | 3.10.0 | |
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 3.10.0 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 3.10.0 |
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| platform | platform Inventory | 3.10.0 | |
| topics | 原生域查询(Primitive Fields of Query) | 3.10.0 |
订阅主题 (SubscribeSNSTopic)
用户可以使用SubscribeSNSTopic将一个接收端订阅到一个主题。订阅完成后,发送到该主题的消息会自动发送给接收端。
SubscribeSNSTopic endpointUuid=b03b125230b0406ea198919954ae3928 topicUuid=e034cef9ad3d43e0b3f9c0a316a0f25a
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| topicUuid | 应用主题UUID | 2.3 | ||
| endpointUuid | 终端UUID | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
查询订阅主题的终端 (QuerySNSTopicSubscriber)
用户可以用QuerySNSTopicSubscriber查看有哪些endpoint订阅了某个主题:
QuerySNSTopicSubscriber topicUuid=71efab26b4f84a62b001ec9b222efe47
原生域查询(Primitive Fields of Query)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| topicUuid | 主题UUID | 2.3.1 | ||
| endpointUuid | 终端UUID | 2.3.1 | ||
| groupBy | 以字段分组,相当于MySQL中的group by关键字。例如groupBy=type | 是 | 2.3.1 | |
| createDate | 请参见 资源属性 | 2.3.1 | ||
| lastOpDate | 请参见 资源属性 | 2.3.1 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3.1 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3.1 |
嵌套和扩展域查询(Nested And Expanded Fields of Query)
| 域(Field) | 清单(Inventory) | 描述 | 起始支持版本 |
|---|---|---|---|
| endpoints | endpoints Inventory | 2.3.1 | |
| topics | topics Inventory | 2.3.1 |
退订主题 (UnsubscribeSNSTopic)
用户可以使用UnsubscribeSNSTopic退订一个主题:
UnsubscribeSNSTopic endpointUuid=b03b125230b0406ea198919954ae3928 topicUuid=e034cef9ad3d43e0b3f9c0a316a0f25a
参数(Parameters)
| 名字 | 描述 | 可选的 | 可选的参数值 | 起始支持版本 |
|---|---|---|---|---|
| topicUuid | 主题UUID | 2.3 | ||
| endpointUuid | 终端UUID | 2.3 | ||
| userTags | 用户标签,请参见 创建用户标签(CreateUserTag) | 是 | 2.3 | |
| systemTags | 系统标签,请参见 创建系统标签(CreateSystemTag) | 是 | 2.3 | |
| timeout | 是 |
系统主题
SNS内置一些系统主题,一些预定义的消息会发送到系统主题,用户可以直接订阅这些主题以获得感兴趣的信息。
- 系统主题不能被删除和更改,UUID均为预定义的常量值
- 可直接hard code使用
系统报警主题 (System Alarm)
QuerySNSTopic name=system-alarm
{
"inventories": [
{
"createDate": "Jan 10, 2018 12:11:09 AM",
"description": "topic for reporting system defined alarms",
"lastOpDate": "Jan 10, 2018 12:11:09 AM",
"name": "system-alarm",
"state": "Enabled",
"uuid": "e7d6f5e23bb74e99a2777126078b551c"
}
],
"success": true
}
ZWatch预定义的报警器会将报警信息发送到该主题。用户也可以直接使用该主题作为自定义报警器的主题。
使用系统HTTP endpoint接收系统报警主题消息
内部系统(通常是UI),需要一个方式接收来自系统报警主题消息。系统HTTP endpoint可以完成这个工作,只需要在zstack.properties中配置如下字段即可:
sns.systemTopic.endpoints.http.url = 接收POST消息的HTTP URL
sns.systemTopic.endpoints.http.url.username = HTTP请求用户名(可选)
sns.systemTopic.endpoints.http.url.password = HTTP请求密码(可选)
如果需要设置用户名/密码,两个字段都需要同时设置,否则不生效。收到HTTP消息JSON格式跟HTTP endpoint一样。无论系统报警主题状态如何(Enabled/Disabled),该endpoint都会接收到消息,不受消息主题状态影响。
可以使用zstack-ctl configure命令配置上述字段。
API主题(API Topic)
QuerySNSTopic name=system-alarm
{
"inventories": [
{
"createDate": "Jan 10, 2018 12:11:09 AM",
"description": "the topic to publish API requests and responses",
"lastOpDate": "Jan 10, 2018 12:11:09 AM",
"name": "api",
"state": "Enabled",
"uuid": "7bfa0eb8555b3528ace936edfd1d74f1"
}
],
"success": true
}
云平台会将所有API请求和返回发送到该主题,用户可以订阅该主题获得API的调用情况。该主题只能被HTTP接收端订阅,接收端收到的消息将会是API的JSON格式文本。
该主题收到的为API裸请求,如果请求中有password字段(如添加物理机的API),该字段也会发送到接收端。为了安全,该主题只能被管理员创建的接收端订阅。管理员也应该只将该主题用作内部集成或调试用途。
