云服务器内容精选

  • 操作场景 消息通知服务能够根据用户的需求,向订阅终端主动推送消息。消息通知服务支持发布模板消息,该功能用于以下场景: 在用户发送的通知消息中,大部分内容是固定的,只有少数内容随着每次事件指标变化而变化。在这种场景下,用户可以通过创建一个消息模板,用模板变量代替变化的内容。这样在每次发布消息通知时,选择消息模板并设置模板变量便可完成特定的消息通知。 本章节以创建主题并发布模板消息为例,指导您快速上手消息通知服务。 在本示例中,某公司定期举行展览会,需要邀请相关人员,邀请通知消息中消息内容不变,仅需更改展览会的举办时间。 创建一个主题“Mytopic”。 为主题“Mytopic”添加协议类型为“短信”和“邮件”的订阅。 向订阅者发布消息“The Arts and Crafts Exposition will be held from {startdate} through {enddate}. We sincerely invite you to join us. ” 其中,“{startdate} ”表示展览会的开始时间,“{enddate}”表示展览会的结束时间。
  • 操作场景 消息通知服务能够根据用户的需求,向订阅终端主动推送消息。消息通知服务支持发布JSON消息,可通过一次消息发布,向不同类型的订阅者发布不同内容的消息。 本章节以创建主题并发布JSON消息为例,指导您快速上手消息通知服务。 在本示例中, 创建一个主题“Mytopic”。 为主题“Mytopic”添加协议类型为“短信”和“邮件”的订阅。 向“短信”类型的订阅者发布消息“Dear Sir or Madam, this is an SMS message.”。 向“邮件”类型的订阅者发布消息“Dear Sir or Madam, this is an Email message.”
  • 查看访问日志 当您配置了消息传输日志,可以查看消息传输日志的详细信息。 日志显示格式如下: {"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”:发送失败。 “REJECTS”:已拒绝。触发流控机制。 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
  • 操作场景 SMN的终端节点订阅主题且确认订阅后,终端节点才能够接收到向该主题发布的所有消息。当用户在多个区域均需要创建同样的订阅时,终端节点会多次收到确认订阅信息,且需要在每一条订阅消息内确认订阅。为防止这种场景下对终端节点的消息干扰,建议使用订阅用户功能,一次创建用户后即可导入其他区域的订阅。 订阅用户是提供跨区域统一管理订阅者信息的功能。订阅者可以先创建多个订阅用户,当主题需要添加订阅时,再将订阅用户批量添加到该主题上。 当前订阅用户数据仅支持存储在国内,且仅支持国内站点查询订阅用户数据。 当订阅者需要创建订阅用户时,可参考本章节。
  • 操作场景 消息模板指消息的固定格式。如果您要发布的消息内容丰富,并且这条消息需要多次发布,每次发布时需要变更的内容极少,此时您可以套用已创建的消息模板向订阅者发送消息。 在相同的消息模板名称下面,可创建一个或多个不同协议类型的消息模板来适配不同协议的订阅者,但必须包含一个Default协议类型的模板。不同协议类型的消息模板可以设置不同的模板内容,使用{tag}占位符代替变量。如果没有预置的Default协议的模板,将不允许发送该模板。 使用模板格式发送消息时,需要选择模板名称,名称选定后,系统会按照Default、SMS、Email、HTTP、HTTPS、FunctionGraph(函数)、FunctionGraph(工作流)的协议顺序,将该模板名称下不同协议的所有模板内容中的{tag}标签列出,重复的{tag}只列出一次,并在右侧显示拥有该{tag}的协议名称。设置{tag}值之后,消息通知服务会自动替换模板的{tag}标签为对应的参数值。如果{tag}没有设置参数值,模板内容不做替换。消息通知服务会按照模板名称和订阅者协议类型获取模板内容,如果对应订阅协议的模板内容不存在,将使用Default模板内容发送。 在这一部分中,您可以按照模板格式进行消息推送至您设定的订阅终端地址。在发送模板消息之前,您需要先创建好消息模板,关于消息模板的详细信息请参见《消息通知服务用户指南》的“消息模板管理”章节。
  • 操作场景 消息模板指消息的固定格式,发布消息时可以使用已创建的消息模板向订阅者发送消息。使用模板发送消息,发送时会自动替换模板变量为对应的参数值。 消息模板通过消息名称进行分组,消息名称下面可以根据不同的协议创建不同的模板。每个模板名称下面都必须要创建一个Default模板。当按照模板格式推送消息时,不同协议订阅者优先会选择模板名称下面对应的协议模板,如果对应的协议模板不存在,则采用默认Default的模板。如果没有预置的Default协议的模板,将不允许发送该模板。 当您需要发送模板格式的消息时,可参考本章节管理消息模板。
  • 约束与限制 一个桶中最多同时配置10条DIS通知规则。 一个桶的多条DIS通知规则不允许重复,即任意对象在发生任意事件时都不能同时匹配两条以上的DIS通知规则,重复规则会创建失败。 针对同一事件,如果配置了一条前后缀都为空的规则,则不允许再配置第二条规则。前后缀都为空表示对所有对象生效。 例如:针对Put事件,已存在一条规则A,定义的前缀是“abcd”,后缀是“.txt”。如果要创建另外一条针对Put事件的规则B,则规则B配置不同前后缀的结果如表1所示。 表1 规则B前后缀配置场景及结果 规则A前后缀配置 规则B前后缀配置 规则B创建结果 原因 前缀:abcd 后缀:.txt 前缀:abcd 后缀:.txt 失败 前后缀相同 前缀:abcd 后缀:空 失败 前缀相同,后缀B包含A 前缀:ab 后缀:xt 失败 前缀B包含A,后缀B包含A 前缀:abef 后缀:.txt 成功 前缀不同,后缀相同 前缀:abcd 后缀:.mp4 成功 前缀相同,后缀不同
  • 背景知识 事件网格(EventGrid,简称EG)是华为云提供的一款Serverless事件总线服务,支持华为云服务云服务、自定义应用、SaaS应用以标准化、中心化的方式接入事件网格,通过标准化的CloudEvents协议在这些应用之间以灵活方式路由事件,帮助您轻松构建松耦合、分布式的事件驱动架构。 OBS作为云服务事件源将产生的云服务事件发送到EG,事件规则对云服务事件进行过滤和转换,通过转换后的事件触发事件目标(即函数工作流服务中的函数)。 图1 事件网格总体架构示意图 事件源:将华为云服务云服务、自定义应用、SaaS应用等应用程序产生的事件消息发布到事件订阅。 事件订阅:存储接收到的事件消息,并根据事件规则将事件消息路由到事件目标。 事件目标:消费事件消息。
  • 报文样例 请求头: { "Content-Type": application/json "x-app-key": ***** "Authorization": Bearer **** } 请求参数: { "voiceContent": "1133*********999~$李先生$~2225*********149", "callerPresent": null, "called": "88880000" } 响应参数: { "result": { "callSerialNo": "11827********7090" }, "retCode": "0", "retMsg": "Created successfully." }
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True - 1.1 retCode string True 返回码,0 成功 1 有未完成的任务,请稍后重试 2 callData长度超出1024 3 创建失败,未生成呼叫流水号 4 softPhone格式与规则不匹配 5 caller或者called未传递,或者格式与规则不匹配 6 vdn未启用 7 callerPresent或者agentPresent校验失败 8 voiceContent为空或者超出限制或者不存在该录音数据 9 callBackUrl不符合条件 16 租户为试商用状态,被叫号码不在白名单中 36 priority字段值格式不符合要求 1.2 retMsg string False 返回描述 1.3 result object False retCode为0时,必返回 1.3.1 callSerialNo string True 呼叫流水号 响应状态码: 400 错误的请求:请检查请求路径及参数 响应状态码: 401 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态 响应状态码: 403 鉴权失败 响应状态码: 404 请求的内容未找到:请检查请求的路径 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值
  • 报文样例 请求头: { "Content-Type": application/json "x-app-key": ******************** "Authorization": Bearer ************************ } 请求参数: { "offset":0, "limit":10, "type":2 } 响应参数: { "returnCode": "0", "description": "query success", "voiceInfo": [ { "tenant_id": "20******234", "uploaddate": 163*****4000, "voice_id": "113379*********9999", "name": "welcome", "voicecontent": "{\"0\":{\"languageId\":\"0\",\"textcontent\":\"欢迎光临\"}}", "type": 2, "tenantSpaceName": "************" } ] }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 X-APP-Key string True appKey字段,用户标识,请联系运营人员获取appKey 2 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格)。 生成方式参见C1 系统配置类接口鉴权方式。 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1 reqBody object True - 1.1 offset integer False 起始游标,即分页查询时的起始记录行号。 首次查询传入“0”。 后续查询其他分页时传入该分页的第一条记录的序号。返回记录中第一条记录序号为“0”,后续依次排序。例如每页为50条录,查询第二页时应传入“50”。 不传时默认0,无最大值限制 1.2 limit integer False 分页查询时的每页记录数,正整数,不传时默认100,最大值100,传入超过100的值也会转换为100 1.3 type integer False 录音文件类型 0:音频,2:text文本
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1 schema object True - 1.1 returnCode string True 返回码,0:成功,其他失败(1:请求参数type不正确) 1.2 description string False 返回描述 1.3 voiceInfo object False 录音信息 1.3.1 tenant_id string True 租户id 1.3.2 uploaddate number True 上传时间,格式为timestamp 1.3.3 voice_id string True 录音id 1.3.4 name string True 录音名称 1.3.5 voicecontent string False 语音内容 1.3.6 type number True 类型 0:音频,2:text文本 1.3.7 tenantSpaceName string False 租户名称 1.3.8 auditaccount string False 审核者账号 1.3.9 noReference boolean False 提示音和故障音是否被引用 1.3.10 auditcomments string False 审核意见 1.3.11 auditdate number False 审核时间,格式为timestamp 1.3.12 scene number False 使用场景 1.3.13 uploadaccount string False 上传账号 1.3.14 isUpdateRec number False 是否是更新记录 1.3.15 status number False 回调状态 1.3.16 callbackTimes number False 回调次数 响应状态码: 400 错误的请求:请检查请求路径及参数 响应状态码: 401 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态。 响应状态码: 403 鉴权失败 响应状态码: 404 请求的内容未找到:请检查请求的路径 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值。
  • 请求示例 { "relation_type" : "DEFAULT", "relation_ids" : [ "al123232232341232132" ], "mask_id" : "nm1689737291469aj38xNVLK", "mask_name" : "mn_test", "mask_status" : "MASK_EFFECTIVE", "resource_id" : "dse23xw43", "namespace" : "SYS.ECS", "dimensions" : [ { "name" : "instance_id", "value" : "4270ff17-aba3-4138-89fa-820594c39755" } ] }