华为云用户手册

  • 查看消息提醒 登录 堡垒机 系统。 单击右上角,展开消息中心小窗口。 可查看最新三条未读消息。 图1 消息中心小窗口 单击“查看更多”,进入消息中心列表页面。 图2 消息中心列表 查询消息。 在搜索框中输入关键字,根据消息标题内容快速查询消息。 查看消息列表。 消息按发生时间顺序倒序排列,可查看全部已读、未读的消息 。 查看消息详情。 单击目标消息名称,进入消息详情页面。 可查看消息基本信息。 图3 查看消息详情
  • 操作步骤 登录堡垒机系统。 单击右上角,展开任务中心小窗口。 可查看最新三条“执行中”任务。 图1 任务中心小窗口 单击“查看更多”,进入任务中心列表页面。 图2 任务中心列表 查询任务。 在搜索框中输入关键字,根据任务标题内容快速查询任务。 查看任务列表。 在任务列表可以查看到正在进行的任务、已完成的任务和被停止的任务。 查看任务详情。 单击目标任务名称,进入任务详情页面。 可查看任务基本信息和任务执行结果。 图3 查看任务详情。
  • 关注资源 呈现当前用户可管理用户、主机、应用、应用服务器的统计数据,以及未处理告警消息的数量。 用户角色需分别获取“用户管理”、“主机管理”、“应用发布”、“应用服务器”模块管理权限,以及开启角色管理权限,即可查看系统控制板统计信息。当角色权限只有其中一个时,默认不显示统计控制板。 用户 呈现当前用户可管理用户数。单击用户模块,跳转到用户列表页面,可管理当前用户列表。 主机 呈现当前用户可管理主机资源数。单击主机模块,跳转到主机列表页面,可管理当前主机资源列表。 应用 呈现当前用户可管理应用发布资源数。单击应用模块,跳转到应用列表页面,可管理当前应用资源列表。 应用服务器 呈现当前用户可管理应用服务器数。单击应用服务器模块,跳转到应用服务器列表页面,可管理当前应用服务器列表。 告警 呈现当前用户未处理告警消息数。单击告警模块,跳转到消息中心页面,可管理当前消息列表。
  • 通过MSTSC客户端登录堡垒机 用户获取资源运维权限后,可通过MSTSC客户端直接登录进行运维操作。 打开本地远程桌面连接(MSTSC)工具。 在弹出的对话框中,“计算机”列,输入“堡垒机IP:53389”。 图1 配置计算机 单击“连接”,在登录页面完成登录。 username:堡垒机用户登录名@Windows主机资源账户名@Windows主机资源IP:Windows远程端口(默认3389),例如admin@Administrator@192.168.1.1:3389。 “Windows主机资源账户名”必须是已添加到堡垒机中的资源账户,且登录方式是”自动登录“,否则无法识别Windows主机资源账户,且无法生成运维审计文件。不支持实时会话运维。如何添加主机资源账户,请参考添加资源账户章节。 password:输入当前堡垒机的用户密码。
  • 操作步骤 启动浏览器,在Web地址栏中输入系统登录地址,进入系统登录页面。 登录地址:https://堡垒机实例EIP。例如,https://10.10.10.10。 受浏览器兼容性限制,当浏览器版本与堡垒机系统不匹配时,可能导致登录时获取不到验证信息,或登录后页面显示异常,建议使用推荐的浏览器及版本。推荐浏览器请参见使用限制。 在登录页面选择登录方式。 按选择的登录方式,依次填入登录名、静态密码、动态验证码等信息。
  • 步骤2:业务流量切换 在TaurusDB实例信息页面,等待迁移状态到达“增量迁移中”,并且复制时延小于60秒时,进行业务流量切换。 图8 观察迁移状态和复制时延 单击“业务流量切换”。 在弹框中,确认迁移实例信息,单击“是”。 在TaurusDB实例信息页面,查看实例状态为“RDS一键迁移|vip切换中”。 业务切换完成,可以看到源实例和目标实例的读写状态发生了改变,读写内网地址也变成了RDS for MySQL的内网地址,数据复制方向也发生了变化。 图9 迁移完成后的读写状态和复制方向 图10 迁移成功后的IP信息 如果不想使用TaurusDB实例,也可以进行迁移恢复。您可以单击“迁移恢复”,在弹框中,确认恢复信息,单击“是”。 图11 迁移恢复 图12 迁移恢复弹框 迁移恢复完成之后,迁移信息又恢复到了迁移之前的状态。 图13 迁移恢复后的读写状态和复制方向 图14 迁移恢复后的IP信息
  • 步骤3:结束迁移 当完成迁移之后,可以结束迁移,结束迁移之后,会终止DRS迁移任务。数据将不会进行实例之间的同步,并且会释放迁移锁。TaurusDB实例开始计费,并且会进行一次全量备份。 您可以通过如下方法结束迁移。 在TaurusDB实例信息页面,单击“结束迁移”。 图15 结束迁移 在弹框中,确认需要结束的迁移实例信息,单击“是”。 图16 确认迁移结束实例信息 待结束迁移完成之后,TaurusDB实例就会和正常实例一样了。
  • 备份清理 已有备份文件超出备份保留天数后会自动删除。考虑到数据完整性,自动删除时仍然会保留最近的一次超过保留天数的全量备份,保证在保留天数内的数据可正常恢复。 示例: 假如备份周期选择“周一”、“周二”,保留天数设置为“2”,表示超过两天的全量备份和增量备份会被自动删除。即周一产生的备份会在周三删除,同理,周二产生的备份会在周四删除。根据上述“全量备份文件自动删除策略”,备份文件的删除策略如下: 本周一产生的全量备份,会在本周四当天自动删除。原因如下: 本周二的全量备份在本周四当天超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即本周二的备份会被保留),因此周四当天删除本周一产生的全量备份文件。 本周二产生的全量备份,会在下周三当天自动删除。原因如下: 下周一产生的全量备份在下周三超过保留天数,按照全量备份文件自动删除策略,会保留最近的一个超过保留天数的全量备份(即下周一的备份会被保留),因此下周三当天删除本周二产生的全量备份。
  • 操作场景 创建TaurusDB数据库实例时,系统默认开启自动备份策略。实例创建成功后,您可根据业务需要设置自动备份策略。TaurusDB按照用户设置的自动备份策略对数据库进行备份。 TaurusDB的备份操作是实例级的,而不是数据库级的。当数据库故障或数据损坏时,可以通过备份恢复数据库,从而保证数据可靠性。由于开启备份会损耗数据库读写性能,建议您选择业务低峰时间段启动自动备份。 设置自动备份策略后,会按照策略中的备份时间段和备份周期进行全量备份。实例在执行备份时,按照策略中的保留天数进行存放,备份时长和实例的数据量有关。 在进行全量备份的同时系统每5分钟会自动生成增量备份,用户不需要设置。生成的增量备份可以用来将库表数据恢复到指定时间点。
  • 步骤2:测试连通性并安装MySQL客户端 登录E CS 实例,请参见《弹性云服务器用户指南》中“SSH密码方式登录”。 在TaurusDB“实例管理”页面,单击实例名称进入实例概览页面。 在实例的“网络信息”区域获取读写内网地址和数据库端口。 图4 读写内网地址和数据库端口 在ECS上测试是否可以正常连接到TaurusDB实例读写内网地址和端口。 telnet 192.168.6.144 3306 如果可以通信,说明网络正常。 如果无法通信,请检查安全组规则。 查看ECS的安全组的出方向规则,如果目的地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将TaurusDB实例的读写内网地址和端口添加到出方向规则。 查看TaurusDB的安全组的入方向规则,如果源地址不为“0.0.0.0/0”且协议端口不为“全部”,需要将ECS实例的私有IP地址和端口添加到入方向规则,具体操作请参考设置TaurusDB安全组规则。 图5 TaurusDB的安全组 在浏览器下载Linux系统的MySQL客户端安装包。 在下载页面找到对应版本链接,以mysql-community-client-8.0.21-1.el6.x86_64为例,下载安装包。建议您下载的MySQL客户端版本高于已创建的TaurusDB实例中数据库版本。 将安装包上传到ECS。 您可以使用任何终端连接工具(如WinSCP、PuTTY等工具)将安装包上传至ECS。 在ECS上执行以下命令安装MySQL客户端。 rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm 如果安装过程中报conflicts,可增加replacefiles参数重新安装,如下: rpm -ivh --replacefiles mysql-community-client-8.0.21-1.el6.x86_64.rpm 如果安装过程中提示需要安装依赖包,可增加nodeps参数重新安装,如下: rpm -ivh --nodeps mysql-community-client-8.0.21-1.el6.x86_64.rpm
  • 步骤1:购买ECS 登录管理控制台,查看是否有弹性云服务器。 有Linux弹性云服务器,执行3。 有Windows弹性云服务器,参考通过MySQL-Front连接TaurusDB实例。 无弹性云服务器,执行2。 图1 ECS实例 购买弹性云服务器时,选择Linux操作系统,例如CentOS。 由于需要在ECS下载MySQL客户端,因此需要为ECS绑定弹性公网IP(EIP),并且选择与TaurusDB实例相同的区域、VPC和安全组,便于TaurusDB和ECS网络互通。 购买Linux弹性云服务器请参考《弹性云服务器快速入门》中“购买弹性云服务器”章节。 在ECS实例基本信息页,查看ECS实例的区域和VPC。 图2 ECS基本信息 在TaurusDB实例概览页面,查看TaurusDB实例的区域和VPC。 图3 查看TaurusDB实例的区域和VPC 确认ECS实例与TaurusDB实例是否处于同一区域、同一VPC内。 是,执行步骤2:测试连通性并安装MySQL客户端。 如果不在同一区域,请重新购买实例。不同区域的云服务之间内网互不相通,无法访问实例。请就近选择靠近您业务的区域,可减少网络时延,提高访问速度。 如果不在同一VPC,可以修改ECS的VPC,请参见切换虚拟私有云。
  • 使用说明 转存冷表数据 您可以在控制台上将指定表设置为冷表,该表数据将存储在OBS上,从而释放磁盘空间并且降低存储成本。具体操作详见通过控制台设置冷表。 查询冷表数据 创建冷表后,对于冷表数据的查询方法与普通表一致,可以使用select命令查询,具体操作详见通过SQL操作设置冷表。 修改冷表数据 如果您需要修改已经存储到OBS上的冷表,您需要先通过控制台的回迁功能将OBS上的冷表回迁到实例上,此回迁操作不会删除OBS上的冷表数据。如果需要删除OBS上的数据,请“提交工单”处理。 删除冷表数据 创建冷表后,便无法对冷表执行DDL语句,因此无法直接删除冷表,也无法删除该表所在的库。 需要将冷表回迁后,使用drop命令删除。
  • 原理简介 TaurusDB支持将低频使用的Innodb引擎的表转存到OBS上,这些转存之后的表被称之为冷表。 图1 原理图 创建冷表 为了达到释放磁盘空间并且实现降低存储成本的目的,您可以将暂时不需要修改数据且磁盘空间占用较大的表转存为冷表,该表数据将存储在OBS上。 回迁冷表 将指定表存储为冷表后,如果需要修改该表或频繁查询该表,您可以将该冷表重新回迁到实例上,回迁后不会删除OBS上存储的表数据。
  • 注意事项 创建冷表时,禁止执行DDL或DML语句。 创建了冷表的实例不可作为全量备份恢复和时间点恢复操作的目标实例。 冷表仅支持查询操作,不支持DDL和DML语句,且访问速度较慢,建议将不常用的归档类数据表转换为冷表。 当需要归档的表是分区表时,单次归档只支持单个分区;若需要归档多个分区,则需要针对每个分区单独进行归档。 若以分区为对象进行归档,则仅支持对归档分区以外的分区执行DDL语句。对首个分区不支持DROP。不支持REMOVE PARTITIONING。不支持表级别的DDL语句。 若冷表中存在外键,则其对应的主表禁止执行DDL语句。 归档时,对库名,表名,分区名中的特殊字符需要进行转义。 归档的冷数据存储桶为单AZ并行文件系统,AZ级故障时可能会导致冷数据访问异常。 回迁冷表后,存储桶中的冷数据不会自动删除。 回迁冷表后,对应的冷数据在实例自动备份保留周期后,需要手动在控制台下发删除,否则会一直产生冷数据计费。 开启过冷热分离功能的实例恢复到新实例时,会拷贝存储桶中的冷数据,恢复时长会相应的增加。
  • 前提条件 需要确认以下参数值才可开启Binlog日志开关。 内核版本小于2.0.45.230900时,需要确认“log-bin”参数值为“ON”。您可参考修改TaurusDB实例参数查看或修改参数值。 内核版本大于或等于2.0.45.230900时,需要确认“rds_global_sql_log_bin”参数值为“ON”。 内核版本的查询方法请参见如何查看云数据库 TaurusDB实例的版本号。 查看和下载Binlog日志前,需要先开启Binlog日志开关,具体操作请参考开启Binlog日志。
  • 批量升级内核小版本 在“实例管理”页面,选择多个目标实例,单击列表左上方“补丁升级”。 图7 批量补丁升级 每次选择的实例数量不能超过100个。 在“补丁升级”弹框中,确认需要升级的实例信息,并选择“升级方式”。 图8 选择升级方式 立即升级:系统会立即升级您的数据库内核版本到当前最新版本。操作完成后,可进入任务中心的“即时任务”页签,查看该升级任务的相关信息。 可维护时间段内升级:系统会在您设置的可维护时间段内,升级您的数据库内核版本到当前最新版本。操作完成后,可进入任务中心的“定时任务”页签,查看该升级任务的相关信息。 确认信息无误后,按照提示在输入框中输入“YES”,单击“确定”。 等待2~5分钟,观察实例是否已经开始进行补丁升级,如果没有进行补丁升级,需要检查参数“rds_global_sql_log_bin”的值为“ON”,参数“binlog_expire_logs_seconds”大于或等于“86400”,否则将无法进行补丁版本升级。 如果参数设置正确,实例仍然没有开始升级,有可能是“rds_sql_log_bin_inconsistent_count”的值不为“0”,请等待“rds_sql_log_bin_inconsistent_count”的值为“0”后再进行升级。
  • 后续操作 返回实例列表,在左侧导航栏,选择“任务中心”,查看版本升级任务的执行进度。 对于升级方式为“立即升级”的任务: 在“即时任务”页签,搜索“TaurusDB实例版本升级”任务,查看执行进度。即时任务不支持取消。 对于升级方式为“可维护时间段内升级”的任务: 在“定时任务”页签,搜索实例ID,查看该实例下版本升级的任务执行情况。 如果任务为“待执行”状态,单击“取消”,可取消执行该升级任务。 更多操作,请参见查看TaurusDB实例任务。
  • 注意事项 当有对应的小版本更新时(定期同步开源社区问题、漏洞修复),请及时手动立即升级或者设置可维护时间段升级小版本。 升级数据库内核小版本会重启TaurusDB实例,服务可能会出现闪断,请您尽量在业务低峰期执行该操作,或确保您的应用有自动重连机制。 如果实例有大量表分区(100w+),重启实例时间可能会达到2小时以上。 如果数据库内核从8.0.18升级到8.0.22版本,分区数大于1000时可能会升级失败,请升级之前联系华为云工程师协助检查版本兼容性。 如果主节点和只读节点在同一个AZ,升级内核小版本会触发一次主备倒换;如果在不同AZ,则会触发两次主备倒换。主备倒换指主节点与只读节点进行切换。 升级实例小版本时,如有只读节点,也会同步升级只读节点的小版本,升级完成会重启实例,请您选择合适的时间升级(不支持单独升级只读实例的小版本)。升级内核小版本后,实例会升级到最新的内核小版本,升级成功,无法降级。 小版本升级过程中禁止EVENT的DDL操作,如CREATE EVENT、DROP EVENT和ALTER EVENT。 如果只读节点到主节点的复制延迟大于300秒,则无法升级小版本。 如果实例当前数据库版本低于2.0.51.240305,实例会先升级到2.0.51.240305。 内核版本需要升级到2.0.54.240600及以上版本时,请先确认参数“rds_global_sql_log_bin”的值为“ON”,参数“binlog_expire_logs_seconds”的值大于或等于“86400”,否则将无法进行补丁版本升级。参数设置请参考修改TaurusDB实例参数。
  • 开发环境准备 在开发的过程中请满足如下环境要求。 表1 环境要求 环境和工具名称 版本要求 说明 操作系统 HarmonyOS 5.0.1 Release(Build Version: 5.0.0.123)及以上 详见HarmonyOS官网版本说明。 HarmonyOS SDK HarmonyOS 5.0.1 Release SDK(API 13 Release)及以上 - DevEco Studio DevEco Studio 5.0.1(Build Version: 5.0.5.315)及以上 - 测试资源及App ID申请 - 请参见“开发前准备”。 云会议SDK在Harmony OS系统上,仅支持按系统Navigation路由方式集成。鸿蒙系统官方已不推荐使用Router路由方式 。
  • X-WSSE认证 短信发送的接口使用X-WSSE认证。 X-WSSE是具有一定格式的字符串,通常是单个 HTTP 标头行。 X-WSSE格式为:UsernameToken Username="app_key的值", PasswordDigest="PasswordDigest的值", Nonce="随机数", Created="随机数生成时间"。 PasswordDigest:根据PasswordDigest = Base64 (SHA256 (Nonce + Created + Password))生成,直接使用Nonce、Created、Password拼接后的字符串进行SHA256加密即可,字符串中无需包含+号和空格。其中,Password为app_secret的值。 Nonce:用户发送请求时生成的一个随机数,长度为1~128位,可包含数字和大小写字母。例如:66C92B11FF8A425FB8D4CCFE0ED9ED1F。 Created:随机数生成时间。采用标准UTC格式,例如:2018-02-12T15:30:20Z。不同编程语言中的时间格式转换方式不同,部分语言可参考表3。 获取X-WSSE令牌后,在调用短信发送接口时,您需要在请求消息头中按以下方式添加X-WSSE。 POST /sms/batchSendSms/v1 HTTP/1.1 x-real-ip: 10.10.10.10 x-real-port: 10443 host: ompap.inner content-length: 184 date: Fri, 13 Apr 2018 06:31:39 GMT authorization: WSSE realm="SDP",profile="UsernameToken",type="Appkey" x-wsse: UsernameToken Username="ARBRz4bAXoFgEH7o4Ew308eXc1RA",PasswordDigest="NDA1MWIwNjI2ZTkyNWFlM2FhMTE5NDE1YTk5NjU1YWE4NjNlZTY1MmRhYzkxZGViNzczZjdjMjkzZWQ4ZjAwNA==",Nonce="ac1c911c4792492687f8f6b2264a491e",Created="2018-05-26T00:35:30Z" accept: application/json content-type: application/x-www-form-urlencoded from=1069********0012&to=%2B86155****5678&templateId=abcdefghabcdefghabcdefghabcdefgh&templateParas=%5B%22520520%22%5D&statusCallback=http%3A%2F%2F205%2E145%2E111%2E168%3A9330%2Freport
  • 请求示例 查询短信应用,请求方式:GET,请求URI:/v2/{project_id}/msgsms/apps,返回短信应用数据列表,传入参数projectId,limit,offset,region。 GET /v2/845ada5bc7444f1295cd517af0123da1/msgsms/apps?app_name=auto_test789 Host: 100.85.***.***:30300 Content-Type: application/json X-Auth-Token:******
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 results Array of SmsAppQueryResp 查询结果 total Long 总数 表5 响应SmsAppQueryResp参数 参数 是否必选 参数类型 描述 id 否 String 应用主键ID,用于获取、修改应用的唯一标识 create_time 否 String 创建时间 update_time 否 String 更新时间 customer_id 否 String 租户customer id resource_id 否 String 租户resource id developer_account 否 String 租户开发者账号 app_name 否 String 应用名称 omp_app_name 否 String omp应用名称 app_key 否 String 应用key up_link_addr 否 String 上行短信地址 status 否 String 应用状态 CREATED:待上线。应用暂未创建成功,请稍候。 SUSPENDED:暂停。无法发起业务请求。当客户所发短信内容触发业务违规,或客户申请退订短信业务时,运营经理会将客户短信应用暂停。 LAUNCHED:正常。应用添加成功,可以正常使用。 industry 否 Integer 行业类型 region 否 String 地域 1. cn:国内 2. intl:国际 enterprise_project_id 否 String 企业项目ID enterprise_project_name 否 String 企业项目名称 ip_white_list 否 String IP白名单 app_access_addr 否 String 接入地址 protocol 否 String 协议 platform 否 String 平台 is_support_multiomp 否 boolean 是否支持多OMP tenant 否 TentantBasic - 表6 TentantBasic 参数 是否必选 参数类型 描述 customer_id 否 String 租户customer id customer_name 否 String 租户customer name enterprise_name 否 String 租户企业名称
  • 响应示例 { "results": [ { "id": "9e61f59c-1a6b-4ee5-9651-5bca450694b3", "create_time": "2022-08-12 06:51:17", "update_time": "2022-08-12 06:51:17", "customer_id": "******c55c3c4526b2ed7a0213bc9871", "resource_id": "******8a-a690-4e14-a1c7-2430937336d0", "developer_account": "****66_sms", "app_name": "auto_test789", "app_key": "******3baZf4c856O4Qrbqvui3K2", "status": "LAUNCHED", "region": "cn", "intl_channel_num": "******886739", "enterprise_project_id": "0", "enterprise_project_name": "default", "app_access_addr": "https://100.**.***.**:8443", "protocol": "HTTP", "platform": "NFV", } ], "total": 1 }
  • URI GET /v2/{project_id}/msgsms/apps 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 项目ID,参考“获取帐号、用户、项目的名称和ID” 表2 Query参数 参数 是否必选 参数类型 描述 app_name 否 String 应用名称 end_time 否 String 结束时间 limit 否 Integer 数量,默认值10 offset 否 Integer 偏移量 region 否 String 地域 cn:国内 intl:国际 sort_dir 否 String 排序方式 desc:降序 asc:升序 sort_key 否 String 排序字段,仅支持create_time start_time 否 String 开始时间 status 否 String 状态
  • 安装SDK 执行如下命令安装华为云Python SDK核心库以及相关服务库。 使用SDK前,您需要安装“huaweicloudsdkcore”和“huaweicloudsdkmsgsms”,具体的SDK版本号请参见SDK开发中心。 使用pip安装 执行如下命令安装华为云Python SDK核心库以及相关服务库: # 安装核心库 pip install huaweicloudsdkcore # 安装MSG SMS 服务库 pip install huaweicloudsdkmsgsms 使用源码安装 执行如下命令安装华为云Python SDK核心库以及相关服务库: # 安装核心库 cd huaweicloudsdkcore-${version} python setup.py install # 安装MSGSMS服务库 cd huaweicloudsdkmsgsms-${version} python setup.py install
  • 代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Python SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 from huaweicloudsdkcore.auth.credentials import BasicCredentials from huaweicloudsdkmsgsms.v2.region.msgsms_region import MsgsmsRegion from huaweicloudsdkcore.exceptions import exceptions from huaweicloudsdkmsgsms.v2 import * if __name__ == "__main__": # 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 # 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 ak = os.environ["CLOUD_SDK_AK"] sk = os.environ["CLOUD_SDK_SK"] # 创建认证 # 创建BasicCredentials实例并初始化 credentials = BasicCredentials(ak, sk) client = MsgsmsClient.new_builder() \ .with_credentials(credentials) \ .with_region(MsgsmsRegion.value_of("cn-north-4")) \ .build() try: # 实例化请求对象 request = CreateAppRequest() request.body = SmsAppAddReq( ) # 调用创建短信应用接口 response = client.create_app(request) print(response) except exceptions.ClientRequestException as e: print(e.status_code) print(e.request_id) print(e.error_code) print(e.error_msg) 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 MsgsmsRegion.valueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码msgsms_region.py中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区 域名 称。 项目源码及更多详细的使用指导请参考华为云Python软件开发工具包(Python SDK)。 推荐您使用API在线调试工具 API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
  • 代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Java SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 package com.huaweicloud.sdk.test; import com.huaweicloud.sdk.core.auth.ICredential; import com.huaweicloud.sdk.core.auth.BasicCredentials; import com.huaweicloud.sdk.core.exception.ConnectionException; import com.huaweicloud.sdk.core.exception.RequestTimeoutException; import com.huaweicloud.sdk.core.exception.ServiceResponseException; import com.huaweicloud.sdk.msgsms.v2.region.MsgsmsRegion; import com.huaweicloud.sdk.msgsms.v2.*; import com.huaweicloud.sdk.msgsms.v2.model.*; public class CreateAppSolution { public static void main(String[] args) { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 String ak = System.getenv("CLOUD_SDK_AK"); String sk = System.getenv("CLOUD_SDK_SK"); // 创建认证 ICredential auth = new BasicCredentials() .withAk(ak) .withSk(sk); // 创建MsgsmsClient实例并初始化 MsgsmsClient client = MsgsmsClient.newBuilder() .withCredential(auth) .withRegion(MsgsmsRegion.valueOf("cn-north-4")) .build(); // 实例化请求对象 CreateAppRequest request = new CreateAppRequest(); SmsAppAddReq body = new SmsAppAddReq(); request.withBody(body); try { // 调用创建短信应用接口 CreateAppResponse response = client.createApp(request); System.out.println(response.toString()); } catch (ConnectionException e) { e.printStackTrace(); } catch (RequestTimeoutException e) { e.printStackTrace(); } catch (ServiceResponseException e) { e.printStackTrace(); System.out.println(e.getHttpStatusCode()); System.out.println(e.getRequestId()); System.out.println(e.getErrorCode()); System.out.println(e.getErrorMsg()); } } } 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 MsgsmsRegion.valueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码MsgsmsRegion.java中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区域名称。 项目源码及更多详细的使用指导请参考华为云Java软件开发工具包(Java SDK)。 推荐您使用API在线调试工具API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
  • 代码示例 以调用创建短信应用接口为例,以下代码示例向您展示使用Go SDK的主要步骤: 创建认证。 创建MsgsmsClient实例并初始化。 实例化请求对象。 调用创建短信应用接口。 package main import ( "fmt" "github.com/huaweicloud/huaweicloud-sdk-go-v3/core/auth/basic" msgsms "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2" "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2/model" region "github.com/huaweicloud/huaweicloud-sdk-go-v3/services/msgsms/v2/region" ) func main() { // 认证用的ak和sk直接写到代码中有很大的安全风险,建议在配置文件或者环境变量中密文存放,使用时解密,确保安全。 // 本示例以ak和sk保存在环境变量中为例,运行本示例前请先在本地环境中设置环境变量CLOUD_SDK_AK和CLOUD_SDK_SK。 ak := os.Getenv("CLOUD_SDK_AK") sk := os.Getenv("CLOUD_SDK_SK") // 创建认证 auth := basic.NewCredentialsBuilder(). WithAk(ak). WithSk(sk). Build() // 创建MsgsmsClient实例并初始化 client := msgsms.NewMsgsmsClient( msgsms.MsgsmsClientBuilder(). WithRegion(region.ValueOf("cn-north-4")). WithCredential(auth). Build()) // 实例化请求对象 request := &model.CreateAppRequest{} request.Body = &model.SmsAppAddReq{ } // 调用创建短信应用接口 response, err := client.CreateApp(request) if err == nil { fmt.Printf("%+v\n", response) } else { fmt.Println(err) } } 参数 说明 ak 您的华为云账号访问密钥ID(Access Key ID)。 sk 您的华为云账号秘密访问密钥(Secret Access Key)。 region.ValueOf("cn-north-4") 请替换为您要访问的MSGSMS平台所在区域,当前MSGSMS支持访问的区域,在SDK代码region.go中已经定义。 您可以在MSGSMS控制台页面左上角查看当前服务所在区域名称。 项目源码及更多详细的使用指导请参考华为云Go软件开发工具包(Go SDK)。 推荐您使用API在线调试工具API Explorer ,API Explorer支持快速调试和检索,调试API的同时,可以根据您的参数实时生成各种开发语言的SDK示例代码,方便您直接根据示例代码使用SDK。
  • 开发前准备 已 注册华为账号 并开通华为云,完成企业实名认证。 已开通华为云MSGSMS服务。 已具备Java开发环境 ,支持Java JDK 1.8及以上版本。 已获取应用的Application Key(app_key)和Application Secret(app_secret)。 请在华为云控制台“应用管理”页面上创建和查看您的Application Key和Application Secret。具体请参见应用管理。 已获取您要发送短信的通道号。 由于通道号与签名关联,请在华为云控制台“签名管理”页面上查看您的通道号,如果您还没有通道号,则您需要先提交签名申请,待签名申请通过后,系统会分配通道号。具体请参见签名管理。 已获取您要发送短信的模板ID。 请在华为云控制台“模板管理”页面上创建和查看您的模板ID。具体请参见模板管理。
  • 运行结果 发送短信(BatchSendSms) ```json class BatchSendSmsResponse { code: 000000 description: Success result: [class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3774 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3434030 status: 000000 countryId: CN total: 1 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3776 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3434031 status: 000000 countryId: CN total: 1 }] } ``` 发送分批短信(BatchSendDiffSms) ```json class BatchSendDiffSmsResponse { code: 000000 description: Success result: [class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3774 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435044 status: 000000 countryId: CN total: 0 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3775 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435045 status: 000000 countryId: CN total: 0 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3777 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435046 status: 000000 countryId: CN total: 1 }, class SmsID { createTime: 2024-11-22T02:16:46Z from: 8824110605*** originTo: +86137****3778 smsMsgId: eb4e63dd-0945-4231-a48d-6b54c1a8b614_3435047 status: 000000 countryId: CN total: 1 }] } ```
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全