文档目录

通知系统 (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),该字段也会发送到接收端。为了安全,该主题只能被管理员创建的接收端订阅。管理员也应该只将该主题用作内部集成或调试用途。

CLI命令使用手册 | 4.8.38 | ZStack Cloud · ZCF | ZStack 资源中心