云服务器内容精选

  • HTTP(S)取消订阅消息的格式 HTTP(S)订阅终端取消订阅确认后,终端将收到 SMN 推送的取消订阅确认消息,下面将描述HTTP Content信息,它是JSON串,具体字段说明如表4所示。 表4 HTTP(S)取消订阅消息的格式参数说明 参数 说明 type 消息类型,UnsubscribeConfirmation。 signature 签名信息。 签名字段包括message,message_id,subscribe_url、timestamp,topic_urn和type,具体签名信息校验,请参见校验消息签名。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本信息,目前是V1。 message 取消订阅确认消息的描述。 subscribe_url 再次订阅确认需要访问的URL。 signing_cert_url 用于消息签名的证书URL。 timestamp 消息第一次发送的时间戳。 HTTP(S)取消订阅消息样例如下: { "signature": "ViE96uGbBkl+S8eWqgebi5KdmRht2U8+Rs88yuyMHq1k4h3jUkcDZ6HCqTqdpJ8nrLcdqETyyEiOQyTszJdU05z+LhfE8jerCCdSbL4zeInVkydHh0kcCRWmORye0/EuQ/gLC1UIXwvUsqbUCPnBRhNFXOeXMOPPCzK+d04xjy4QHd1H/bHxgsY3AlTe0gCFT068Zru7OK6w9aQaY44mXnN3OWGmBmoHyFab5TRXLSQNz/9u/Vj646cQMMaI0PPQ30QzGYD0MtzgDZi12m8jMTHAnMkTEcbLaEgaqmaoEnATSpEcspFKNXv2skwk7rsVakMOISpMH3+qC6RzhE******", "topic_urn": "urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******", "message_id": "d86c201092574e71a3ca85826652c58b", "signature_version": "v1", "type": "UnsubscribeConfirmation", "message": "You are unsubscribed from topic: urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******. To subscribe to this topic again, please visit the subscribe_url included in this message. The subscribe_url is valid only within 48 hours.", "subscribe_url": "https://console.******.com/smn/subscription/confirm?token=0a419ac94f80f2c62f14c01e34ae5dfcf6b0b92ef46241218eaae5b4cb90d5d423cf104593284665a1f98691b1576976785114fb4408450e8de153b9f1******&topic_urn=urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******®ion=region01®ion_id=region01", "signing_cert_url": "https://smn.region01.******.com/smn/SMN_region01_3190c26a56fb435f9882e3435b******.pem", "timestamp": "2024-07-10T11:45:00Z" }
  • HTTP(S)订阅确认消息的格式 添加HTTP(S)订阅终端以后,SMN会向订阅终端推送一条订阅确认的消息,下面将描述消息的HTTP Content,它是JSON格式的字符串,其中包括subscribe_url值,订阅确认需要GET请求subscribe_url地址进行确认,具体JSON字段说明如表2所示。 表2 HTTP(S)订阅确认消息的格式参数说明 参数 说明 type 消息类型,SubscriptionConfirmation。 signature 签名信息。 签名字段包括message,message_id,subscribe_url,timestamp,topic_urn和type,具体签名信息校验,请参见校验消息签名。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本信息,目前是V1。 message 订阅确认消息的描述。 subscribe_url 订阅确认需要访问的URL。 signing_cert_url 用于消息签名的证书URL,不需要鉴权,可直接访问。 timestamp 消息第一次发送的时间戳。 HTTP(S)订阅确认消息样例如下: { "subscribe_url": "https://console.******.com/smn/subscription/confirm?token=0a419ac94f80f2c62f14c01e34ae5dfcf6b0b92ef46241218eaae5b4cb90d5d423cf104593284665a1f98691b1576976785114fb4408450e8de153b9f1******&topic_urn=urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******®ion=region01®ion_id=region01", "signature": "W/DQSiqpRkY6En0jNaFtCYOpmUjMhzoJIdMPLhnRv37iPzNhH+SxlievFoUIyS29z7Ig4hL/ECWNfGrRhTqoasiAeOaXOjoRNoQ73YfyqWm7x7OdX+2c202zxaOS5GcsUHohxAS+wCYd6W6aVhx6eQpWzpzLwrGgE+iPmsd5I00HXIBeZEeBx/VuoqkPyBDnSvGNNDTJ2gw+fL7XuKqf/DUUjjI8dkPsp3gAcETe/XMgf3UTMFDvLLrq2fAZVhr/jMR/9m81PwuDs1k9i3iBxT67afzmQ1AhY/a/ayQX7Fmwf/FBpehG1o8e98lXAZFS2nzhvTpttawUFG8Z82******", "topic_urn": "urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******", "message_id": "54bb04eddfc842e9b44ca36393f77cd3", "signature_version": "v1", "type": "SubscriptionConfirmation", "message": "You are invited to subscribe to topic: urn:smn:regionid:0a419ac94f80f2c62f14c01e34******:test_******. To confirm this subscription, please visit the subscribe_url included in this message. The subscribe_url is valid only within 48 hours.", "signing_cert_url": "https://smn.region01.******.com/smn/SMN_region01_3190c26a56fb435f9882e3435b******.pem", "timestamp": "2024-07-10T09:43:44Z" }
  • HTTP(S)推送消息的格式 HTTP(S)订阅终端订阅确认后,终端将收到SMN推送的消息,下面将描述HTTP Content信息,它是JSON串,具体字段说明如表3所示。 表3 HTTP(S)推送消息的格式参数说明 参数 说明 type 消息类型,Notification。 signature 签名信息。 签名字段包括message,message_id,subject, timestamp,topic_urn和type,具体签名信息校验,如果subject不存在,则不参与校验,请参见校验消息签名。 subject 消息标题。 topic_urn 主题的唯一标识,表示消息归属的主题。 message_id 消息唯一标识。 signature_version 签名的版本信息,目前是V1。 message 订阅推送消息的描述。 unsubscribe_url 通过访问该链接可以取消终端订阅。 signing_cert_url 用于消息签名的证书URL。 timestamp 消息第一次发送的时间戳。 HTTP(S)推送消息样例如下: { "signature": "WmSQ2/0kp2v2u2T33lMqKYrrLxnJoW2NHqIy5QowDuHH3y+HvhCNlCgHDUiAGpb3suCXJm16hWF+EJAYR+tPaTY1q0N3p0p+oBbhlD30fOTxRNsEWRAg73k4qArmQajhdDZOtd57xelQiNhzl2r6iCs0en4kR2iY78zZM/9caZQGBTlNcjkd2lyXYP6aSc7MOgxTsYrRus0A6yipD3zsUA7TvTdfsauAe2hZLR5W0l+um+S3ytT7sA1CMlIJPBXHP5WlqS4iMAeivmufZv7T+G43DbwWfw/seKnK6uFKWd214oqsY2/oLY3C4dcyLdvsy0/7/W8zvxXbgHeSL4******", "subject": "SMN", "topic_urn": "urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******", "message_id": "d84bd6629ef04513ad2e37bffd6e17cb", "signature_version": "v1", "type": "Notification", "message": "{\"enterpriseProjectId\": \"0\", \"eventTime\": \"2019-08-12 22:40:55.040632\", \"chargingMode\": \"postPaid\", \"cloudserviceType\": \"xxx.service.type.bandwidth\", \"eventType\": 1, \"regionId\": \"region01\", \"tenantId\": \"057eefe55400d2742f8cc00178******\", \"resourceType\": \"xxx.resource.type.bandwidth\", \"resourceSpecCode\": \"19_bgp\", \"resourceSize\": 10, \"resourceId\": \"e091f1b1-08ef-4e2b-a27e-f85e4c******\", \"resouceSizeMeasureId\": 15, \"resourceName\": \"elbauto_2019_08_13_06_40_46\"}", "unsubscribe_url": "https://console.******.com/smn/subscription/unsubscribe?region=region01®ion_id=region01&subscription_urn=urn:smn:region01:0a419ac94f80f2c62f14c01e34******:test_******:23cf104593284665a1f98691b1******", "signing_cert_url": "https://smn.region01.******.com/smn/SMN_region01_3190c26a56fb435f9882e3435b******.pem", "timestamp": "2024-07-10T09:45:00Z" }
  • 操作场景 接收SMN服务发送的HTTP(S)消息时,终端证书的CN名称请参考业界规范,部分特殊字符可能导致https消息发送失败。 在互联网上传递未加密的http协议消息内容存在信息泄漏风险,推荐用户终端添加订阅时对接通道优先使用https类型。 描述SMN服务向HTTP(S)终端发送消息的格式,您可以通过消息头部信息中的消息类型来区分消息格式。消息格式包括:HTTP(S)订阅确认消息的格式、HTTP(S)推送消息的格式和HTTP(S)取消订阅消息的格式三种消息格式,HTTP/HTTPS协议均为POST方式。 当SMN服务向HTTP(S)终端发送消息时,头部包括请求X-SMN-MESSAGE-TYPE,X-SMN-MESSAGE-ID,X-SMN-TOPIC-URN,如表1所示。 表1 消息HTTP(S)头部参数说明 参数 说明 X-SMN-MESSAGE-TYPE 消息类型,消息类型分别有: SubscriptionConfirmation Notification UnsubscribeConfirmation X-SMN-MESSAGE-ID 消息唯一标识。 X-SMN-TOPIC-URN 主题的唯一标识,表示消息归属的主题。 关于HTTP(S)头部字段的说明: RFC 7230 章节3.2中规定,HTTP(S)头部的字段名称不区分大小写。 RFC 7540 章节8.1.2中规定,对于支持HTTP/2的服务端,头部字段信息需要统一改为全小写。 对于用户自定义的HTTP(S)头部字段,SMN也将采用上述的处理策略。 用户如果从HTTP(S)头部中获取相关字段,建议采用不区分大小写的方式。
  • 查看访问日志 当您配置了消息传输日志,可以查看消息传输日志的详细信息。 日志显示格式如下: {"message_id":"$message_id","project_id":"$project_id","topic_urn":"$topic_urn","subscriber_urn":"$subscriber_urn","protocol_name":"$protocol_name","endpoint":"$endpoint","status":"$status","http_code":$http_code,"create_time":"$create_time","send_time":"$send_time"} 不支持修改日志格式。日志字段说明如表1所示。 表1 字段说明 参数 参数类型 描述 message_id String 消息ID。 project_id String 项目ID。 topic_urn String Topic的唯一的资源标识 subscriber_urn String 订阅者的唯一资源标识。 protocol_name String 不同协议对应不同的endpoint(接受消息的接入点)。目前支持的协议包括: “email”:邮件传输协议,endpoint为邮箱地址。 “sms”:短信传输协议,endpoint为手机号码。 “functiongraph” FunctionGraph(函数)传输协议,endpoint为一个函数 “functionstage”:。FunctionStage(工作流)传输协议,endpoint为一个 函数工作流 “http”、“https”:HTTP/HTTPS传输协议,endpoint为URL。 endpoint String 接受消息的接入点。 status String 消息状态。目前包括以下状态: “DELIVERED”:已送达。 “FAIL_DELIVERED”:发送失败。 “REJE CTS ”:已拒绝。触发流控机制。 http_code Integer HTTP返回码,仅支持HTTP/HTTPS协议消息。 create_time String 消息创建时间。时间格式为UTC时间,YYYY-MM-DDTHH:MM:SSZ。 send_time String 消息发送时间。时间格式为UTC时间,YYYY-MM-DDTHH:MM:SSZ。
  • 日志示例 {"message_id":"1ae49922602a42fc83acb9689a2eb5f4","project_id":"5a9f32e4f1ec4bbe9695ff9da51c2925","topic_urn":"urn:smn:regionid:5a9f32e4f1ec4bbe9695ff9da51c2925:demo","subscriber_urn":"urn:smn:regionid:5a9f32e4f1ec4bbe9695ff9da51c2925:demo:b55c3c6fa7cd471b9f24818d530a8740","protocol_name":"https","endpoint":"https://127.0.0.1:443/https","status":"DELIVERED","http_code":200,"create_time":"2022-11-01T00:00:00Z","send_time":"2022-11-01T00:00:10Z"} 以上日志示例对应的字段如下: 表2 日志示例对应的字段 参数 示例 message_id 1ae49922602a42fc83acb9689a2eb5f4 project_id 5a9f32e4f1ec4bbe9695ff9da51c2925 topic_urn urn:smn:regionid:5a9f32e4f1ec4bbe9695ff9da51c2925:demo subscriber_urn urn:smn:regionid:5a9f32e4f1ec4bbe9695ff9da51c2925:demo:b55c3c6fa7cd471b9f24818d530a8740 protocol_name https endpoint https://127.0.0.1:443/https status DELIVERED http_code 200 create_time 2022-11-01T00:00:00Z send_time 2022-11-01T00:00:10Z
  • 使用限制 单账号跟踪的事件可以通过 云审计 控制台查询。多账号的事件只能在账号自己的事件列表页面去查看,或者到组织追踪器配置的OBS桶中查看,也可以到组织追踪器配置的CTS/system日志流下面去查看。 用户通过云审计控制台只能查询最近7天的操作记录。如果需要查询超过7天的操作记录,您必须配置转储到 对象存储服务 (OBS)或 云日志 服务(LTS),才可在OBS桶或LTS日志组里面查看历史事件信息。否则,您将无法追溯7天以前的操作记录。 云上操作后,1分钟内可以通过云审计控制台查询管理类事件操作记录,5分钟后才可通过云审计控制台查询数据类事件操作记录。
  • 操作场景 SMN的终端节点订阅主题且确认订阅后,终端节点才能够接收到向该主题发布的所有消息。当用户在多个区域均需要创建同样的订阅时,终端节点会多次收到确认订阅信息,且需要在每一条订阅消息内确认订阅。为防止这种场景下对终端节点的消息干扰,建议使用订阅用户功能,一次创建用户后即可导入其他区域的订阅。 订阅用户是提供跨区域统一管理订阅者信息的功能。订阅者可以先创建多个订阅用户,当主题需要添加订阅时,再将订阅用户批量添加到该主题上。 当前订阅用户数据仅支持存储在国内,且仅支持国内站点查询订阅用户数据。 当订阅者需要创建订阅用户时,可参考本章节。
  • 监控指标 消息通知 服务支持的监控指标如表1所示。 表1 消息通知服务支持的监控指标 指标ID 指标名称 指标含义 取值范围 测量对象 监控周期(原始指标) email_total_count 邮件订阅推送量 该指标为主题维度上针对邮件类型的订阅推送的消息总量 单位:条 ≥0 单个主题 5分钟 email_success_rate 邮件订阅推送成功率 该指标为主题维度上针对邮件类型的订阅推送成功的消息比率 单位:百分比 0-100% 单个主题 5分钟 sms_total_count 短信订阅推送量 该指标为主题维度上针对短信类型的订阅尝试推送的消息总量 单位:条 ≥0 单个主题 5分钟 sms_success_rate 短信订阅推送成功率 该指标为主题维度上针对短信类型的订阅推送成功的消息比率 单位:百分比 0-100% 单个主题 5分钟 http_total_count http(s)订阅推送量 该指标为主题维度上针对http和https类型的订阅推送的消息总量 单位:条 ≥0 单个主题 5分钟 http_2xx_count http(s)订阅 推送成功数量 该指标为主题维度上针对http和https类型的订阅推送的消息返回码为2xx的数量 单位:条 ≥0 单个主题 5分钟 http_4xx_count http(s)订阅推送 4xx异常数量 该指标为主题维度上针对http和https类型的订阅推送的消息返回码为4xx的数量 单位:条 ≥0 单个主题 5分钟 http_5xx_count http(s)订阅推送 5xx异常数量 该指标为主题维度上针对http和https类型的订阅推送的消息返回码为5xx的数量 单位:条 ≥0 单个主题 5分钟 http_success_rate http(s)订阅 推送成功率 该指标为主题维度上针对http和https类型的订阅推送成功的消息比率 单位:百分比 0-100% 单个主题 5分钟
  • 支持审计的关键操作列表 在您的账户中启用云审计服务后,SMN服务的API被调用时,日志文件可能会跟踪记录该操作,并依据时间和数据的变化将日志文件转储到对象存储桶。 如果您在没有登录的情况下调用SMN的取消订阅(Unsubscribe)操作,云审计则不会记录这些操作。例如,当您需要取消订阅时,在电子邮件通知中单击取消订阅的链接,此时会在未登录的情况下调用Unsubscribe,这种情况下您的取消订阅操作则不会被云审计记录。 云审计支持的消息通知服务操作列表如表1所示。 表1 云审计支持的SMN操作列表 操作名称 资源类型 事件名称 创建主题 topic createTopic 删除主题 topic deleteTopic 更新主题 topic updateTopic 更新主题策略 topic updateTopicAttribute 删除所有主题策略 topic deleteTopicAttributes 删除指定名称的主题策略 topic deleteTopicAttributeByName 添加订阅 subscription subscribe 删除订阅 subscription delsubscribe 更新订阅备注 subscription updateSubscriberRemark 添加订阅用户 subscription addSubscriptionFromSubscriptionUser 创建消息模板 message_template createMessageTemplate 批量创建消息模板 message_template batchCreateMessageTemplate 更新消息模板 message_template updateMessageTemplate 删除消息模板 message_template deleteMessageTemplate 批量添加标签 tag batchCreateTag 添加标签 tag createTag 批量删除标签 tag batchDeleteTag 删除标签 tag deleteTag 绑定云日志 logtank createLogtank 解绑云日志 logtank deleteLogtank 更新云日志 logtank updateLogtank 批量创建订阅过滤策略 filter_polices batchCreateFilterPolices 批量删除订阅过滤策略 filter_polices batchDeleteFilterPolices 批量更新订阅过滤策略 filter_polices batchUpdateFilterPolices 创建通知策略 notify_policy createNotifyPolicy 删除通知策略 notify_policy deleteNotifyPolicy 修改通知策略 notify_policy updateNotifyPolicy 父主题: 记录消息通知服务
  • 操作场景 消息模板指消息的固定格式。如果您要发布的消息内容丰富,并且这条消息需要多次发布,每次发布时需要变更的内容极少,此时您可以套用已创建的消息模板向订阅者发送消息。 在相同的消息模板名称下面,可创建一个或多个不同协议类型的消息模板来适配不同协议的订阅者,但必须包含一个Default协议类型的模板。不同协议类型的消息模板可以设置不同的模板内容,使用{tag}占位符代替变量。如果没有预置的Default协议的模板,将不允许发送该模板。 使用模板格式发送消息时,需要选择模板名称,名称选定后,系统会按照Default、 SMS 、Email、HTTP、HTTPS、FunctionGraph(函数)、FunctionGraph(工作流)的协议顺序,将该模板名称下不同协议的所有模板内容中的{tag}标签列出,重复的{tag}只列出一次,并在右侧显示拥有该{tag}的协议名称。设置{tag}值之后,消息通知服务会自动替换模板的{tag}标签为对应的参数值。如果{tag}没有设置参数值,模板内容不做替换。消息通知服务会按照模板名称和订阅者协议类型获取模板内容,如果对应订阅协议的模板内容不存在,将使用Default模板内容发送。 在这一部分中,您可以按照模板格式进行消息推送至您设定的订阅终端地址。在发送模板消息之前,您需要先创建好消息模板,关于消息模板的详细信息请参见《消息通知服务用户指南》的“消息模板管理”章节。
  • 操作场景 消息模板指消息的固定格式,发布消息时可以使用已创建的消息模板向订阅者发送消息。使用模板发送消息,发送时会自动替换模板变量为对应的参数值。 消息模板通过消息名称进行分组,消息名称下面可以根据不同的协议创建不同的模板。每个模板名称下面都必须要创建一个Default模板。当按照模板格式推送消息时,不同协议订阅者优先会选择模板名称下面对应的协议模板,如果对应的协议模板不存在,则采用默认Default的模板。如果没有预置的Default协议的模板,将不允许发送该模板。 当您需要发送模板格式的消息时,可参考本章节管理消息模板。
  • 授权 单击界面右上方用户名,选择“消息通知设置”。 在授权提示页面,阅读并确认授权信息。 使用消息通知服务(SMN)服务发送通知时,会根据实际用量进行费用收取。确认授权前请您务必了解SMN计费说明。 “确认授权”即ESM将会代理使用用户身份进行消息通知服务(SMN)服务调用,通过 统一身份认证 服务( IAM )创建委托授权进行资源运维。详情请参见委托其他账号管理资源。在创建委托前,请确保已有统一身份认证服务(IAM)的“创建委托”权限。详细授权操作请参见创建用户组并授权。 请勾选“我已理解并认可上述说明”,单击“确认授权”。 授权成功后默认进入“消息通知设置”页面。
  • 是否会保证将消息传送到订阅的终端节点? SMN向终端节点推送消息时,使用异步方式送达,不保证消息送达的时效性。如果业务要求消息准实时送达,请慎重考虑是否使用SMN服务。 如果订阅终端节点可以送达,消息通知服务会确保消息传送到订阅终端节点。 如果订阅终端节点无法送达,消息通知服务会将发送失败的消息保存到失败的消息队列尾部,等待下次被发送。如果发送失败次数超过6次,消息将直接丢弃,不再保存到失败的消息队列,且不会给用户发送“消息发送失败”的相关信息。 失败的消息队列中的消息处理间隔时间是不确定的,它取决于失败的消息队列的长度。 SMN向HTTP(S)订阅终端发送消息的超时时间为5s,即响应时长超过5s后,SMN会认为连接超时发送失败。 指定时间段内如果多次发送失败,则会加入到黑名单中,加入到黑名单的订阅终端SMN不再向其发送消息。 黑名单中的订阅终端会在5-10min后自动移除,移除后SMN能够正常向该订阅终端发送消息。 SMN仅在HTTP(S)订阅终端节点返回内部错误,即HTTP(S)返回码大于等于500时,才会进行重试;其他场景均不重试。
  • 资源快照存储完成的消息通知示例 { "detail": { "snapshot_id": "474f85e6-72cd-442b-af4e-517120a5c669", "region_id": ""regionid1a", "bucket_name": "test", "object_keys": [ " RMS Logs/059b5c937100d3e40ff0c00a7675a0a0/Snapshot/2020/8/11/059b5c937100d3e40ff0c00a7675a0a0_Snapshot_"regionid1a_ResourceSnapshot_2020-08-10T170901_474f85e6-72cd-442b-af4e-517120a5c669_part-1.json.gz" ] }, "notification_type": "SnapshotArchiveCompleted", "notification_creation_time": "2020-08-10T17:09:27.314Z", "domain_id": "059b5c937100d3e40ff0c00a7675a0a0" }