爆款云主机低至1.5折起,Token套餐低至9.9元/月起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 818 天翼云云智盛典 NEW 爆款云主机低至1.5折起,Token套餐低至9.9元/月起
  • 安全隔离版OpenClaw NEW OpenClaw云服务器专属“龙虾“套餐低至1.5折起
  • 聚力AI赋能 天翼云大模型专项 大模型特惠专区·Token Plan 轻享包低至9.9元起
  • 青云志云端助力计划 NEW 一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云
  • 企业出海解决方案 NEW 助力您的业务扬帆出海,通达全球!
  • 天翼云信创专区 NEW “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富
  • 云上钜惠 爆款云主机全场特惠,2核4G只要1.8折起!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
星辰TokenHub
  • 模型广场
  • 体验中心
  • 服务接入
星辰MaaS平台
  • 星辰MaaS智能体平台
  • 星辰大模型
大模型
  • glm-5.3-flash
  • GLM-5.2
  • deepseek-v4-pro-0813
  • deepseek-v4-flash-0713-new
  • qwen3.8-flash
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
应用托管
  • 天翼云DramaFlow2.0
  • 应用实例
科研助手
  • 开发机
  • 并行计算
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
智能体引擎
  • 智能体引擎
可信数据空间
  • 可信数据空间
公共算力服务
  • 裸金属
  • 定制裸金属
智算一体机
  • 智算一体机
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入AI Store公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 智教云电脑
  • WPS 365 天翼云版
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)
  • 琥珀数据压缩归档服务
智慧教育
  • 智擎思政平台(个人版)
  • 智擎研学平台(个人基础版)

定价

协助您快速了解云产品计费模式、价格详情,轻松预估上云成本
价格计算器
  • 动态测算产品价格
定价策略
  • 快速了解计费模式

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
天翼云培训认证
  • 天翼云学堂
天翼信创云专区
  • 信创云专区
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
培训与认证
  • 天翼云学堂
  • 天翼云认证
开源社区
  • 魔乐社区
  • OpenTeleDB

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 服务保障
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家
我要反馈
  • 建议与反馈
  • 用户体验官
信息公告
  • 客户公告

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2026智能云生态大会
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      云服务备份_相关内容
      • 认证鉴权
        信息的获取 云网平台获取 登录云网门户,在“控制台”>“个人中心”>“ 第三方账号绑定 ”,通过创建或者查看获取ak,sk。 基本签名流程 ctyuneopak/ctyuneopsk基本签名流程 1、待签字符串:使用规范请求和其他信息创建待签字符串; 2、计算密钥:使用HEADER、ctyuneopsk、ctyuneopak来创建Hmac算法的密钥; 3、计算签名:使用第三步的密钥和待签字符串在通过hmacsha256来计算签名。 4、签名应用:将生成的签名信息作为请求消息头添加到HTTP请求中。 创建待签名字符串 待签名字符串的构造规则如下: 待签名字符串 需要进行签名的Header排序后的组合列表+ "n" + 排序的query + "n" + toHex(sha256(原封的body)) 需要进行签名的Header排序后的组合列表(排序的header) header 以 headername:headervalue来一个一个通过n拼接起来,EOP是强制要求ctyuneoprequestid和eopdate这个头作为Header中的一部分,并且必须是待签名Header里的一个。需要进行签名算法的Header需要进行排序(将它们的headername以26个英文字母的顺序来排序),将排序后得到的列表进行遍历组装成待签名的header。 排序的query query以&作为拼接,key和值以连接,排序规则使用26个英文字母的顺序来排序,Query参数全部都需要进行签名。 toHex(sha256(原封的body)) 传进来的body参数进行sha256摘要,对摘要出来的结果转十六进制。 排序的header例子: 假设你需要将ctyuneoprequestid、eopdate、host都要签名,则待签名的header构造出来是: ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n ctyuneoprequestid、eopdate和host的排序就是这个顺序,如果你加入一个ccad的header;同时这个header也要是进行签名,则待签名的header组合: ccda:123n ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n 构造动态密钥 发起请求时,需要构造一个eopdate的时间,这个时间的格式是yyyymmddTHHMMSSZ;言简意赅一些,就是年月日T时分秒Z 1、先是拿你申请来的ctyuneopsk作为密钥,eopdate作为数据,算出ktime 2、拿ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; 3、拿kAk作为密钥,eopdate的年月日值作为数据;算出kdate eopdate yyyymmddTHHMMSSZ(20211221T163614Z)(年月日T时分秒Z) :: Ktime 使用ctyuneopsk作为密钥,eopdate作为数据,算出ktime; Ktime hmacSha256(ctyuneopsk, eopdate) kAk 使用ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; kAk hmacsha256(ktime,ctyuneopak) kdate 使用kAk作为密钥,eopdate的年月日值作为数据;算出kdate; kdate hmacsha256(kAk, eopdate)
        来自:
        帮助文档
        VPC终端节点
        API参考
        如何调用API
        认证鉴权
      • 开启云主机保护
        开启云主机保护 接口功能介绍 开启云主机保护 接口约束 无 URI POST /v4/scaling/group/protectenable 路径参数 无 Query参数 无 请求参数 请求头header参数 无 请求体body参数 参数 是否必填 参数类型 说明 示例 下级对象 regionID 是 String 资源池ID 81f7728662dd11ec810800155d307d5b groupID 是 Integer 伸缩组ID 542 instanceIDList 是 Array of Integers 实例ID列表 [474] 响应参数 参数 参数类型 说明 示例 下级对象 statusCode Integer 返回码:800表示成功,900表示失败 800 errorCode String 业务细分码,为product.module.code三段式码 Scaling.Group.NotFound 错误码 message String 失败时的错误描述,一般为英文描述 scaling group info not found description String 失败时的错误描述,一般为中文描述 未找到弹性伸缩组信息 returnObj Object 成功时返回的数据,参见表returnObj returnObj 表 returnObj 参数 参数类型 说明 示例 下级对象 instanceIDList Array of Integers 实例ID列表 [474] 请求示例 请求头header 无 请求体body json { "groupID": 542, "regionID": "81f7728662dd11ec810800155d307d5b", "instanceIDList": [ 474 ] }
        来自:
        帮助文档
        弹性伸缩服务 AS
        API参考
        API(公测中)
        伸缩组云主机
        开启云主机保护
      • 使用限制
        分类 组件 版本 微服务 org.springframework.cloud:springclouddependencies 2021.0.8 微服务 org.springframework.boot:springbootstarterweb 2.7.12 微服务 org.springframework.cloud:springcloudstarteropenfeign 3.1.8 微服务 org.apache.dubbo:dubbo 2.7.13 负载均衡 org.springframework.cloud:springcloudloadbalancer 3.1.7 微服务注册中心 com.alibaba.cloud:springcloudstarteralibabanacosdiscovery 2021.1 消息队列 org.apache.rocketmq:rocketmqclient 4.8.0 数据库 mysql:mysqlconnectorjava 5.1.40及以上版本 8.0.15及以上版本 数据库 org.postgresql:postgresql 42.5.0及以上版本
        来自:
        帮助文档
        应用高可用平台11
        产品简介
        应用容灾多活
        使用限制
      • 操作系统升级
        本节介绍云容器引擎的最佳实践:操作系统升级。 操作系统升级指允许对集群中的工作节点进行操作系统版本升级。 升级方式 开通新集群 新建节点池并扩容 更换节点池操作系统 使用须知 通过更换节点池操作系统方式来升级操作系统采用节点重置方式实现,节点重置有关注意事项如下: 重置节点将对节点操作系统进行重置安装,节点上已运行的工作负载业务将会中断,请在业务低峰期操作。 节点重置后系统盘,挂载kubelet、containerd的数据盘将会被清空,重置前请事先备份重要数据。 用户节点如果有自行挂载了数据盘,重置完后会清除挂载信息,请事先备份重要数据,重置完成后请重新执行挂载行为,数据不会丢失。 节点上的工作负载实例的IP会发生变化,但是不影响容器网络通信。 操作过程中,后台会把当前节点设置为不可调度状态。 节点重置会清除用户单独添加的K8S标签和污点(通过节点池编辑功能添加的标签、污点不会丢失),可能导致与节点有绑定关系的资源(本地存储,指定调度节点的负载等)无法正常使用。请谨慎操作,避免对运行中的业务造成影响。 重置节点会导致与节点关联的localpv类型的PVC/PV数据丢失,无法恢复,且PVC/PV无法再正常使用。重置节点时使用了本地持久存储卷的Pod会从重置的节点上驱逐,并重新创建Pod,Pod会一直处于 pending状态,因为Pod使用的PVC带有节点标签,由于冲突无法调度成功。节点重置完成后,Pod可能调度到重置好的节点上,此时Pod会一直处于creating状态,因为PVC对应的底层逻辑卷已经不存在了。 重置节点使用的相关配置是节点所在节点池的最新配置。 更多升级节点池和节点重置相关内容请参见升级节点池 、节点重置。
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        节点和节点池
        操作系统升级
      • 认证鉴权
        信息的获取 云网平台获取 登录云网门户,在“控制台”>“个人中心”>“ 第三方账号绑定 ”,通过创建或者查看获取ak,sk。 基本签名流程 ctyuneopak/ctyuneopsk基本签名流程 1、待签字符串:使用规范请求和其他信息创建待签字符串; 2、计算密钥:使用HEADER、ctyuneopsk、ctyuneopak来创建Hmac算法的密钥; 3、计算签名:使用第三步的密钥和待签字符串在通过hmacsha256来计算签名。 4、签名应用:将生成的签名信息作为请求消息头添加到HTTP请求中。 创建待签名字符串 待签名字符串的构造规则如下: 待签名字符串 需要进行签名的Header排序后的组合列表+ "n" + 排序的query + "n" + toHex(sha256(原封的body)) 需要进行签名的Header排序后的组合列表(排序的header) header 以 headername:headervalue来一个一个通过n拼接起来,EOP是强制要求ctyuneoprequestid和eopdate这个头作为Header中的一部分,并且必须是待签名Header里的一个。需要进行签名算法的Header需要进行排序(将它们的headername以26个英文字母的顺序来排序),将排序后得到的列表进行遍历组装成待签名的header。 排序的query query以&作为拼接,key和值以连接,排序规则使用26个英文字母的顺序来排序,Query参数全部都需要进行签名。 toHex(sha256(原封的body)) 传进来的body参数进行sha256摘要,对摘要出来的结果转十六进制。 排序的header例子: 假设你需要将ctyuneoprequestid、eopdate、host都要签名,则待签名的header构造出来是: ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n ctyuneoprequestid、eopdate和host的排序就是这个顺序,如果你加入一个ccad的header;同时这个header也要是进行签名,则待签名的header组合: ccda:123n ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n 构造动态密钥 发起请求时,需要构造一个eopdate的时间,这个时间的格式是yyyymmddTHHMMSSZ;言简意赅一些,就是年月日T时分秒Z 1、先是拿你申请来的ctyuneopsk作为密钥,eopdate作为数据,算出ktime 2、拿ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; 3、拿kAk作为密钥,eopdate的年月日值作为数据;算出kdate eopdate yyyymmddTHHMMSSZ(20211221T163614Z)(年月日T时分秒Z) :: Ktime 使用ctyuneopsk作为密钥,eopdate作为数据,算出ktime; Ktime hmacSha256(ctyuneopsk, eopdate) kAk 使用ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; kAk hmacsha256(ktime,ctyuneopak) kdate 使用kAk作为密钥,eopdate的年月日值作为数据;算出kdate; kdate hmacsha256(kAk, eopdate)
        来自:
        帮助文档
        共享带宽 SBW
        API参考
        如何调用API
        认证鉴权
      • 产品功能
        媒体存储为客户提供丰富的数据管理、数据处理、数据安全的产品能力。 块存储 产品能力 功能说明 接入方式 支持iSCSI接入方式。 块空间管理 支持通过控制台管理块设备资源,包括创建、扩容、删除等操作。 鉴权管理 可通过控制台管理文件资源访问权限,接入使用资源时进行鉴权。 文件存储 产品能力 功能说明 接入方式 提供NFS、CIFS两种类型接口,支持NFSV4.0、SMB2、SMB3协议。 文件空间管理 支持通过控制台管理文件资源,包括创建、扩容、删除等操作。 鉴权管理 可通过控制台管理文件资源访问权限,接入使用资源时进行鉴权。 对象存储 产品能力 功能说明 对象管理 支持文件的上传/分片上传/追加上传、下载、删除、复制、前缀搜索、移动功能、追加上传支持整个对象内容MD5计算、可自定义元数据。 对象标签 通过对象(Object)标签功能,对Object进行分类管理,比如列举指定标签的Object、对指定标签的Object配置统一的生命周期。 跨域资源共享 通过桶上配置跨域规则,允许或禁止某些网站的跨域请求。 生命周期 对象存储支持按照过期天数等灵活的策略配置生命周期管理机制。 镜像回源 通过镜像回源功能,当请求者向存储桶(Bucket)请求不存在的文件时,从回源规则设置的源站获取目标文件。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 桶清单 通过桶清单功能,定时生成桶内指定文件(Object)的数量、大小、存储类型、加密状态的清单信息,并保存到指定Bucket。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 桶标签 通过存储桶(Bucket)的标签功能, 对 Bucket 进行分类管理,比如列举带有指定标签的Bucket。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 文件解压缩 通过压缩包解压规则,当上传满足条件的压缩包文件时,服务将自动解压该压缩包后,将文件保存到Bucket中。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 访问权限 支持基于资源的访问权限策略,包括Bucket ACL、Object ACL、 Bucket Policy。 防盗链 可通过是否允许空Referer或黑白名单设置,校验访问账号内资源操作的合法性。 主子账号 可基于子账号进行资源访问与管理授权。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 STS角色管理 支持STS临时凭证,可对其他用户颁发临时凭证,无需透露owner的AKSK。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 合规保留 媒体存储以“不可删除、不可篡改”方式保存和使用数据。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 版本控制 针对Object的覆盖和删除操作将会以版本的形式保存下来,可将 Object 恢复至指定的历史版本。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 服务端加密 媒体存储可对收到的文件进行加密,再保存加密后的文件,用户下载文件时,服务自动将加密文件解密后返回给用户。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 存储桶复制 支持跨不同存储区域或同一存储区域的Bucket 自动、异步(近实时)复制对象(Object)。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 数据迁移 支持多种数据迁移能力,可以满足客户多种数据迁移场景,包括存储桶迁移、跨账号迁移、跨云数据迁移。 事件通知 当资源发生变动时,用户可及时接收通知消息。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 日志存储 通过日志存储功能,将操作日志按照固定的命名规则,以5分钟为单位写入指定的Bucket。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 告警管理 支持告警规则管理,包括添加告警规则,管理告警规则,查看告警消息等。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 自定义域名 通过自定义域名绑定功能,可以通过已绑定的自定义域名访问存储桶内的文件。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 操作日志 支持查询指定时间内在控制台操作的相关日志。 实时日志查询 支持查询通过API或SDK操作对象存储的相关日志。目前实时日志查询为内测功能,如需使用,可联系客户经理或提交工单申请。 用量统计 统计并支持查询存储空间、流量与请求次数用量信息。 图片处理 提供的产品自带图片处理功能,包括基础图片转换、水印功能、原图保护、视频截帧、数据处理持久化保存等功能。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 视频截帧 对象存储内置提供视频截帧功能,可截取出H264视频文件中的指定位置内容的对应图片。 仅部分资源池支持,具体可参考:资源池与区域节点。如需使用,可联系客户经理或提交工单申请。 工具指南 提供图形化客户端工具以及网络测速工具。 API接口 提供REST形式的访问接口,可直接调用相应接口完成操作。 SDK 对媒体存储提供的REST API进行的封装,可直接调用SDK提供的接口函数进行使用。
        来自:
        帮助文档
        媒体存储
        产品介绍
        产品功能
      • 创建桶
        参数 描述 复制桶配置 可选。单击“选择源桶”后,可以在桶列表中选择一个源桶。返回后页面会自动复制源桶的以下配置信息:区域 / 数据冗余策略 / 存储类别 / 桶策略 / 服务端加密 / 归档数据直读 / 企业项目 / 标签。 选择后您仍可以根据业务情况对复制的配置信息进行部分或全部更改。 区域 桶所属区域。请选择靠近您业务的区域,以降低网络时延,提高访问速度。桶创建成功后,不支持变更区域,请谨慎选择。 桶名称 桶的名称。需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。桶创建成功后,不支持修改名称,创建时,请设置合适的桶名。OBS中桶按照DNS规范进行命名,DNS规范为全球通用规则, 其具体命名规则如下: 需全局唯一,不能与已有的任何桶名称重复,包括其他用户创建的桶。用户删除桶后,立即创建同名桶或并行文件系统会创建失败,需要等待30分钟才能创建。 长度范围为3到63个字符,支持小写字母、数字、中划线()、英文句号(.)。 禁止两个英文句号(.)相邻,禁止英文句号(.)和中划线()相邻,禁止以英文句号(.)和中划线()开头或结尾。 禁止使用IP地址。 说明 当用户使用虚拟主机方式通过HTTPS协议访问OBS时,如果桶名称中包含英文句号(.),会导致证书校验失败。所以该场景下,建议桶名称不要使用英文句号(.) 数据冗余存储策略 多AZ存储:数据冗余存储至多个可用区(AZ),可靠性更高。 单AZ存储:数据仅存储在单个可用区(AZ),成本更低。 注意 请根据业务情况提前规划数据冗余存储策略,桶一旦创建成功,数据冗余存储策略就确定了,后续无法更改。 归档存储的桶不支持多AZ功能。 默认存储类别 桶的存储类别。不同的存储类别可以满足客户业务对存储性能、成本的不同诉求。 标准存储:适用于有大量热点文件或小文件,且需要频繁访问(平均一个月多次)并快速获取数据的业务场景。 低频访问存储:适用于不频繁访问(平均一年少于12次),但需要快速获取数据的业务场景。 归档存储:适用于很少访问(平均一年一次),且对数据获取速率要求不高的业务场景。 桶策略 桶的读写权限控制。 私有:除桶ACL授权外的其他用户无桶的访问权限。 公共读:任何用户都可以对桶内对象进行读操作。 公共读写:任何用户都可以对桶内对象进行读/写/删除操作。 服务端加密 选择“SSEKMS”加密。加密密钥类型您可以选择“默认密钥”,您上传的对象将使用当前区域的默认密钥进行加密,如果您没有默认密钥,系统将会在首次上传对象时自动为您创建,您也可以选择“自定义密钥”,通过单击“创建KMS密钥”进入数据加密服务页面创建自定义密钥,然后通过KMS密钥的下拉框选中您创建的KMS密钥。若桶已开启了默认加密,上传对象可以继承桶的KMS加密特性。 归档数据直读 通过归档数据直读,您可以直接下载存储类别为归档存储的对象, 而无需提前恢复。 企业项目 将桶加入到企业项目中统一管理。请先在企业项目界面完成企业项目的创建,默认为default企业项目。在企业项目界面创建企业项目,创建用户组并将用户加入到该用户组,然后将用户组添加到该企业项目。这时用户组内用户将获得用户组授权的该企业项目下的桶和对象的操作权限。 说明 仅企业帐号能够配置企业项目 标签 可选。标签用于标识OBS中的桶,以此达到对OBS中的桶进行分类的目的。OBS以键值对的形式来描述标签,每个标签有且只有一对键值。
        来自:
        帮助文档
        对象存储 OBS
        快速入门
        创建桶
      • 变更实例规格
        本小节介绍云堡垒机变更实例规格。 当云堡垒机的资产规格不能满足需求时,可对云堡垒机实例进行资产规格升级,扩大纳管的资产数上限、增加数据盘容量(即版本、资产规格、存储扩容)。 支持跨版本变更实例的资产规格。例如,由标准版10资产升级到企业版20资产。 系统影响 变更规格过程大约需要10分钟,变更规格期间云堡垒机系统不可用,业务中断,但不影响主机资源运行。建议用户不要登录云堡垒机系统进行操作,以免重要数据丢失影响使用。 约束限制 只有2.0及以上版本的堡垒机支持提升规格。 仅支持云堡垒机升级,暂不支持降级。 不支持升级实例类型(不支持由单机版升级到主备版)。若需要升级实例类型,请先备份相关数据,退订单机版后重新订购主备版。 前提条件 已获取管理控制台的登录账号与密码。 实例已绑定EIP,且EIP可用。 实例的状态为“已关机”时支持变更规格。 计费样例 计费场景: 某用户于2025/01/01购买了一个云堡垒机实例,购买时长1年(在包月总价基础上享受85折优惠),规格如下: 实例类型:单机版 版本:标准版 资产规格:10资产 使用一段时间后,用户发现当前规格无法满足业务需要,于2025/10/01进行升级(还剩3个月到期),需要升级的规格如下: 实例类型:单机版 版本:企业版 资产规格:20资产 计费分析: 新配置价格高于老配置价格,执行升级操作时,您需要支付新老配置的差价。 计算公式:升级费用(新配置价格旧配置价格)剩余周期优惠折扣 本示例中,相关参数如下: 旧配置价格:10资产标准版,标准资费650元/个/月 新配置价格:20资产企业版,标准资费1280元/个/月 剩余周期:3个月 优惠折扣:享受85折优惠 说明 若实例升级时仍在原包年周期内,则升级差价可继续享受原有的包年折扣。 代入公式可得,执行升级时需要支付的费用为:(1280650)×3×0.851606.5元 注意 本样例仅供参考,实际需支付的费用请以云堡垒机(原生版)控制台展示为准。
        来自:
        帮助文档
        云堡垒机(原生版)
        计费说明
        计费说明(一类节点)
        变更实例规格
      • 操作指导
        本节介绍云等保专区产品的数据库审计。 数据库审计v1.0是专业的数据库应用安全防护产品,帮助用户应对网站运营中的安全风险,为数据库应用提供全方位的防护,提供覆盖数据库使用全生命周期的安全防护解决方案。 功能介绍 产品功能分为原始信息收集 、审计信息标准化 、审计信息筛选 、预警与报表四大模块。 原始信息收集 通过旁路镜像的模式部署 不改变用户现有网络结构 不占用数据库服务器资源 不影响数据库性能 支持分布式部署 实现配置与报表的集中管理 并发流量采集与处理、多点存储、多级管理 自动定期发现功能,及时发现未知数据库 审计信息标准化 支持国内外主流数据库,包括传统的数据库系统、大数据系统和Web系统等。 具体支持的系统和版本如下表所示: 数据库分类 数据库系统 版本 关系型 Oracle 8i、9i、10g、11g、12c、18c、19c、21c 关系型 MySQL 4.0、4.1、5.0、5.1、5.5、5.6、5.7、8.0 关系型 SQL Server 2000、2005、2008、2012、2014、2016、2017、2019 关系型 Sybase ASE 11.9、12.5 关系型 DB2 v80、v81、v82、v95、v97、v10.5、v11.1、v11.5 关系型 Informix IDS9 关系型 Oscar 5.5、5.7 关系型 达梦(DM) DM7、DM8 关系型 Cache 2010、2016 关系型 PostgreSQL 9、10、11、12、13、14 关系型 Teradata 所有版本 关系型 人大金仓(Kingbase) V6、V7、V8 关系型 GBase 8.5a、8.8s 关系型 MariaDB 5.1、5.2、5.3、5.5、10.0、10.1、10.2、10.3 关系型 Hana 1.0、2.0 关系型 GaussDB 100、200、300 关系型 LibrA 6 关系型 KDB 11 关系型 Sybase IQ 15.4 关系型 TiDB 4.X、5.X 关系型 Vertica 7、8、9、10、11 关系型 OceanBase 2.X 关系型 PolarDB MySQL、PostgreSQL、兼容Oracle语法 关系型 PolarDBX 1.0/MySQL5、1.0/MySQL8、2.0/MySQL5.7 关系型 AnalyticDB MySQL、PostgreSQL 关系型 TBase V2 关系型 HighGo 6.0 关系型 TDSQLC MySQL 5.7、8.0 关系型 TDSQLC PostgreSQL 10、14 非关系型 MongoDB 2.x、3.x、4.x、5.x 非关系型 HBase(protobuf) 所有版本 非关系型 HBase(thrift) Thrift1、thrift2 非关系型 Hive 1.X、2.X、3.X 非关系型 Redis 所有版本 非关系型 Elasticsearch 所有版本 非关系型 Cassandra 3.X 非关系型 HDFS 所有版本 非关系型 Impala 3.X 非关系型 Graphbase 6 非关系型 Greenplum 5、6 非关系型 Spark SQL(thrift) 1.x、2.x 非关系型 Spark SQL(RESTful) 1.x、2.x 非关系型 SSDB 所有版本 非关系型 ArangoDB 3.4.9 非关系型 Neo4j 4.2.0 非关系型 OrientDB 3.1.6 大数据 HBase(protobuf) 所有版本 大数据 HBase(thrift) thrift1、thrift2 大数据 Hive 1.X、2.X、3.X 大数据 Cassandra 3.X 大数据 HDFS 所有版本 大数据 Impala 3.X 大数据 Graphbase 5、6 大数据 Spark SQL(thrift) 1.x、2.x 大数据 Spark SQL(RESTful) 1.x、2.x 大数据 SSDB 所有版本 大数据 MAX COMPUTE 所有版本 图形 Graphbase 6 图形 ArangoDB 3.4.9 图形 Neo4j 4.2.0 图形 OrientDB 3.1.6 全文检索 Elasticsearch 所有版本 文档 MongoDB 2.x、3.x、4.x、5.x 文档 ArangoDB 3.4.9 键值 Redis 所有版本 其他 HTTP 所有版本 其他 Telnet 所有版本 其他 FTP 所有版本 RDS MySQL 5.5、5.6、5.7、8.0 RDS SQL Server 2008 R2云盘版、2012 Web、2012企业版 单机、2012企业版、2012标准版、2014企业版、2014标准版、2016 Web、2016企业版、2016标准版、2017 Web、2017企业集群版、2017标准版、2019 Web、2019企业集群版、2019标准版 RDS PostgreSQL 10、11、12、13、14 将不同数据库协议按照标准化的格式进行展示,方便管理人员阅读和分析。
        来自:
        帮助文档
        云等保专区
        用户指南
        数据库审计
        数据库审计v1.0
        操作指导
      • 产品定义
        自动数据备份 支持将集群快照自动备份到EB级对象存储服务OBS(Object Storage Service)中,方便利用业务空闲期对集群做周期备份以保证集群异常后的数据恢复。 快照是DWS集群在某一时间点的完整备份,记录了这一时刻指定集群的所有配置数据和业务数据。 工具链 提供了数据并行加载工具GDS(General Data Service)、SQL语法迁移工具DSC(Database Schema Convertor)、SQL开发工具Data Studio,并支持通过控制台对集群进行运维监控。 集群逻辑架构 DWS集群逻辑架构如下图所示。实例的详细介绍请参见下表“集群架构说明”。 集群架构说明 名称 描述 说明 GTM 全局事务管理器(Global Transaction Manager),负责生成和维护全局事务ID、事务快照、时间戳等全局唯一的信息。 整个集群只有一组GTM:主、备GTM各一个。 WLM 工作负载管理器(Workload Manager)。控制系统资源的分配,防止过量业务负载对系统的冲击而导致业务拥塞和系统崩溃。 不同于集群中的实例(GTM、CM、CN、DN)模块,不需要在安装过程中指定主机名称。安装程序会自动在各主机上安装此模块。 CN 协调节点(Coordinator)。负责接收来自应用的访问请求,并向客户端返回执行结果;负责分解任务,并调度任务分片在各DN上并行执行。 集群中,CN有多个并且CN的角色是对等的(执行DML语句时连接到任何一个CN都可以得到一致的结果)。只需要在CN和应用程序之间增加一个负载均衡器,使得CN对应用是透明的。CN故障时,由负载均衡自动路由连接到另外一个CN。 当前分布式事务框架下无法避免CN之间的互连,为了减少GTM上线程过多导致负载过大,建议CN配置数目≤10个。 DWS通过CCN(Central Coordinator)负责集群内的资源全局负载控制,以实现自适应的动态负载管理。CM在第一次集群启动时,通过集群部署形式,选择编号最小的CN作为CCN。若CCN故障之后,由CM选择新的CCN进行替换。 DN 数据节点(Datanode)。负责存储业务数据(支持行存、列存、混合存储)、执行数据查询任务以及向CN返回执行结果。 在集群中,DN有多个。每个DN存储了一部分数据。集群部署常用方式为主备从高可用模式,若DN故障时导致该实例上的数据无法访问,可进行集群高可用操作,详情请参见。 Storage 服务器的本地存储资源,持久化存储数据。 集群的每个DN上负责存储数据,其存储介质也是磁盘。下图“数据库逻辑结构图”从逻辑上介绍了每个DN上都有哪些对象,以及这些对象之间的关系,其中: Database,即数据库,用于管理各类数据对象,各数据库间相互隔离。 Datafile Segment,即数据文件,通常每张表只对应一个数据文件。如果某张表的数据大于1GB,则会分为多个数据文件存储。 Table,即表,每张表只能属于一个数据库。 Block,即数据块,是数据库管理的基本单位,默认大小为8KB。 数据有三种分布方式,可以在建表的时候指定:REPLICATION、ROUNDROBIN 、HASH。 数据库逻辑结构图
        来自:
        帮助文档
        数据仓库服务
        产品简介
        产品定义
      • 事前预防措施
        提升员工安全意识 禁止随便点击邮件中的不明附件或快捷方式,网站链接等。 禁止从来历不明的网站下载的一些文档。 重要文件或信息(如密码口令等)需要加密,防止泄露。 重要文件定期备份 用户自行对重要文档数据与数据库文件做备份。 使用备份产品对主机、硬盘、文件目录或数据库进行备份。 定期系统安全巡检 对可疑文件/进程或应用进行清理,如后缀名异常文件、来源不明的应用等。 系统/软件即时更新补丁 及时修复系统漏洞,定期更新。 上线前进行主机安全加固 关闭不必要的端口,减少暴露面。 关闭不必要的网络访问,减少暴露面。 系统安全配置检查:核查系统配置,如设置密码策略、设置用户锁定策略、禁用Guest账户、限制匿名用户连接等。 不设置弱密码 设置复杂口令: 长度为8~26个字符;包含大小写字母、数字及符号3种。 不能包含与账号名相关的信息。 不能使用连续3个及以上键位排序字符,如123,Qwe。 不能使用常用的具有特殊含义的字符串等。
        来自:
        帮助文档
        服务器安全卫士(原生版)
        最佳实践
        云上勒索病毒防护实践
        防护措施
        事前预防措施
      • 恢复出厂设置
        常见问题 • Q:恢复出厂设置需要多长时间? A:通常需要 1~3 分钟,包括恢复和重启过程。 • Q:恢复出厂设置会丢失哪些数据? A:所有用户配置、自定义设置、历史会话记录等都将被清除,恢复到初始安装状态。 • Q:什么情况下需要恢复出厂设置? A:当 XClaw 出现严重问题无法通过自动修复解决,或需要将服务转让给他人使用时。 • Q:恢复出厂设置后可以恢复之前的数据吗? A:不能,恢复出厂设置是不可逆操作,执行前请务必备份重要数据。 • Q:恢复出厂设置后需要做什么? A:系统重启后,您需要重新进行初始配置,包括设置IM通道、配置模型等。
        来自:
        帮助文档
        应用托管
        用户指南
        XClaw(内测功能)
        高级功能
        恢复出厂设置
      • 重启实例
        本章节介绍如何重启实例。 操作场景 您可能需要重启数据库实例,通常是出于维护目的。例如:对于某些运行参数修改,需要重启单个实例使之生效。您可通过控制台对主机和只读实例执行重启操作。 只有实例状态为可用时才能进行重启操作,但正在执行备份或创建只读副本任务的实例不能重启。 注意 如果数据库实例未处于“正常”状态,则无法重启该实例。您的数据库可能会由于几个原因而不可用,例如,正在进行备份或以前请求的修改操作。 重启数据库实例会重新启动数据库引擎服务。重启数据库实例将导致短暂中断,在此期间,数据库实例状态将显示为“重启中”。 重启过程中,实例将不可用。重启后实例会自动释放内存中的缓存,请注意对业务进行预热,避免业务高峰期出现阻塞。 操作步骤 1、登录管理控制台。 2、单击管理控制台左上角的,选择区域和项目。 3、选择“数据库 > 关系型数据库”。进入关系型数据库信息页面。 4、在“实例管理”页面,选择指定的主实例,或者单击展开只读实例,单击“更多 > 重启实例”。 您也可以在“实例管理”页面,单击目标实例名称,在页面右上角,单击“重启实例”。 重启实例时,如果是主备实例,对应的备实例也会被同步重启。 5、在“重启实例”弹框,单击“是”重启实例。 6、稍后刷新实例列表,查看重启结果。如果实例状态为“正常”,说明实例重启成功。
        来自:
        帮助文档
        关系数据库SQL Server版
        用户指南
        管理数据库实例
        重启实例
      • 支持监控的关键操作说明
        关键操作名称 说明 实例操作 对实例进行的操作,例如实例重启,停止等。 节点操作 对实例单个节点进行的操作,如节点恢复、停止等。 白名单 实例白名单相关操作,如删除、新增、修改。 备份操作 创建备份,修改备份策略等操作。 实例参数操作 修改实例参数的操作。 实例远程操作 杀空闲连接和VACUUM表操作。 审计日志 开关、修改审计日志设置的操作。 实例用户操作 创建用户、删除用户等操作。 数据库操作 创建数据库、删除数据库等操作。 实例标签 新增实例标签、删除标签等操作。 参数模板操作 创建、修改参数模板等操作。
        来自:
        帮助文档
        关系数据库PostgreSQL版
        用户指南
        安全监控
        操作日志
        支持监控的关键操作说明
      • 退订
        您可根据业务需要,手动退订实例来释放资源。本文为您介绍如何退订关系数据库MySQL版实例。 约束限制 退订主实例时,如果存在只读实例、数据库代理,将会同时退订,退订后实例将进入回收站。 当前实例如果已经被drds实例关联,则禁止退订,需要前往drds控制台解除关联才可以退订实例。 对于I类型资源池,如果订购时选择使用对象存储ZOS产品存储备份数据,用户实例退订后,备份还是会继续收费,直至实例冻结期满被彻底删除,收费信息,请参见对象存储ZOS的计费项。您也可以选择提前注销实例避免扣费。 说明 具体涉及到退订的费用以及规则,详细请参见退订规则说明。 退订MySQL数据库,不满整月的按当月实际发生天数退还费用。 退订实例,主实例会进入回收站,您可以在回收站重建该实例,具体操作,请参见实例回收站。 操作步骤退订 注意 在申请退订MySQL实例前,请确认最后一个实例全量物理备份是否可用,以防后续需要对实例进行恢复但无有效数据。如果认为备份数据不够完整或不是最新,建议进行一次手动全量备份后再退订。 如果开启了快照备份,请于退订前妥善处理好存储库中的快照备份文件,该快照备份文件在实例注销后不再可用,由于存储库中存在数据是会继续扣费的,为避免费用损失,可自行评估是否要删除存储库。 1. 在天翼云官网首页的顶部菜单栏,选择产品 > 数据库 > 关系型数据库 > 关系数据库MySQL版 ,进入关系数据库MySQL产品页面。然后单击管理控制台 ,进入概览页面。 2. 在左侧导航栏,选择MySQL > 实例管理,进入实例列表页面。然后在顶部菜单栏,选择区域和项目。 3. 在实例列表中,找到目标实例,然后在操作 列选择更多 > 退订。 4. 在退订页面,阅读完提示后,可对实例进行退订。 5. 会给当前登录账号的手机发送验证码,验证成功即可退订。
        来自:
        帮助文档
        关系数据库MySQL版
        用户指南
        实例管理
        退订
      • 重启实例
        说明:本章节会介绍如何重启实例 操作场景 通常出于维护目的,您可能需要重启数据库实例。例如:对于某些运行参数修改,需要重启单个实例使之生效。您可通过控制台对主实例和只读实例执行重启操作。 重启实例需要同时满足以下要求: 实例为可用状态。 未在执行备份或创建只读副本任务。 如果数据库实例未处于“正常”状态,则无法重启该实例。您的数据库可能会由于几个原因而不可用,例如,正在进行备份或以前请求的修改操作。 重启数据库实例会重新启动数据库引擎服务。重启数据库实例将导致短暂中断,在此期间,数据库实例状态将显示为“重启中”。 重启过程中,实例将不可用。重启后实例会自动释放内存中的缓存,请注意对业务进行预热,避免业务高峰期出现阻塞。 操作步骤 步骤1 登录管理控制台。 步骤2 单击管理控制台左上角的,选择区域和项目。 步骤3 选择“数据库 > 关系型数据库”。进入关系型数据库信息页面。 步骤4 在“实例管理”页面,选择指定的主实例,或者单击展开只读实例,单击“更多 > 重启实例”。 您也可以在“实例管理”页面单击目标实例名称,进入“基本信息”页面。在页面右上角,单击“重启实例”。 重启实例时,如果是主备实例,对应的备实例也会被同步重启。 步骤5 在“重启实例”弹框,单击“是”重启实例。 步骤6 稍后刷新实例列表,查看重启结果。如果实例状态为“正常”,说明实例重启成功。
        来自:
        帮助文档
        专属云(关系型数据库MySQL)
        用户指南
        实例管理
        重启实例
      • 认证鉴权
        信息的获取 云网平台获取 登录云网门户,在“控制台”>“个人中心”>“ 第三方账号绑定 ”,通过创建或者查看获取ak,sk。 基本签名流程 ctyuneopak/ctyuneopsk基本签名流程 1、待签字符串:使用规范请求和其他信息创建待签字符串; 2、计算密钥:使用HEADER、ctyuneopsk、ctyuneopak来创建Hmac算法的密钥; 3、计算签名:使用第三步的密钥和待签字符串在通过hmacsha256来计算签名。 4、签名应用:将生成的签名信息作为请求消息头添加到HTTP请求中。 创建待签名字符串 待签名字符串的构造规则如下: 待签名字符串 需要进行签名的Header排序后的组合列表+ "n" + 排序的query + "n" + toHex(sha256(原封的body)) 需要进行签名的Header排序后的组合列表(排序的header) header 以 headername:headervalue来一个一个通过n拼接起来,EOP是强制要求ctyuneoprequestid和eopdate这个头作为Header中的一部分,并且必须是待签名Header里的一个。需要进行签名算法的Header需要进行排序(将它们的headername以26个英文字母的顺序来排序),将排序后得到的列表进行遍历组装成待签名的header。 排序的query query以&作为拼接,key和值以连接,排序规则使用26个英文字母的顺序来排序,Query参数全部都需要进行签名。 toHex(sha256(原封的body)) 传进来的body参数进行sha256摘要,对摘要出来的结果转十六进制。 排序的header例子: 假设你需要将ctyuneoprequestid、eopdate、host都要签名,则待签名的header构造出来是: ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n ctyuneoprequestid、eopdate和host的排序就是这个顺序,如果你加入一个ccad的header;同时这个header也要是进行签名,则待签名的header组合: ccda:123n ctyuneoprequestid:123456789neopdate:20210531T100101Znhost:1.1.1.1:9080n 构造动态密钥 发起请求时,需要构造一个eopdate的时间,这个时间的格式是yyyymmddTHHMMSSZ;言简意赅一些,就是年月日T时分秒Z 1、先是拿你申请来的ctyuneopsk作为密钥,eopdate作为数据,算出ktime 2、拿ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; 3、拿kAk作为密钥,eopdate的年月日值作为数据;算出kdate eopdate yyyymmddTHHMMSSZ(20211221T163614Z)(年月日T时分秒Z) :: Ktime 使用ctyuneopsk作为密钥,eopdate作为数据,算出ktime; Ktime hmacSha256(ctyuneopsk, eopdate) kAk 使用ktime作为密钥,你申请来的ctyuneopak数据,算出kAk; kAk hmacsha256(ktime,ctyuneopak) kdate 使用kAk作为密钥,eopdate的年月日值作为数据;算出kdate; kdate hmacsha256(kAk, eopdate)
        来自:
        帮助文档
        弹性IP EIP
        API参考
        如何调用API
        认证鉴权
      • 服务端加密
        介绍配置服务端加密的具体步骤。 适用场景 媒体存储支持服务端加密,当用户对存储桶配置服务端加密后,XOS将上传到该桶的对象进行加密,再将加密对象持久化保存。当用户通过GetObject请求下载对象时,XOS自动将加密对象解密后返回给用户,并在响应头中返回xamzserversideencryption,用于声明该对象进行了服务器端加密。 注意 本功能仅会对开启服务端加密之后上传的对象进行加密,不会改变已有对象的加密状态。关闭服务端加密,也不会影响已有对象的加密状态。 产品支持XOS完全托管,即密钥完全托管于服务端。 控制台仅支持配置AES256加密算法。 适用区域 本功能目前仅部分资源池支持,具体可参考:资源池与区域节点。 如需使用,可联系客户经理或提交工单申请。 配置桶默认加密 创建桶配置服务端加密 在创建桶的弹窗中,选择服务端加密方式以及对应的加密算法。创建桶的具体操作可参考:新建Bucket。 已创建的存储桶开启服务端加密 1. 登录媒体存储控制台,进入【对象存储Bucket列表】菜单。 2. 选择需要设置服务端加密的存储桶,进入【基础配置】标签页。 3. 在【服务端加密】设置项,点击【编辑】。 4. 在弹窗中选择【XOS完全托管】以及对应的加密算法,点击【确定】完成操作。 关闭桶默认加密 1. 登录媒体存储控制台,进入【对象存储Bucket列表】菜单。 2. 选择需要关闭服务端加密的存储桶,进入【基础配置】标签页。 3. 在【服务端加密】设置项,点击【编辑】。 4. 在弹窗中选择【无】,点击【确定】。
        来自:
        帮助文档
        媒体存储
        控制台指南
        对象存储
        数据安全
        服务端加密
      • 企业站点之间以设备直连方式进行组网
        参数 描述 实例名称 智能网关实例名称,长度为164字符,以大小写字母或中文开头,可包含数字、“.”、 “”、“”。 组网方案 可选“高性能核心网”或者“互联网直连”。 “高性能核心网”表示各个设备均需连接到SDWAN POP上,设备上的流量通过POP之间的网络进行传输; 互联网直连表示各个设备之间直接打通,流量不经过POP绕转。 这里需选择“互联网直连”。 区域 所属位置信息。 基础带宽 互联网直连组网方案暂不支持带宽限速,无需配置带宽。 网关形态 可选择硬件版、软件版,这里选择“硬件版”。 是否购买设备 表示是否需要从天翼云购买设备。 选择“是”,则天翼云会为您准备一台设备; 选择“否”,则需要用户自备设备。 这里选择“是”。 设备类型 购买设备时,需要选择设备的型号。 可以选择经济版、标准版、企业版、企业增强版。 增值业务 可选的增值业务,包括5G服务、WIFI服务、LTE服务。 使用方式 表示设备的使用方式。可选择单机或者双机备份。 地址信息 表示设备的装机地址。请准确填写地址信息,提交订单后不支持更改。
        来自:
        帮助文档
        天翼云SD-WAN
        最佳实践
        企业站点之间以设备直连方式进行组网
      • 变更集群实例的节点
        本节主要介绍变更集群实例的节点 添加集群实例节点 使用须知 账户余额大于等于0元,才可添加节点。 实例状态为正常、删除备份中和恢复检查中时可以添加节点。 实例在备份过程中无法添加节点。 实例进行添加节点时,该实例不可被删除。 计费说明 对于按需计费的实例,添加节点后,依旧按使用时长实时计费。 对于包年/包月的实例,添加节点后,差价需补交。 计费详情请参见产品价格详情。 添加mongos 步骤 1 登录管理控制台。 步骤 2 单击管理控制台左上方的,选择区域和项目。 步骤 3 在页面左上角单击,选择“数据库 > 文档数据库服务 DDS”,进入文档数据库服务信息页面。 步骤 4 在“实例管理”页面,选择指定的集群实例,单击实例名称。 步骤 5 在“基本信息”页面的“节点信息”区域,选择“mongos”页签,单击“添加mongos”。 节点信息 步骤 6 在“添加mongos”页面,选择性能规格、节点数量和参数模板,单击“下一步”。 添加mongos 社区版集群实例最多支持32个mongos节点。 步骤 7 在确认页面,确认节点配置信息。 包年/包月 如需重新选择,单击“上一步”,修改相关配置。 核对无误后,单击“提交订单”,进入付款页面,选择支付方式,完成支付。 按需计费 如需重新选择,单击“上一步”,修改相关配置。 核对无误后,单击“提交”,开始添加节点。 步骤 8 查看添加节点结果。 添加节点过程中,实例运行状态显示为“节点扩容中”,此过程约10~15分钟。 在实例列表的右上角,单击刷新列表,可看到添加节点完成的实例的运行状态显示为“正常”。 在实例“基本信息”页面的“节点信息”区域,选择“mongos”页签,可查看新增mongos节点信息。 若添加mongos节点失败,可进行批量回退或单个删除操作,详见[回退集群实例的节点](
        来自:
        帮助文档
        文档数据库服务
        用户指南
        变更实例
        变更集群实例的节点
      • Java调用示例
        1. com.ffcs.ebp.ebpsdk.common.Response plaintext package com.ffcs.ebp.ebpsdk.common; import java.util.Map; public class Response { private int statusCode; private String body; private Map headers; public int getStatusCode() { return statusCode; } public void setStatusCode(int statusCode) { this.statusCode statusCode; } public String getBody() { return body; } public void setBody(String body) { this.body body; } public Map getHeaders() { return headers; } public void setHeaders(Map headers) { this.headers headers; } } 2. com.ffcs.ebp.ebpsdk.YunSign plaintext package com.ffcs.ebp.ebpsdk; import com.ffcs.ebp.ebpsdk.common.Response; import org.apache.commons.lang.StringUtils; import org.apache.http.Header; import org.apache.http.HttpEntity; import org.apache.http.client.config.AuthSchemes; import org.apache.http.client.config.CookieSpecs; import org.apache.http.client.config.RequestConfig; import org.apache.http.client.methods.; import org.apache.http.config.Registry; import org.apache.http.config.RegistryBuilder; import org.apache.http.conn.socket.ConnectionSocketFactory; import org.apache.http.conn.socket.PlainConnectionSocketFactory; import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.SSLConnectionSocketFactory; import org.apache.http.entity.StringEntity; import org.apache.http.impl.client.CloseableHttpClient; import org.apache.http.impl.client.HttpClients; import org.apache.http.impl.conn.PoolingHttpClientConnectionManager; import org.apache.http.util.EntityUtils; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; import javax.net.ssl.SSLContext; import javax.net.ssl.TrustManager; import javax.net.ssl.X509TrustManager; import java.io.; import java.net.URLEncoder; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; import java.security.KeyManagementException; import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; import java.security.cert.X509Certificate; import java.text.SimpleDateFormat; import java.util.; public class YunSign { private String url; private String body; private String ak; private String sk; private String uuId; private int temp; private String contentType; private String queryStr; private Map headerMap; private String afterQuery; public YunSign(String url, String ak, String sk, String uuId, String body, int temp, String contentType, String queryStr, Map headerMap) { this.url url; if(body.equals("{}")){ body ""; } this.body body; this.ak ak; this.sk sk; this.uuId uuId; this.temp temp; this.contentType contentType; this.queryStr queryStr; this.headerMap headerMap; } public Response toDo(String method, int connectTimeout, int connectionRequestTimeout, int socketTimeout) { Response response null; method method.toUpperCase(); switch (method) { case "POST": response doPost(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "GET": if (StringUtils.isNotEmpty(this.body)) { response sendJsonByGetReq(connectTimeout, connectionRequestTimeout, socketTimeout); } else { response doGet(connectTimeout, connectionRequestTimeout, socketTimeout); } break; case "DELETE": if (StringUtils.isNotEmpty(this.body)) { response sendJsonByDeleteReq(connectTimeout, connectionRequestTimeout, socketTimeout); } else { response doDelete(connectTimeout, connectionRequestTimeout, socketTimeout); } break; case "PUT": response doPut(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "PATCH": response doPatch(connectTimeout, connectionRequestTimeout, socketTimeout); break; case "HEAD": response doHead(connectTimeout, connectionRequestTimeout, socketTimeout); break; } return response; } private String getSign(Date eopDate) { String calculateContentHash getSHA256(body); //报文原封不动进行sha256摘要 // System.out.println("calculateContentHash:" + calculateContentHash); SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); SimpleDateFormat DATEFORMATTER new SimpleDateFormat("yyyyMMdd"); String singerDate TIMEFORMATTER.format(eopDate); String singerDd DATEFORMATTER.format(eopDate); //header的key按照26字母进行排序, 以&作为连接符连起来 try { String CampmocalHeader String.format("ctyuneoprequestid:%sneopdate:%sn", this.uuId, singerDate); String sigture CampmocalHeader + "n" + this.afterQuery + "n" + calculateContentHash; // System.out.println("sigture:" + sigture); byte[] ktime HmacSHA256(singerDate.getBytes(), sk.getBytes()); // System.out.println("ktime:" + HexUtils.bytes2Hex(ktime)); byte[] kAk HmacSHA256(ak.getBytes(), ktime); // System.out.println("kAk:" + HexUtils.bytes2Hex(kAk)); byte[] kdate HmacSHA256(singerDd.getBytes(), kAk); // System.out.println("kdate:" + HexUtils.bytes2Hex(kdate)); String Signature Base64.getEncoder().encodeToString(HmacSHA256(sigture.getBytes("UTF8"), kdate)); // System.out.println("Signature:" + Signature); String signHeader String.format("%s Headersctyuneoprequestid;eopdate Signature%s", ak, Signature); // System.out.println("signHeader:" + signHeader); return signHeader; } catch (Exception e) { e.printStackTrace(); } return null; } / 在调用SSL之前需要重写验证方法,取消检测SSL 创建ConnectionManager,添加Connection配置信息 @return HttpClient 支持https / private static CloseableHttpClient sslClient() { try { // 在调用SSL之前需要重写验证方法,取消检测SSL X509TrustManager trustManager new X509TrustManager() { @Override public X509Certificate[] getAcceptedIssuers() { return null; } @Override public void checkClientTrusted(X509Certificate[] xcs, String str) { } @Override public void checkServerTrusted(X509Certificate[] xcs, String str) { } }; SSLContext ctx SSLContext.getInstance(SSLConnectionSocketFactory.TLS); ctx.init(null, new TrustManager[]{trustManager}, null); SSLConnectionSocketFactory socketFactory new SSLConnectionSocketFactory(ctx, NoopHostnameVerifier.INSTANCE); // 创建Registry RequestConfig requestConfig RequestConfig.custom().setCookieSpec(CookieSpecs.STANDARDSTRICT) .setExpectContinueEnabled(Boolean.TRUE).setTargetPreferredAuthSchemes(Arrays.asList(AuthSchemes.NTLM, AuthSchemes.DIGEST)) .setProxyPreferredAuthSchemes(Arrays.asList(AuthSchemes.BASIC)).build(); Registry socketFactoryRegistry RegistryBuilder. create() .register("http", PlainConnectionSocketFactory.INSTANCE) .register("https", socketFactory).build(); // 创建ConnectionManager,添加Connection配置信息 PoolingHttpClientConnectionManager connectionManager new PoolingHttpClientConnectionManager(socketFactoryRegistry); CloseableHttpClient closeableHttpClient HttpClients.custom().setConnectionManager(connectionManager) .setDefaultRequestConfig(requestConfig).build(); return closeableHttpClient; } catch (KeyManagementException ex) { throw new RuntimeException(ex); } catch (NoSuchAlgorithmException ex) { throw new RuntimeException(ex); } } public Response doGet(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); //创建HttpGet远程连接实例 HttpGet httpGet; if (StringUtils.isNotEmpty(this.afterQuery)) { httpGet new HttpGet(this.url + "?" + this.afterQuery); } else { httpGet new HttpGet(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpGet.setHeader("ContentType", this.contentType); httpGet.setHeader("ctyuneoprequestid", this.uuId); httpGet.setHeader("EopAuthorization", getSign(eopDate)); httpGet.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpGet.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpGet.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 httpGet.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(httpGet); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response sendJsonByGetReq(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { Response result new Response(); CloseableHttpClient client null; CloseableHttpResponse response null; try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL client sslClient(); } else { client HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpGetWithEntity远程连接实例 HttpGetWithEntity httpGetWithEntity; if (StringUtils.isNotEmpty(this.afterQuery)) { httpGetWithEntity new HttpGetWithEntity(this.url + "?" + this.afterQuery); } else { httpGetWithEntity new HttpGetWithEntity(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为HttpGetWithEntity实例设置配置 httpGetWithEntity.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpGetWithEntity.setHeader("ContentType", this.contentType); httpGetWithEntity.setHeader("ctyuneoprequestid", this.uuId); httpGetWithEntity.setHeader("EopAuthorization", getSign(eopDate)); httpGetWithEntity.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpGetWithEntity.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpGetWithEntity.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); HttpEntity httpEntity new StringEntity(body, Charset.forName("UTF8")); httpGetWithEntity.setEntity(httpEntity); //执行请求操作,并拿到结果(同步阻塞) response client.execute(httpGetWithEntity); //获取结果实体 HttpEntity entity response.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! client) { try { client.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPost(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpPost远程连接实例 HttpPost httpPost; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPost new HttpPost(this.url + "?" + this.afterQuery); } else { httpPost new HttpPost(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPost.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpPost.setHeader("ContentType", this.contentType); httpPost.setHeader("ctyuneoprequestid", this.uuId); httpPost.setHeader("EopAuthorization", getSign(eopDate)); httpPost.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPost.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPost.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPost.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPost); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPut(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpPut远程连接实例 HttpPut httpPut; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPut new HttpPut(this.url + "?" + this.afterQuery); } else { httpPut new HttpPut(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPut.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(20321900,01,05); httpPut.setHeader("ContentType", this.contentType); httpPut.setHeader("ctyuneoprequestid", this.uuId); httpPut.setHeader("EopAuthorization", getSign(eopDate)); httpPut.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPut.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPut.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPut.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPut); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doPatch(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse httpResponse null; Response result new Response(); try { // 创建httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建HttpPatch远程连接实例 HttpPatch httpPatch; if (StringUtils.isNotEmpty(this.afterQuery)) { httpPatch new HttpPatch(this.url + "?" + this.afterQuery); } else { httpPatch new HttpPatch(this.url); } // 配置请求参数实例 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 设置连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 设置连接请求超时时间 .setSocketTimeout(socketTimeout)// 设置读取数据连接超时时间 .build(); // 为httpPost实例设置配置 httpPatch.setConfig(requestConfig); // 设置请求头 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpPatch.setHeader("ContentType", this.contentType); httpPatch.setHeader("ctyuneoprequestid", this.uuId); httpPatch.setHeader("EopAuthorization", getSign(eopDate)); httpPatch.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpPatch.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpPatch.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 为httpPost设置封装好的请求参数 StringEntity data new StringEntity(body, Charset.forName("UTF8")); httpPatch.setEntity(data); // httpClient对象执行post请求,并返回响应参数对象 httpResponse httpClient.execute(httpPatch); // 从响应对象中获取响应内容 HttpEntity entity httpResponse.getEntity(); result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(httpResponse.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : httpResponse.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! httpResponse) { try { httpResponse.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doDelete(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpGet远程连接实例 HttpDelete httpDelete; if (StringUtils.isNotEmpty(this.afterQuery)) { httpDelete new HttpDelete(this.url + "?" + this.afterQuery); } else { httpDelete new HttpDelete(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpDelete.setHeader("ContentType", this.contentType); httpDelete.setHeader("ctyuneoprequestid", this.uuId); httpDelete.setHeader("EopAuthorization", getSign(eopDate)); httpDelete.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpDelete.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpDelete.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 httpDelete.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(httpDelete); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response sendJsonByDeleteReq(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpGet远程连接实例 HttpDeleteWithBody delete; if (StringUtils.isNotEmpty(this.afterQuery)) { delete new HttpDeleteWithBody(this.url + "?" + this.afterQuery); } else { delete new HttpDeleteWithBody(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); delete.setHeader("ContentType", this.contentType); delete.setHeader("ctyuneoprequestid", this.uuId); delete.setHeader("EopAuthorization", getSign(eopDate)); delete.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { delete.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : delete.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); HttpEntity httpEntity new StringEntity(body, Charset.forName("UTF8")); delete.setEntity(httpEntity); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpGet实例设置配置 delete.setConfig(requestConfig); // 执行get请求得到返回对象 response httpClient.execute(delete); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } public Response doHead(int connectTimeout, int connectionRequestTimeout, int socketTimeout) { CloseableHttpClient httpClient null; CloseableHttpResponse response null; Response result new Response(); try { // 通过址默认配置创建一个httpClient实例 if (temp 0) {//绕过SSL httpClient sslClient(); } else { httpClient HttpClients.createDefault(); } String query this.queryStr; this.afterQuery encodeQueryStr(query); // 创建httpHead远程连接实例 HttpHead httpHead; if (StringUtils.isNotEmpty(this.afterQuery)) { httpHead new HttpHead(this.url + "?" + this.afterQuery); } else { httpHead new HttpHead(this.url); } // 设置请求头信息,鉴权 SimpleDateFormat TIMEFORMATTER new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); Date eopDate new Date(); httpHead.setHeader("ContentType", this.contentType); httpHead.setHeader("ctyuneoprequestid", this.uuId); httpHead.setHeader("EopAuthorization", getSign(eopDate)); httpHead.setHeader("Eopdate", TIMEFORMATTER.format(eopDate)); if (this.headerMap ! null) { for (String key : this.headerMap.keySet()) { if (StringUtils.isNotEmpty(key)) { httpHead.setHeader(key, this.headerMap.get(key).toString()); } } } System.out.println("请求头部 "); for (Header header : httpHead.getAllHeaders()) { System.out.println(header.getName() + ":" + header.getValue()); } System.out.println(); // 设置配置请求参数 RequestConfig requestConfig RequestConfig.custom().setConnectTimeout(connectTimeout)// 连接主机服务超时时间 .setConnectionRequestTimeout(connectionRequestTimeout)// 请求超时时间 .setSocketTimeout(socketTimeout)// 数据读取超时时间 .build(); // 为httpHead实例设置配置 httpHead.setConfig(requestConfig); // 执行head请求得到返回对象 response httpClient.execute(httpHead); // 通过返回对象获取返回数据 HttpEntity entity response.getEntity(); // 通过EntityUtils中的toString方法将结果转换为字符串 result.setBody(EntityUtils.toString(entity, "UTF8")); result.setStatusCode(response.getStatusLine().getStatusCode()); Map headerMap new HashMap (); for (Header header : response.getAllHeaders()) { headerMap.put(header.getName(), header.getValue()); } result.setHeaders(headerMap); } catch (Exception e) { e.printStackTrace(); } finally { // 关闭资源 if (null ! response) { try { response.close(); } catch (IOException e) { e.printStackTrace(); } } if (null ! httpClient) { try { httpClient.close(); } catch (IOException e) { e.printStackTrace(); } } } return result; } private String toHex(byte[] data) { StringBuilder sb new StringBuilder(data.length 2); byte[] var2 data; int var3 data.length; for (int var4 0; var4 2) { String encodeStr null; encodeStr URLEncoder.encode(s[1], "UTF8"); str s[0] + "" + encodeStr; afterQuery afterQuery + str; } else { String encodeStr ""; str s[0] + "" + encodeStr; afterQuery afterQuery + str; } } else { String[] s str.split(""); if (s.length > 2) { String encodeStr URLEncoder.encode(s[1], "UTF8"); str s[0] + "" + encodeStr; afterQuery afterQuery + "&" + str; } else { String encodeStr ""; str s[0] + "" + encodeStr; afterQuery afterQuery + "&" + str; } } } } } catch (Exception e) { e.printStackTrace(); } return afterQuery; } } 3. HexUtils.java plaintext package com.ffcs.ebp.ebpsdk; public class HexUtils { private static final char[] HEXES { '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f' }; / byte数组 转换成 16进制小写字符串 / public static String bytes2Hex(byte[] bytes) { if (bytes null bytes.length 0) { return null; } StringBuilder hex new StringBuilder(); for (byte b : bytes) { hex.append(HEXES[(b >> 4) & 0x0F]); hex.append(HEXES[b & 0x0F]); } return hex.toString(); } / 16进制字符串 转换为对应的 byte数组 / public static byte[] hex2Bytes(String hex) { if (hex null hex.length() 0) { return null; } char[] hexChars hex.toCharArray(); byte[] bytes new byte[hexChars.length / 2]; // 如果 hex 中的字符不是偶数个, 则忽略最后一个 for (int i 0; i headerMap new HashMap<>(); // headerMap.put("queryMetricDataInfo", "{"regionId":"cnsz1","dim":"instanceid,98cdcc8a8e544788ab9cc94ccee429c7","filter":"average","from":"1658473040","to":"1658473040","metricName":"netbitRecv","namespace":"AGT.ECS","period":"1"},"platform":"3"}"); // headerMap.put("platform", "3"); // headerMap.put("consoleUrl", " // headerMap.put("UserAgent", "3333433"); // headerMap.put("XForwardedFor", "1231313"); // headerMap.put("regionId", "100054c0416811e9a6690242ac110002"); // headerMap.put("prodInstId","9dcaf0157c604100af79bdb8271527bc"); //请求地址 String url " //query参数(?后面拼接的参数。没有就不填) aaaa&bbbb String queryStr "regionID41f64827xxxxxxxxxffa3a5deb5d15d"; //body参数(没有就不填) String body ""; //APPID String ak "9f82cacd3f8235c66edfs5e899f098e6"; //appkey String sk "MlgzESz430hJgTzA4lkjuJvDMMLTqwBQRicVqV62VM"; String uuId UUID.randomUUID().toString(); //连接超时 int connectTimeout 35000; //连接请求超时 int connectionRequestTimeout 35000; //socket超时 int socketTimeout 60000; YunSign yunSign new YunSign(url, ak, sk, uuId, body, temp, contentType, queryStr, headerMap); Response response yunSign.toDo(method, connectTimeout, connectionRequestTimeout, socketTimeout); System.out.println("应答头部 "); for (Map.Entry entry : response.getHeaders().entrySet()) { System.out.println(entry.getKey().toString() + ":" + entry.getValue().toString()); } System.out.println(); System.out.println("请求结果 "); System.out.println(response.getBody()); } }
        来自:
        帮助文档
        对象存储 ZOS
        API参考
        API(OpenAPI)
        如何调用API
        Java调用示例
      • 续订云电脑询价v3
        接口功能介绍 续订云电脑询价。 根据云电脑ID列表,查询续订价格。 接口约束 无 URI POST /v3/desktop/describeRenewPrice 路径参数 无 Query参数 参数 是否必填 参数类型 说明 示例 下级对象 regionId 是 String 资源池ID。 xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 请求参数 请求头header参数 无 请求体body参数 参数 是否必填 参数类型 说明 示例 下级对象 cycleType 是 String 周期类型。取值范围: Month:按月。 cycleCnt 是 Integer 周期数。取值范围:136。 desktopOidList 是 Array of Strings 云电脑ID列表,可设置一个或多个,最多10个 ["D0026050601561088"] autoPay 否 Boolean 是否自动支付,默认false。取值范围: true:是(需账号有足够金额) false:否 响应参数 参数 参数类型 说明 示例 下级对象 statusCode Integer 状态码。可能值: 800:请求成功。 900:请求失败。 800 error String 错误码。 ECPC1000 message String 提示信息。 OK. returnObj Object 返回数据对象 returnObj 表 returnObj 参数 参数类型 说明 示例 下级对象 totalPrice Object 总价格。 totalPrice finalPrice Object 最终价格。 finalPrice isSucceed Boolean 是否成功。 true subOrderPrices Array of Objects 价格子项列表。 subOrderPrices 表 subOrderPrices 参数 参数类型 说明 示例 下级对象 totalPrice Object 总价格 totalPrice finalPrice Object 最终价格 finalPrice cycleCount Integer 周期数 serviceTag String 产品类别 orderItemPrices Array of Objects 价格子项明细。 orderItemPrices 表 orderItemPrices 参数 参数类型 说明 示例 下级对象 totalPrice Object 总价格 totalPrice finalPrice Object 最终价格 finalPrice itemId String 项ID instanceCnt String 实例数量 ctyunName String 产品名称 resourceType String 资源类别
        来自:
        帮助文档
        天翼云电脑(政企版)
        API参考
        API
        2023-10-30
        云电脑
        续订云电脑询价v3
      • 准备Windows系统虚拟机环境
        本文档为制作Windows系统私有镜像指导手册的步骤1,准备Windows系统虚拟机环境。 操作场景 制作Windows操作系统的私有镜像,首先需要基于对应版本的原始iso镜像文件,创建出对应版本的Windows虚拟机环境。 通常制作镜像的过程需要基于您本地的电脑或服务器启动Windows虚拟机,因此您在这个过程,在此过程中,您本地的电脑即是承载Windows虚拟机的宿主机。 制作工具 为了使您的私有镜像更好地适用于弹性云主机,本文目标为创建出格式为qcow2的私有镜像,因此推荐您使用Linux操作系统,并安装QEMU和Libvirt作为创建工具。 本文下方的示例中所使用的代码,将以Fedora 40 (Workstation Edition)版本的Linux操作系统作为宿主机,并安装QEMU和Libvirt作为安装工具。 说明 如果您的本地电脑为Windows或者MacOS,建议您通过虚拟化软件启动一台Linux虚拟机,作为创建Windows虚拟机的宿主机。 安装QEMU和Libvirt 在Fedora 40 (Workstation Edition)操作系统中,打开终端,将以下命令一次性粘贴到终端中,并执行回车。 可本机备份后清除此类 ks 文件。 rm f /root/ks.cfg 配置 QEMU 和 libvirt。 dnf install y @virtualization qemusystemaarch64 qemusystemloongarch64 telnet vim dnf autoremove y dnf group remove y LibreOffice 配置 QEMU 和 libvirt。 qemuconfig'/etc/libvirt/qemu.conf' [ ! f "${qemuconfig}.bak" ] && cp "$qemuconfig" "${qemuconfig}.bak" sed i 's/^
        来自:
        帮助文档
        镜像服务 IMS
        用户指南
        私有镜像
        创建私有镜像
        制作Windows系统盘镜像文件
        准备Windows系统虚拟机环境
      • 到期与欠费
        本页介绍了数据传输服务DTS的到期与欠费相关情况。 服务到期与欠费都会影响您的DTS实例的正常使用。 服务到期 “按需计费”任务,无需担心服务到期问题。 “包年/包月”任务到期后将会被暂停,在暂停期间您无法通过DTS控制台对该任务进行操作,无法调用相关接口,监控告警等服务也会停止。如果您没有在暂停期内续费,那么该DTS任务将被终止,并且传输数据也将被永久删除。为了避免数据丢失,我们强烈建议您在暂停期内及时续费,或者提前备份数据并另行妥善保存。 对于到期暂停的任务,您可以在7天内对相关任务进行续费,以继续享用服务。 欠费 “包年/包月”DTS任务,用户已经预先支付了资源费用,因此在账户出现欠费的情况下,已有的包年/包月DTS任务仍可正常使用。 “按需计费”DTS任务是按每小时扣费,当余额不足,无法对上一个小时的费用进行扣费,就会导致任务欠费,任务将会被暂停。您续费后暂停的任务,可继续正常使用,请注意在暂停期进行的续费,是以原到期时间作为生效时间,您应当支付从进入暂停期开始到续费时的服务费用。 对于欠费导致暂停的任务,您可以在7天内充值,对相关实例进行续费,以继续享用服务。
        来自:
        帮助文档
        数据传输服务DTS
        计费说明
        到期与欠费
      • IAM 授权
        权限 分布式容器云平台CCE Oneadmin 分布式容器云平台CCE Oneuser 分布式容器云平台CCE Oneviewer 审计日志 √ √ x 获取注册集群详情 √ √ √ 查询注册集群列表 √ √ √ 获取注册集群KubeConfig √ √ √ 查询联邦列表 √ √ √ 获取联邦详情 √ √ √ 获取联邦KubeConfig √ √ √ 获取舰队详情 √ √ √ 查询舰队列表 √ √ √ 操作日志 √ √ √ 查询权限策略列表 √ √ x 获取权限策略详情 √ √ x 获取关联权限列表 √ √ √ 资源总览 √ √ x 获取实例列表 √ √ √ 获取统一运维事件 √ √ √ 导出统一运维事件 √ √ x 查看统一运维仪表盘 √ √ √ 查询合规审计列表 √ √ √ 查询合规审计策略列表 √ √ √ 查询合规审计不合规资源 √ √ √ 查询合规审计事件 √ √ √ 获取通道事件 √ √ √ 获取通道监控数据 √ √ √ 开通 √ x x 退订 √ x x 绑定EIP √ √ x 解绑EIP √ √ x 更新注册集群信息 √ √ x 重新接入集群 √ √ x 吊销注册集群KubeConfig √ √ x 生成注册集群KubeConfig √ √ x 更新联邦 √ √ x 生成联邦KubeConfig √ √ x 吊销联邦KubeConfig √ √ x 创建舰队 √ √ x 更新舰队 √ √ x 删除舰队 √ √ x 添加集群到舰队 √ √ x 移出舰队 √ √ x 删除权限策略 √ x x 创建权限策略 √ x x 更新权限策略 √ x x 关联权限 √ x x 创建监控聚合实例 √ √ x 卸载监控聚合实例 √ √ x 启用合规审计实例 √ √ x 停用合规审计实例 √ √ x 创建合规审计策略实例 √ √ x 删除合规审计策略实例 √ √ x 编辑合规审计策略实例 √ √ x 升级联邦版本 √ √ x 创建Anywhere集群部署任务 √ √ x 查询联邦插件 √ √ √ 查询通道 √ √ √ 查询部署信息 √ √ √ 探测Anywhere集群部署ANP通道状态 √ √ √ 重试联邦插件操作 √ √ x 创建联邦插件 √ √ x
        来自:
        帮助文档
        分布式容器云平台
        用户指南
        平台服务
        权限配置
        IAM 授权
      • 删除集群(按需计费)
        本文主要介绍 删除集群(按需计费)。 操作场景 本章节以计费模式为“按需计费”的CCE集群为例,介绍如何删除集群。 包周期的集群支持退订操作,详情请参见退订释放集群(包年/包月)。 注意事项 删除集群时,纳管以及包周期节点将会从集群中移除并重装系统,节点原有的登录密码将会失效,请重新设置节点密码。 删除集群不会删除集群下包周期的资源,相关资源在集群删除后将会继续计费,请妥善处理。 删除集群会删除集群下的节点(纳管节点不会被删除)、节点挂载的数据盘、工作负载与服务,相关业务将无法恢复。在执行操作前,请确保相关数据已完成备份或者迁移,删除完成后数据无法找回,请谨慎操作。 部分不是在CCE中创建的资源不会删除: 纳管的节点(仅删除在CCE中创建的节点) Service和Ingress关联的ELB实例(仅删除自动创建的ELB实例) 手动创建PV关联的云存储/导入的云存储(仅删除PVC自动创建的云存储) 处于休眠状态的集群无法直接删除,请将集群唤醒后重试。 集群不可用时删除集群,存储会残留。 集群版本为v1.13.10及之前版本时,请勿在ELB服务手动修改监听器名称和后端服务器名称,否则删除集群会有资源残留。 操作步骤 步骤 1 登录CCE控制台,在左侧导航栏中选择“集群管理”。 步骤 2 单击待删除集群后的。 图 删除集群 步骤 3 在弹出的“删除集群”窗口中,根据系统提示,勾选删除集群时需要释放的资源。 删除集群下工作负载挂载的云存储 说明 删除集群中的存储卷声明和存储卷,存在如下约束: 1. 底层存储依据指定的回收策略进行删除。 2. 对象存储桶下存在大量文件(超过1000)时,请先手动清理桶内文件后再执行集群删除操作。 删除集群下负载均衡ELB等网络资源(仅删除自动创建的ELB资源) 步骤 4 单击“是”,开始执行删除集群操作。 删除集群需要花费1~3分钟,请耐心等候。
        来自:
        帮助文档
        云容器引擎
        用户指南
        集群管理
        管理集群
        删除集群(按需计费)
      • 单机
        分布式缓存服务Redis版单机实例按照单个节点部署架构,没有备用节点用于实时数据同步,可提供数据持久化和备份能力。适用于小规模应用或开发/测试环境的纯缓存场景,其价格优势明显,性价比较高。 注意 由于Redis单机实例采用单节点部署架构,不具备高可用性与服务连续性,不建议您在生产环境中使用,若使用请务必确认风险。 Redis单机实例可升级为主备实例。 当Redis节点发生故障时,系统会自动进行故障恢复,以保证服务高可用。系统根据默认的自动持久化文件恢复用户数据,从而实现业务连续性。 适架构示意图 适用场景 纯缓存类场景 可将频繁访问的数据存储在Redis内存中,以加快数据读取速度。单机实例可以满足许多中小规模的缓存需求。若对数据高可用有较高要求,则建议使用主备实例。 对Redis协议兼容性要求较高的场景 标准版单机实例完全兼容Redis协议,各业务可实现平滑迁移。 性能压力较小的场景 由于Redis的单线程机制,标准版实例不适用于QPS较大的场景,若性能在10万QPS内可使用标准版实例。
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品介绍
        实例类型
        单机
      • 操作
        天翼AI云电脑崩溃或蓝屏如何恢复? 请在天翼AI云电脑中工具栏中的“设置”,选择“系统重装”,将天翼AI云电脑恢复至之前的状态。提示:请在“系统恢复”前备份保存好个人数据。 天翼AI云电脑是否同时支持使用蓝牙键盘与虚拟键盘? 天翼AI云电脑支持同时使用蓝牙键盘和虚拟键盘进行输入。若蓝牙键盘快捷键失效,请使用虚拟键盘组合键代替。 用户能否自行更换天翼AI云电脑的显卡驱动吗? 目前暂不支持自行更换显卡,后续将推出性能优化版本,敬请留意。 天翼AI云电脑的虚拟键盘支不支持五笔打字或者语音输入法,或者手写输入,如支持如何操作? 客户可以下载相关输入法软件进行更改。 使用天翼云电脑同步工具在天翼AI云电脑里面是否可以实时访问本地电脑的数据 ? 使用天翼云电脑同步工具,是在本地电脑上运行,用来同步本地电脑和天翼AI云电脑数据,不能从天翼AI云电脑上去访问本地电脑的数据。 系统恢复需要注意什么事项? 系统恢复是会清理系统盘(C盘)的数据,所以需要备份好用户数据到数据盘(E盘或D盘)和桌面资料。注意以下几点: 1. 用户文档、文件夹等数据请用户放到数据盘(E盘或D盘),或上传到天翼云盘,以防数据丢失; 2. 提醒用户foxmail邮件会丢失,并且foxmail邮箱需要重新设置,请用户在系统恢复前先导出邮件,并存放到数据盘或上传到天翼云盘。 3. 输入法会清空关联账号,有输入习惯的用户,可自行注册或同步输入法的账号,重装桌面后可以重新登录自己的账号,恢复自定义短语等输入法设置。 4. 网页收藏夹请注册并登录浏览器账户保存个人信息,系统恢复后可以通过登录浏览器恢复收藏夹内容。 5. 自行安装的软件有可能在重装桌面后需要自行安装,注意保留安装包在数据盘或上传到天翼云盘。
        来自:
        帮助文档
        天翼云电脑(政企版)
        常见问题
        操作
      • 数据库复制
        本节介绍了数据库复制的相关内容。 操作场景 使用存储过程,备份某个数据库,并恢复成一个新的数据库。 前提条件 成功连接RDS for SQL Server实例。关于连接关系型数据库实例, 执行此存储过程的必须是拥有[CREATE ANY DATABASE]权限的用户。如果不具备此权限的用户尝试执行该存储过程,系统将会如下提示: plaintext Database restores can only be performed by database logins with [CREATE ANY DATABASE] permissions. 对自定义数据库进行备份,执行账户必须是该数据库的“dbowner”或“dbbackupoperator”角色组成员。如不具备相应权限的用户对数据库进行备份,系统将会有如下提示: plaintext Database backups can only be performed by members of dbowner or dbbackupoperator roles in the source database 约束 对于系统库,不可通过此存储过程进行复制操作。如果您试图复制系统库,系统将会如下提示: plaintext Error DBNameSource or DBNameTarget. Please can not include in ('msdb','master','model','tempdb','rdsadmin','resource') . 对于需要恢复的目标数据库,必须是不存在的,且不与源数据库同名的数据库,否则,系统将会如下提示: plaintext Database 数据库名 already exists. Cannot restore database with the same name. 操作步骤 执行以下命令,进行数据库复制。 EXEC msdb.dbo.rdscopydatabase '@DBNameSource', '@DBNameTarget'; @ DBNameSource:源数据库,指定要备份的数据库名。 @ DBNameTarget:目标数据库,指定要恢复的数据库名。 将数据库testDB1复制出一个新的数据库testDB2,示例如下: EXEC msdb.dbo.rdscopydatabase 'testDB1', 'testDB2'; 说明 数据库版本为RDS for SQL Server 2012(标准版、企业版、Web版)的用户,请使用名称为msdb.dbo.rdscopydatabase2012的存储过程进行数据库备份。 数据库版本为RDS for SQL Server 2016(标准版、企业版、Web版)的用户,请使用名称为msdb.dbo.rdscopydatabase2016的存储过程进行数据库备份。 数据库版本为RDS for SQL Server 2017企业版的用户,请使用名称为msdb.dbo.rdscopydatabase2017的存储过程进行数据库备份。
        来自:
        帮助文档
        关系数据库SQL Server版
        用户指南
        存储过程的使用
        数据库复制
      • 缓存灾备策略
        本章节介绍缓存容灾策略。 DCS缓存实例都存储着大量关键数据,不论是作为数据库前端缓存,还是作为数据存储引擎,数据的可靠性与服务的连续可用性是DCS服务设计上为客户考虑的核心因素,下图展示了DCS在数据和服务方面的容灾架构设计演进。 DCS灾备架构演进 根据对数据与服务的不同可靠性要求,您可以选择将缓存实例部署在单可用区内(单机房),或者跨可用区(同城灾备)。 实例单可用区高可用 同一机房即单可用区。单可用区灾备策略主要包括进程/服务高可用,数据持久化到磁盘,以及实例节点间热备三种不同层次。 在单可用区内,单机实例通过进程守护的方式确保服务高可用,当DCS监测到缓存实例进程故障,马上拉起一个新的进程继续提供服务。 单可用区内单机实例高可用 主备实例配置了数据持久化,数据持久化到主节点磁盘外,还会增量同步到备节点,同时备节点也会持久化一份数据。因此,主备实例实现了节点热备和持久化文件多个备份。 单可用区内主备实例高可用 集群版实例类似主备实例,每个条带(实例进程)有持久化文件,也都有对应的副本(备进程及其持久化文件。) 单可用区内集群版实例高可用
        来自:
        帮助文档
        分布式缓存服务Redis版
        产品简介
        缓存灾备策略
      • ALM-17003 Oozie服务不可用
        检查DBService服务 4.在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务”,检查DBService服务当前状态是否正常。 是,执行步骤6。 否,执行步骤5。 5.参考DBService服务的相关告警帮助进行处理,然后查看本告警是否恢复。 是,处理完毕。 否,执行步骤18。 6.登录Oozie数据库检查数据是否完整。 a.以root用户登录DBService主节点。 在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务 > DBService > 实例”,即可查看DBService主节点IP地址信息。 b.执行以下命令登录Oozie数据库。 su omm source ${BIGDATAHOME}/FusionInsightBASE8.1.0.1/install/FusionInsightdbservice2.7.0/.dbserviceprofile gsql U 用户名W Oozie数据库密码p 20051 d 数据库名称 c.登录成功后,输入 d ,检查数据表是否共有15张。 Oozie服务默认有15张数据表,如果这些数据表被删除或者表结构被修改都可能导致Oozie服务不可用,请联系运维人员备份相关数据后进行恢复。 检查HDFS服务。 7.在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 服务”,检查HDFS服务当前状态是否正常。 是,执行步骤9。 否,执行步骤8。 8.参考HDFS服务的相关告警帮助进行处理,然后查看本告警是否恢复。 是,处理完毕。 否,执行步骤18。 9.登录HDFS检查Oozie文件目录是否完整。 a.下载并安装HDFS客户端。 b.以root用户登录客户端所在节点,执行以下命令,检查“/user/oozie/share”路径是否存在。 如果集群采用安全版本,要进行安全认证。 kinit admin hdfs dfs ls /user/oozie/share 是,执行步骤18。 否,执行步骤10。 10.在Oozie客户端安装目录中手动将share目录上传至HDFS的“/user/oozie”路径下,检查告警是否恢复。 是,处理完毕。 否,执行步骤18。
        来自:
        帮助文档
        翼MapReduce
        用户指南
        FusionInsight Manager操作指导(适用于3.x)
        告警参考(适用于MRS 3.x版本)
        ALM-17003 Oozie服务不可用
      • 异常处理
        类型 示例 处理建议 鉴权异常 AccessKey 错误、Secret 错误 检查密钥配置和权限 资源异常 云电脑不在线、桌面不属于当前用户 检查资源状态和绑定关系 会话异常 session 不存在、会话过期 重新创建会话 参数异常 坐标缺失、路径为空、消息过长 校验请求参数 执行异常 点击无响应、截图失败、文件读取失败 结合截图和日志排查
        来自:
        帮助文档
        天翼云电脑(政企版)
        AI新特性
        智能体云电脑
        Aluse云电脑
        SDK接入
        异常处理
      • 1
      • ...
      • 79
      • 80
      • 81
      • 82
      • 83
      • ...
      • 641
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      818 天翼云云智盛典

      爆款云主机低至1.5折起,Token套餐低至9.9元/月起

      安全隔离版OpenClaw

      OpenClaw云服务器专属“龙虾“套餐低至1.5折起

      聚力AI赋能 天翼云大模型专项

      大模型特惠专区·Token Plan 轻享包低至9.9元起

      青云志云端助力计划

      一站式科研助手,海外资源安全访问平台,助力青年翼展宏图,平步青云

      企业出海解决方案

      助力您的业务扬帆出海,通达全球!

      天翼云信创专区

      “一云多芯、一云多态”,国产化软件全面适配,国产操作系统及硬件芯片支持丰富

      云上钜惠

      爆款云主机全场特惠,2核4G只要1.8折起!

      天翼云奖励推广计划

      加入成为云推官,推荐新用户注册下单得现金奖励

      产品推荐

      GPU云主机

      镜像服务 IMS

      弹性伸缩服务 AS

      弹性高性能计算 E-HPC

      训推服务

      公共算力服务

      应用托管

      星辰TokenHub运营服务平台

      星辰MaaS智能体平台

      推荐文档

      如何选择云主机?

      操作类

      变更备案

      恢复备份

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 息壤智算平台
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 天翼云国际站
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2026 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号