华为云用户手册

  • 请求示例 消息发布 POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish{ "subject" : "test message v2", "message" : "Message test message v2", "time_to_live" : "3600"} 使用消息结构体方式的消息发布 POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish{ "subject" : "test message v2", "message_structure" : "{\n \"default\": \"xxx\",\n \"APNS\": \"{\\\"aps\\\":{\\\"alert\\\":{\\\"title\\\":\\\"xxx\\\",\\\"body\\\":\\\"xxx\\\"}}}\"\n}", "time_to_live" : "3600"} 使用消息模板方式的消息发布 POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_create_topic_v2/publish{ "subject" : "test message template v2", "message_template_name" : "confirm_message", "time_to_live" : "3600", "tags" : { "topic_urn" : "topic_urn3331", "topic_id" : "topic_id3332" }}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 message_id String 唯一的消息ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 429 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • URI PUT /v2/{project_id}/notifications/applications/{application_urn} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考获取项目ID。 application_urn 是 String Application的唯一资源标识,可通过查询Application获取该标识。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 platform_principal 是 String 对于HMS平台是APP ID,只能包含英文字母和数字,最大20个字符。 对于苹果APNS、APNS_SandBox平台是推送证书,大小不超过8K,且是Base64编码。 platform_credential 是 String 对于HMS平台是APP SECRET, 只能包含英文字母和数字,32到64个字符。 对于苹果APNS、APNS_SandBox平台是推送证书的私钥(private key), 大小不超过8K,且是Base64编码。
  • 请求示例 更新消息模板内容 PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template/b3ffa2cdda574168826316f0628f774f{ "content" : "(1/22)You are invited to subscribe to topic({topic_id_id1}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.)"}
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 概述 欢迎使用消息通知服务(Simple Message Notification,SMN)。消息通知服务是可靠的、可扩展的、海量的消息处理服务。它可以依据您的需求主动推送通知消息,最终您可以通过短信、电子邮件、应用等方式接收。您也可以在应用之间通过SMN实现应用的功能集成,降低系统的复杂性。 您可以使用本文档提供的API对消息通知服务进行相关操作,如创建、查询、删除、更新等。支持的全部操作请参见API概览。 在调用消息通知服务API之前,请确保已经充分了解消息通知服务相关概念,详细信息请参见《消息通知服务用户指南》的“产品介绍”。 父主题: 使用前必读
  • URI PUT /v2/{project_id}/notifications/message_template/{message_template_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取项目ID请参考 获取项目ID。 message_template_id 是 String 模板唯一的资源标识,可通过查询消息模板列表获取该标识。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识。 最小长度:32 最大长度:32 logtank LogtankItem object 云日志信息 表5 LogtankItem 参数 参数类型 描述 id String 云日志信息唯一的资源标识。 最小长度:32 最大长度:32 log_group_id String 云日志服务日志组ID。 最小长度:36 最大长度:36 log_stream_id String 云日志服务日志流ID。 最小长度:36 最大长度:36 create_time String 创建时间。时间格式为UTC时间,YYYY-MM-DDTHH:MM:SSZ。 update_time String 更新时间。时间格式为UTC时间,YYYY-MM-DDTHH:MM:SSZ。 状态码: 400 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 403 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 404 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。 状态码: 500 表9 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标示ID。 error_code String 返回信息对应的代码。 error_msg String 服务异常错误信息描述。
  • 请求示例 更新云日志 PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2/logtanks/4ea80c8a68b840e19b4efd3a8f0d62ed{ "log_group_id" : "d1b6c352-ee45-4196-9230-c74b7894e356", "log_stream_id" : "114960b4-1c26-48dd-93c2-4caae24aec49"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 log_group_id 是 String 云日志服务日志组ID。 最小长度:36 最大长度:36 log_stream_id 是 String 云日志服务日志流ID。 最小长度:36 最大长度:36
  • 响应示例 状态码: 200 OK { "request_id" : "761bd2658f92411b9b01ae13e7961b11", "logtank" : { "id" : "4ea80c8a68b840e19b4efd3a8f0d62ed", "log_group_id" : "d1b6c352-ee45-4196-9230-c74b7894e356", "log_stream_id" : "114960b4-1c26-48dd-93c2-4caae24aec49", "create_time" : "2022-10-10T09:00:00Z", "update_time" : "2022-10-10T09:00:00Z" }}
  • URI PUT /v2/{project_id}/notifications/topics/{topic_urn}/logtanks/{logtank_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考 获取项目ID。 topic_urn 是 String Topic的唯一的资源标识,可通过查询主题列表获取该标识。 logtank_id 是 String 云日志信息唯一的资源标识。可通过查询云日志获取该标识。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 enabled 否 String 设备是否可用,值为true或false字符串。 user_data 否 String 用户自定义数据,最大长度支持UTF-8编码后2048字节。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 请求示例 更新Application endpoint POST https://{SMN_Endpoint}/v2/{project_id}/notifications/applications/{application_urn}/endpoints{ "enabled" : "false", "user_data" : "This is an APNS token for user001"}
  • URI PUT /v2/{project_id}/notifications/endpoints/{endpoint_urn} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。 获取项目ID请参考 获取项目ID。 endpoint_urn 是 String Endpoint的唯一资源标识,可通过查询Application的Endpoint列表获取该标识。
  • API概览 通过使用消息通知服务所提供的接口,您可以完整的使用消息通知服务的所有功能。例如创建Topic、添加订阅。 表1 接口说明 类型 说明 Topic操作 包含创建Topic、更新Topic、删除Topic等接口。 订阅操作 包含查询订阅列表、订阅、取消订阅等接口。 模板操作 包含创建消息模板、更新消息模板、删除消息模板等接口。 消息发布 包含消息发布、使用消息结构体方式的消息发布和使用消息模板方式的消息发布接口。 使用标签管理服务 包含查询资源实例、添加资源标签和查询项目标签等接口。 查询版本操作 包含查询SMN支持的API版本号信息和查询SMN API V2版本信息接口。 Application操作 包含创建Application、更新Application和删除Application等接口。 Application endpoint操作 包含创建Application endpoint、更新Application endpoint和删除Application endpoint等接口。 Application直发消息操作 包含APP消息发布和使用消息结构体方式的App消息发布接口。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 display_name 是 String Topic的显示名,推送邮件消息时,作为邮件发件人显示。显示名的长度为192byte或64个中文。 最小长度:1 最大长度:192
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 请求示例 更新名称为test_topic_v2的主题的显示名为testtest222 PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:f96188c7ccaf4ffba0c9aa149ab2bd57:test_topic_v2{ "display_name" : "testtest222"}
  • 请求示例 更新订阅者 PUT https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1/subscriptions/urn:smn:regionId:762bdb3251034f268af0e395c53ea09b:test_topic_v1:2e778e84408e44058e6cbc6d3c377837{ "remark" : "test remark"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 remark 是 String 订阅者备注。订阅者备注的最大长度为128byte。 最小长度:1 最大长度:128
  • URI PUT /v2/{project_id}/notifications/topics/{topic_urn}/subscriptions/{subscription_urn} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID。获取项目ID请参考 获取项目ID。 topic_urn 是 String Topic的唯一的资源标识。可以通过查看主题列表获取该标识。 subscription_urn 是 String 订阅者的唯一的资源标识,可通过查询订阅者列表获取该标识。
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 subscription_urn String 订阅者的唯一资源标识。 状态码: 400 表5 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 403 表6 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 404 表7 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。 状态码: 500 表8 响应Body参数 参数 参数类型 描述 request_id String 请求的唯一标识ID。 code String 服务异常错误信息编码。 message String 服务异常错误信息描述。
  • 具体步骤 Token认证,具体操作请参考认证鉴权。 创建Topic。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "name": "test_topic_v2", //Topic名称(必填String) "display_name": "test" //显示名(非必填String)} 请求响应成功后,返回request_id和topic_urn。 如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码。 添加订阅。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/subscriptions”。 其中,topic_urn可在2.b的返回体中获取。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "protocol": "email", //订阅协议(必填String) "endpoint": "xxx@xx.com", //邮件地址(必填String) "remark": "订阅终端" //备注(非必填String)} 请求响应成功后,返回request_id和subscription_urn。 如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码。 可为Topic添加多种以及多个订阅终端,支持的订阅协议请参考订阅。 订阅终端会收到一条确认订阅的消息,请在邮箱中进行确认订阅的操作。 发送消息。发送“POST https://{SMN_Endpoint}/v2/{project_id}/notifications/topics/{topic_urn}/publish”。 在Request Header中增加“X-Auth-Token”。 在Request Body中传入参数如下: { "subject":"test message v2", //标题,邮件订阅终端使用(非必填String) "message": "Message test message v2." //需要发送的消息(必填String)} 请求响应成功后,返回request_id和message_id。 如果请求失败,则会返回错误码及对应的错误信息说明,详细错误码信息请参考错误码。 已完成3.c中的确认订阅操作的订阅终端都能收到该消息,否则无法接收消息。
  • 基本概念 帐号 用户注册时的帐号,帐号对其所拥有的资源及云服务具有完全的访问权限,可以重置用户密码、分配用户权限等。由于帐号是付费主体,为了确保帐号安全,建议您不要直接使用帐号进行日常管理工作,而是创建用户并使用用户进行日常管理工作。 用户 由帐号在IAM中创建的用户,是云服务的使用人员,具有身份凭证(密码和访问密钥)。 在我的凭证下,您可以查看帐号ID和IAM用户ID。通常在调用API的鉴权过程中,您需要用到帐号、用户和密码等信息。 区域(Region) 从地理位置和网络时延维度划分,同一个Region内共享弹性计算、块存储、对象存储、VPC网络、弹性公网IP、镜像等公共服务。Region分为通用Region和专属Region,通用Region指面向公共租户提供通用云服务的Region;专属Region指只承载同一类业务或只面向特定租户提供业务服务的专用Region。 详情请参见区域和可用区。 可用区(AZ,Availability Zone) 一个可用区是一个或多个物理数据中心的集合,有独立的风火水电,AZ内逻辑上再将计算、网络、存储等资源划分成多个集群。一个Region中的多个AZ间通过高速光纤相连,以满足用户跨AZ构建高可用性系统的需求。 项目 区域默认对应一个项目,这个项目由系统预置,用来隔离物理区域间的资源(计算资源、存储资源和网络资源),以默认项目为单位进行授权,用户可以访问您帐号中该区域的所有资源。如果您希望进行更加精细的权限控制,可以在区域默认的项目中创建子项目,并在子项目中创建资源,然后以子项目为单位进行授权,使得用户仅能访问特定子项目中的资源,使得资源的权限控制更加精确。 图1 项目隔离模型 同样在我的凭证下,您可以查看项目ID。 企业项目 企业项目是项目的升级版,针对企业不同项目间的资源进行分组和管理,是逻辑隔离。企业项目中可以包含多个区域的资源,且项目中的资源可以迁入迁出。 关于企业项目ID的获取及企业项目特性的详细信息,请参见《企业管理用户指南》。 父主题: 使用前必读
  • 请求示例 创建模板名称为confirm_message,且模板支持的协议类型为https的消息模板 POST https://{SMN_Endpoint}/v2/{project_id}/notifications/message_template{ "message_template_name" : "confirm_message", "protocol" : "https", "content" : "(1/2)You are invited to subscribe to topic({topic_id}). Click the following URL to confirm subscription:(If you do not want to subscribe to this topic, ignore this message.)"}
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token。 通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 表3 请求Body参数 参数 是否必选 参数类型 描述 message_template_name 是 String 创建模板的名称。只能包含大写字母、小写字母、数字、-和_,且必须由大写字母、小写字母或数字开头,长度在1到64个字符之间。 protocol 是 String 模板支持的协议类型。 目前支持的协议包括: “default”:默认协议。 “email”:邮件传输协议。 “sms”:短信传输协议。 “functionstage”:FunctionGraph(函数)传输协议。 “dms”:DMS传输协议。 “http”、“https”:HTTP/HTTPS传输协议。 content 是 String 模板内容,模板目前仅支持纯文本模式。模板内容不能空,最大支持256KB。
共100000条