文档目录

通知系统 (SNS - Simple Notification System)

通知系统SNS核心分为三部分,主题(Topic),平台(Application Platform),接收端(Application Endpoint)

  • 主题(Topic):用于接收信息的通道。例如ZWatch可以将报警消息发送到某个主题,由主题分发给订阅的接收端。
  • 平台(Application Platform):某些接收端需要通过平台发送信息,例如邮件接收端需要邮件服务器发送邮件,邮件服务器就被抽象成平台。目前只有邮件服务器和系统平台两种平台。系统平台用于给不需要平台的接收端(如钉钉和HTTP应用)发送信息
  • 接收端(Application Endpoint):用于接收信息的终端,目前包含系统/邮箱/钉钉/HTTP应用/短信/Microsoft Teams。接收端只有订阅了主题后,才能接收到发送到该主题的信息。
Note: 主题跟接收端是多对多关系,一个主题可以被多个接收端订阅,一个接收端也可以订阅多个主题

当外部系统(如ZWatch)发送信息到主题后,主题会查找所有订阅该主题的接收端,然后通过该接收端所属的平台将信息发送出去。例如某个邮件接收端(邮箱地址)订阅了某个报警主题,当该报警主题接收到一条报警信息后,会通过该邮件接收端所属的平台(邮件服务器),发送报警邮件到该接收端代表的邮箱地址。

使用流程

通常的使用流程是:
  1. 用户创建一个主题,用于接收外部系统(如ZWatch)发来的信息
  2. 如果要使用邮件接收端,则先创建一个平台(邮件服务器)
  3. 创建接收端,并订阅步骤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 状态事件
  • enable
  • disable
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 是
  • SSL
  • STARTTLS
  • NONE
2.3
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 是 2.3
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 是 2.3
timeout 是
Note:
  • 添加邮箱服务器时,系统会自动检测用户名、密码、邮箱服务器地址、邮箱服务器端口、加密类型是否正确,等待时间不超过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更新应用平台。 例如:
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 状态事件
  • enable
  • disable
2.3
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 是 2.3
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 是 2.3
timeout 是

创建邮箱接收端 (CreateSNSEmailEndpoint)

用户可以使用CreateSNSEmailEndpoint创建一个邮箱接收端:

CreateSNSEmailEndpoint name=operator email=operator@zstack.org

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
email 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更改接收端。 例如:
ChangeSNSApplicationEndpointState uuid=b86c9016b4f24953a9edefb53ca0678c stateEvent=enable

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 资源的UUID,唯一标示该资源 2.3
stateEvent 状态事件
  • enable
  • disable
2.3
userTags 用户标签,请参见 创建用户标签(CreateUserTag) 是 2.3
systemTags 系统标签,请参见 创建系统标签(CreateSystemTag) 是 2.3
timeout 是

创建阿里云短信接收端(CreateSNSAliyunSmsEndpoint)

用户可以使用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验证阿里云短信接收端。 例如:
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添加短信接收者。 例如:
AddSNSSmsReceiver phoneNumber=18912345678 endpointUuid=e0a8e9de43774027a486f3a47fa0b46c type=AliyunSms 

参数(Parameters)

名字 描述 可选的 可选的参数值 起始支持版本
phoneNumber 短信接收号码 3.7.0
endpointUuid 短信接收端Uuid 3.7.0
type 短信接收端类型
  • AliyunSms
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删除短信接收者。 例如:
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查询短信接收端。例如:
QuerySNSSmsEndpoint 

原生域查询(Primitive Fields of Query)

名字 描述 可选的 可选的参数值 起始支持版本
uuid 请参见 资源属性 3.7.0
name 请参见 资源属性 3.7.0
description 请参见 资源属性 是 3.7.0
type 3.7.0
platformUuid 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

嵌套和扩展域查询(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添加邮箱地址到邮箱接收端。 例如:
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更新接收端邮箱地址。 例如:
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删除邮箱接收端的地址。 例如:
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查询接收端邮箱地址。例如:
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创建微软Teams接收端。 例如:
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查询微软Teams接收端。例如:
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内置一些系统主题,一些预定义的消息会发送到系统主题,用户可以直接订阅这些主题以获得感兴趣的信息。

Note:
  • 系统主题不能被删除和更改,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都会接收到消息,不受消息主题状态影响。

Note:

可以使用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格式文本。

Note:

该主题收到的为API裸请求,如果请求中有password字段(如添加物理机的API),该字段也会发送到接收端。为了安全,该主题只能被管理员创建的接收端订阅。管理员也应该只将该主题用作内部集成或调试用途。