爆款云主机低至25.83元/年
查看详情

活动

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

息壤智算

领先开放的智算服务平台,提供算力、平台、数据、模型、应用“五位一体”智算服务体系,构建全流程的AI基础设施能力
AI Store
  • 算力市场
  • 模型市场
  • 应用市场
公共算力服务
  • 裸金属
  • 定制裸金属
训推服务
  • 模型开发
  • 训练任务
  • 服务部署
星辰TokenHub
  • 模型广场
  • 体验中心
  • 服务接入
应用托管
  • 应用实例
科研助手
  • 科研智能体
  • 科研服务
  • 开发机
  • 并行计算
大模型
  • DeepSeek-V4-Flash
  • GLM-5.1
  • Qwen3.5-122B-A10B
  • DeepSeek-V3.2(旗舰版)
  • GLM-5(正式版)
智算一体机
  • 智算一体机
智能体引擎
  • 智能体引擎
可信数据空间
  • 可信数据空间
模型适配专家服务
  • 模型适配专家服务
算力服务商
  • 入驻算力服务商

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场进入AI Store创新解决方案公有云生态专区智云上海应用生态专区
建站工具
  • 新域名服务
  • SSL证书
  • 翼建站
企业办公
  • 安全邮箱
  • WPS 365 天翼云版
  • 天翼企业云盘(标准服务版)
灾备迁移
  • 云管家2.0
  • 翼备份(SaaS版)

定价

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

合作伙伴

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

开发者

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

支持与服务

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

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2026智能云生态大会
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 息壤智算
  • 产品
  • 解决方案
  • 应用商城
  • 定价
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心
      Web应用防火墙(原生版)_相关内容
      • 生产者实践
        本文主要介绍消息队列 Kafka 发布者的最佳实践,从而帮助您更好的使用该产品。 文中的最佳实践基于消息队列 Kafka 的 Java 客户端;对于其它语言的客户端,其基本概念与思想是通用的,但实现细节可能有差异,仅供参考。 Kafka 发送示例代码片段 Key 和 Value Kafka 0.10.0.0 的消息字段只有两个:Key 和 Value。Key 是消息的标识,Value 即消息内容。为了便于追踪,重要消息最好都设置一个唯一的 Key。通过 Key 追踪某消息,打印发送日志和消费日志,了解该消息的发送和消费情况。 失败重试 在分布式环境下,由于网络等原因,偶尔的发送失败是常见的。导致这种失败的原因有可能是消息已经发送成功,但是 Ack 失败,也有可能是确实没发送成功。 消息队列 Kafka 是 VIP 网络架构,会主动掐掉空闲连接(30 秒没活动),也就是说,不是一直活跃的客户端会经常收到 “connection rest by peer” 这样的错误,因此建议都考虑重试消息发送。 异步发送 发送接口是异步的;如果你想得到发送的结果,可以调用metadataFuture.get(timeout, TimeUnit.MILLISECONDS)。 线程安全 Producer 是线程安全的,且可以往任何 Topic 发送消息。通常情况下,一个应用对应一个 Producer 就足够了。 Acks Acks的说明如下: acks0,表示无需服务端的 Response,性能较高,丢数据风险较大; acks1,服务端主节点写成功即返回 Response,性能中等,丢数据风险中等,主节点宕机可能导致数据丢失; acksall,服务端主节点写成功,且备节点同步成功,才返回 Response,性能较差,数据较为安全,主节点和备节点都宕机才会导致数据丢失。 一般建议选择 acks1,重要的服务可以设置 acksall。
        来自:
        帮助文档
        分布式消息服务Kafka
        最佳实践
        生产者实践
      • 设置环境变量
        操作场景 环境变量是指容器运行环境中设定的一个变量,环境变量可以在工作负载部署后修改,为工作负载提供极大的灵活性。 CCE中设置的环境变量与Dockerfile中的“ENV”效果相同。 在CCE中,您可以通过三种方式来添加环境变量:手动添加、密钥导入、配置项导入。 须知: 容器启动后,容器中的内容不应修改。如果修改配置项(例如将容器应用的密码、证书、环境变量配置到容器中),当容器重启(例如节点异常重新调度pod)后,会导致配置丢失,业务异常。 配置信息应通过入参等方式导入容器中,以免重启后配置丢失。 手动添加 步骤 1 创建工作负载时,添加容器镜像后,展开“环境变量”,单击“添加环境变量”。 步骤 2 根据实际需求,设置如下参数。 类型:手动添加。 变量名称:自定义填写变量名称,如demo。 变量/变量引用:输入变量的值,如value。 密钥导入 步骤 1 您需要先创建密钥,详细步骤请参见创建密钥。 步骤 2 创建工作负载时,添加容器镜像后,展开“环境变量”,单击“添加环境变量”。 步骤 3 根据实际需求,设置如下参数。 类型: 密钥导入。 变量名称: 自定义填写变量名称。 变量/变量引用: 请选择对应的密钥名称和键。 密钥导入 配置项导入 步骤 1 您需要先创建配置项,详细步骤请参见创建配置项。 步骤 2 创建工作负载时,添加容器镜像后,展开“环境变量”,单击“添加环境变量”。 步骤 3 根据实际需求,设置如下参数。 类型: 配置项导入。 变量名称: 自定义填写变量名称。 变量/变量引用: 请选择对应的配置项名称和键。 配置项导入
        来自:
        帮助文档
        云容器引擎
        用户指南
        旧版UI
        工作负载
        容器设置
        设置环境变量
      • 基于事件流实现Kafka消息路由
        本文介绍如何应用事件总线EventBridge的事件流功能实现分布式消息服务Kafka的消息路由。 前提条件 开通事件总线EventBridge并授权。 开通分布式消息服务Kafka并创建最少两个主题。 背景信息 事件流作为更轻量、实时端到端的流式事件通道,提供轻量级的流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端分布式消息服务Kafka生产的消息可以通过事件流这个通道被路由到目标端的分布式消息服务Kafka。 步骤一:创建事件流 1. 登录事件总线EventBridge控制台。 2. 在左侧导航栏,单击事件流。 3. 在事件流页面,单击创建事件流。 4. 在创建事件流面板,设置任务名称和描述,配置以下参数,然后单击保存。 a.在Source(源)配置向导,选择数据提供方为分布式消息服务Kafka ,设置以下参数,然后单击下一步。 参数 说明 示例 Kafka实例 选择Kafka实例。 instancexxx Kafka Topic 选择Kafka topic。 topicxxx Group 选择消费组。 快速创建 消费位点 选择消费位点。 最新位点 b.在Filtering(过滤)配置向导,设置事件过滤规则,单击下一步。 c.在Sink(目标)配置向导,选择服务类型为分布式消息服务Kafka,配置参数,单击保存,如图1所示。 参数 说明 示例 Kafka实例 选择Kafka实例。 instancexxx Kafka Topic 选择Kafka topic。 topicxxx 消息体(value) 提取事件中的数据。 $.data.value 消息键值(key) 提前事件中的key到目标。 $.data.key 图1 创建事件流时目标类型选择分布式消息服务Kafka 5. 创建事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。
        来自:
        帮助文档
        事件总线
        最佳实践
        基于事件流实现消息路由
        基于事件流实现Kafka消息路由
      • 基于事件流实现消息路由至函数计算
        本文介绍如何应用事件总线EventBridge的事件流功能实现消息路由至函数计算。 前提条件 开通事件总线EventBridge并授权。 开通函数计算并创建对应函数。 开通分布式消息服务Kafka并创建最少两个主题。 背景信息 事件流作为更轻量、实时端到端的流式事件通道,提供轻量级的流式数据的过滤和转换的能力,在不同的数据仓库之间、数据处理程序之间、数据分析和处理系统之间进行数据同步。源端分布式消息服务Kafka生产的消息可以通过事件流这个通道被路由到目标端的函数计算,并触发函数。 步骤一:创建事件流 1. 登录事件总线EventBridge控制台。 2. 在左侧导航栏,单击事件流。 3. 在事件流页面,单击创建事件流。 4. 在创建事件流面板,设置任务名称和描述,配置以下参数,然后单击保存。 a.在Source(源)配置向导,选择数据提供方为分布式消息服务Kafka ,设置以下参数,然后单击下一步。 参数 说明 示例 Kafka实例 选择Kafka实例。 instancexxx Kafka Topic 选择Kafka topic。 topicxxx Group 选择消费组。 快速创建 消费位点 选择消费位点。 最新位点 b.在Filtering(过滤)配置向导,设置事件过滤规则,单击下一步。 c.在Sink(目标)配置向导,选择服务类型为函数计算,配置以下参数,单击保存。 参数 说明 示例 函数 选择函数。 funxxx 函数版本或别名 选择函数版本或别名。 版本/LATEST 执行方式 选择执行函数的方式:同步或异步。 同步 事件 选择调用到函数的事件内容,更多内容请参考事件内容转换。 完整事件 5. 创建事件流后,会有30秒~60秒的延迟时间,您可以在事件流页面的状态栏查看启动进度。
        来自:
        帮助文档
        事件总线
        最佳实践
        基于事件流实现消息路由
        基于事件流实现消息路由至函数计算
      • 模板介绍
        本文为您介绍了什么是短信模板以及短信模板的相关示例,帮助您快速了解短信模板。 短信模版 即具体发送的短信内容,可以支持验证码、短信通知两种模式。验证码和短信通知,可通过变量替换实现个性短信定制。 短信模版需要审核通过后才可以使用。不同短信模板的单价不同,更多信息,请参见产品定价。 模板格式 短信模板由变量和模板内容构成。模板变量以变量形式提供针对不同手机号码的短信定制方式,在模板中设置变量后,发送短信时指定变量的实际值,短信服务会自动用实际值替换模板变量,并发送短信,实现短信的定制化。 名称 示例 :: 一条完整的短信 【天翼云】您正在申请手机注册,验证码为:${code},5分钟内有效! 模板内容 您正在申请手机注册,验证码为:${code},5分钟内有效! 模板变量 ${code} 模板类型 短信分类如下: 验证码 短信通知 各种短信类型的详细说明,请参见应用场景。 模板规范 文本短信模板需要遵循相关的模板规范。更多信息,请参见模板规范。 模板示例 类型 短信示例 短信签名 短信模板 短信变量 ::::: 验证码短信 【天翼云】您正在申请手机注册,验证码为:${code},5分钟内有效! 【天翼云】 您正在申请手机注册,验证码为:${code},5分钟内有效! ${code} 短信通知 【天翼云】尊敬的${name},您购买的云主机实例:${instanceid},已于${duedate}正式到期。如您要继续使用,请于${date}前及时续费或重新购买。 【天翼云】 尊敬的${name},您购买的云主机实例:${instanceid},已于${duedate}正式到期。如您要继续使用,请于${date}前及时续费或重新购买。 ${name} ${instanceid} ${duedate} ${date}
        来自:
        帮助文档
        云通信-短信(文档停止维护)
        用户指南
        模板
        模板介绍
      • 订阅告警通知
        本章节主要介绍数据仓库服务如何订阅告警通知。 用户可通过订阅DWS 的告警通知,在特定告警级别告警时收到短信、电子邮件或应用等方式的通知消息。 创建订阅 1.登录DWS管理控制台。 2.在左侧导航树,单击“告警管理”,切换至“订阅”页签。 3.在页面左上角单击“创建订阅”按钮。 4.在“订阅设置”区域,设置订阅基本信息及告警过滤。 订阅参数 参数名 参数解释 是否开启 设置是否开启告警订阅。 表示开启告警订阅。表示关闭告警订阅。关闭后停止发送已订阅告警的通知消息,但不会删除该订阅。 订阅名称 设置订阅告警的名称。 名称只能包含大写字母、小写字母、数字、和,且必须由大写字母、小写字母或数字开头。 名称长度为1~256字符。 告警级别 选择订阅告警的级别:紧急、重要、次要和提示。 5.“订阅告警列表”区域显示系统根据订阅设置筛选出的告警。在“消息通知主题名称”下拉框中,选择一个消息通知主题。 如需创建新主题,请单击“创建新主题”按钮,系统将跳转到消息通知服务控制台页面。 说明 所选择的消息通知主题,必须已授予DWS 服务向该主题发布消息的权限。如果所选主题尚未给DWS 授权,请前往消息通知服务的主题管理页面设置主题策略授权。设置主题策略时,“可发布消息的服务”需勾选“DWS”。 6.确认无误后,单击“确定”,完成创建订阅。
        来自:
        帮助文档
        数据仓库服务
        用户指南
        监控与告警
        告警管理
        订阅告警通知
      • 审计
        本节主要介绍审计 开通云审计服务 如果您需要收集、记录或者查询API网关服务的操作日志,用于支撑安全分析、合规审计、资源跟踪和问题定位等常见应用场景时,需要先开通云审计服务。 云审计服务包含以下功能: 记录审计日志 审计日志查询 审计日志转储 事件文件加密 关键操作通知 查看审计日志 如果需要查看审计日志,可查看日志追踪事件。 图 查看日志 查看关键操作列表 通过云审计服务,您可以记录与API网关相关的操作事件,便于日后的查询、审计和回溯。 表 云审计服务支持的API Gateway操作列表 操作名称 资源类型 事件名称 ::: 创建API分组 apigApiGroups createApiGroup 删除API分组 apigApiGroups deleteApiGroup 修改API分组属性 apigApiGroups updateApiGroup 为API分组解除访问次数限制 apigApiGroups deleteApiGroupLimit 为API分组添加访问次数限制 apigApiGroups updateApiGroupLimit 添加API接口 apigApis createApi 删除API接口 apigApis deleteApi 修改API接口 apigApis updateApi 发布API接口 apigApis publishApi 下线API接口 apigApis offlineApi 为APP授权 apigAppAuths grantAuth 解除APP授权 apigAppAuths relieveAuth 创建环境 apigEnvs createEnvironment 删除环境 apigEnvs deleteEnvironment 修改环境信息 apigEnvs updateEnvironmentInfo 创建环境变量 apigEnvVariables createVariable 删除环境变量 apigEnvVariables deleteVariable 创建Acl黑白名单 apigAcls createAcl 删除Acl黑白名单 apigAcls deleteAcl 更新Acl黑白名单 apigAcls updateAcl 向黑白名单添加值 apigAcls addAclValue 从黑白名单移除值 apigAcls deleteAclValue 添加api与acl绑定关系 apigAclBindings createAclApply 删除api与acl绑定关系 apigAclBindings relieveAclApply 添加流控策略 apigThrottles createThrottle 删除流控策略 apigThrottles deleteThrottle 修改流控策略 apigThrottles updateThrottle 为API绑定流控策略 apigThrottleBindings createThrottleApiBinding 为API解除流控策略 apigThrottleBindings relieveThrottleApiBinding 为APP授权 apigAppAuths grantAuth 解除APP授权 apigAppAuths relieveAuth 创建APP apigApps createApp 删除APP apigApps deleteApp 更新APP apigApps updateApp 重置APP密钥 apigApps resetAppSecret
        来自:
        帮助文档
        API网关
        审计
        审计
      • 更新集群密钥
        本章主要介绍翼MapReduce的更新集群密钥功能。 操作场景 在安装集群时,系统将自动生成加密密钥key值以对集群的部分安全信息(例如所有数据库用户密码、密钥文件访问密码等)进行加密存储。在集群安装成功后,如果原始密钥不慎意外泄露或者需要使用新的密钥,系统管理员可以通过以下操作手动更改密钥值。 对系统的影响 更新集群密钥后,集群中新增加一个随机生成的新密钥,用于加密解密新保存的数据。旧的密钥不会删除,用于解密旧的加密数据。在修改安全信息后,例如修改数据库用户密码,新密码将使用新的密钥加密。 更新集群密钥需要停止集群,集群停止时无法访问。 前提条件 已确认主备管理节点IP。请参见登录管理节点。 停止依赖集群运行的上层业务应用。 操作步骤 1.登录FusionInsight Manager。 2.选择“集群 > 待操作集群的名称 > 停止”,输入当前登录的用户密码确认身份。 在确认停止的对话框单击“确定”,等待界面提示停止成功。 3.以omm用户登录主管理节点。 4.执行以下命令,防止超时退出。 TMOUT0 说明 执行完本章节操作后,请及时恢复超时退出时间,执行命令 TMOUT 超时退出时间 。例如: TMOUT600 ,表示用户无操作600秒后超时退出。 5.执行以下命令,切换目录。 cd ${BIGDATAHOME}/omserver/om/tools 6.执行以下命令,更新集群密钥。 sh updateRootKey.sh 根据界面提示,输入 y : The root key update is a critical operation. Do you want to continue?(y/n): 界面提示以下信息表示更新密钥成功: Step 41: The key save path is obtained successfully. ... Step 44: The root key is sent successfully. 7.在FusionInsight Manager界面,选择“集群 > 待操作集群的名称 > 启动”。 在弹出窗口中单击“确定”,等待界面提示启动成功。
        来自:
        帮助文档
        翼MapReduce
        用户指南
        FusionInsight Manager操作指导(适用于3.x)
        安全管理
        安全加固
        更新集群密钥
      • Linux系统启动时,Grub报错找不到设备
        设置root变量为/boot分区,后面可避免重复输入/boot分区的位置 grub> linux /vmlinuz3.10.0957.el7.x8664 rootUUIDc74bd658cd12414f80c60200fe5a6685 指定linux启动用的内核,UUID用来指定根分区。可以ls查看分区内容确定根分区,用ls l获取分区(或分区上文件系统)的UUID。 grub> initrd /initramfs3.10.0957.el7.x8664.img 指定linux启动的内存文件系统,需要和内核版本匹配。 grub> boot 启动系统 需注意,linux/initrd命令最为常用,但有些系统使用linux16/initrd16或linuxefi/initrdefi命令来指定linux内核和内存镜像。如果linux/initrd命令没有用,可以在grub shell中用命令 cat $root/grub2/grub.cfg查看原grub.cfg,以确定使用何种命令。 2. 更新grub.cfg linux系统启动后,登录进入系统。执行下面命令重新生成grub.cfg。 bash 备份旧grub.cfg文件,以防万一 GRUBCFG$(find /boot name "grub.cfg") cp v $GRUBCFG /root 更新grub.cfg 对centos/redhat/rocky/openEuler等发行版 grub2mkconfig $GRUBCFG debian/ubuntu等发行版 updategrub 更新grub.cfg后,请重启测试是否修复了问题。
        来自:
        帮助文档
        物理机 DPS
        故障排除
        Linux系统常见启动问题
        Linux系统启动时,Grub报错找不到设备
      • 创建路由表关联转发
        本文为您介绍路由表关联转发的操作流程。 操作步骤 1. 登录控制中心。 2. 登录云间高速(标准版)管理控制台,并在左侧菜单列表中选择“云间高速(标准版)”。 3. 单击目标云间高速实例名称(或单击目标云间高速实例操作列的“管理”),进入目标实例详情页面。 4. 在云间高速实例详情页面,在“云企业路由器管理 ”页签,单击目标云企业路由器实例名称(或者单击操作列的“配置”),进入云企业路由器详情页面。 5. 在云企业路由器详情页面,单击“路由管理”页签,在页签左侧区域单击目标的路由表。 6. 在页签右侧区域,点击“关联转发”,进入关联转发页签。 7. 在关联转发页签中,单击“创建关联转发”,进入创建关联转发弹窗页面。 8. 在创建关联转发弹窗页面,根据提示填写参数,单击“确定”,完成目标网络实例与当前路由表的关联。 参数 说明 网络实例类型 选择目标网络实例类型 网络实例 选择需要关联的具体的网络实例 说明 每个网络实例只能关联一个路由表,如果需要关联新的路由表需要先在原路由表中删除关联。
        来自:
        帮助文档
        云间高速(标准版)EC
        用户指南
        路由配置
        关联转发
        创建路由表关联转发
      • 使用V4签名时的HttpURLConnection开发
        本节主要介绍使用V4签名时的HttpURLConnection开发。 应用场景 V4签名下,使用HttpURLConnection开发。 前提条件 已开通对象存储(经典版)Ⅰ型服务。 具体操作 可以参考下列示例进行HttpURLConnection开发。 package cn.ctyun.oos.sample; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; import java.security.MessageDigest; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Collections; import java.util.Date; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.SortedMap; import java.util.TimeZone; import java.util.TreeMap; import java.util.regex.Matcher; import java.util.regex.Pattern; import javax.crypto.Mac; import javax.crypto.spec.SecretKeySpec; public class OOSDemoForV4Signer { private static final SimpleDateFormat ISO8601DATEFORMAT new SimpleDateFormat("yyyyMMdd'T'HHmmss'Z'"); private static final SimpleDateFormat ISO8601DAYFORMAT new SimpleDateFormat("yyyyMMdd"); private static final char[] HEXCODE "0123456789abcdef".toCharArray(); private static final String UNSIGNEDPAYLOAD "UNSIGNEDPAYLOAD"; private static final String SCHEME "AWS4"; private static final String ALGORITHM "HMACSHA256"; private static final String TERMINATOR "aws4request"; private static final String HMACSHA256 "HmacSHA256"; private static final String OOSACCESSKEY "youraccesskey"; private static final String OOSSECRETKEY "yoursecretkey"; private static final String OOSENDPOINT "ooscn.ctyunapi.cn"; private static final String OOSBUCKET "your bucket name"; private static final String OOSOBJECTNAME "yourobjectname"; private static final String OOSOBJECTCONTENT "yourobjectcontent"; private static final int DEFAULTTIMEOUT 30000; static { TimeZone utc TimeZone.getTimeZone("UTC"); ISO8601DATEFORMAT.setTimeZone(utc); ISO8601DAYFORMAT.setTimeZone(utc); } public static void main(String[] args) throws Exception { OOSDemoForV4Signer demo new OOSDemoForV4Signer(); demo.putObject(); demo.getObject(); demo.deleteObject(); } public void getObject() { try { HttpURLConnection connection generateConnection("GET", OOSBUCKET, OOSOBJECTNAME); connection.connect(); int responseCode connection.getResponseCode(); // 在responseCode为200 的情况下, 可将connection.getInputStream()的对象数据读出。 if(responseCode 200) { System.out.println("get object success"); } try (InputStream inputStream responseCode 200 ? connection.getInputStream() : connection.getErrorStream()) { BufferedReader reader new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line reader.readLine()) ! null) { System.out.println(line); } } } catch (Exception e) { // 异常可选择抛出或者处理掉。 e.printStackTrace(); } } public void putObject() { try { HttpURLConnection connection generateConnection("PUT", OOSBUCKET, OOSOBJECTNAME); connection.setDoOutput(true); connection.connect(); // Create the object byte[] requestBody OOSOBJECTCONTENT.getBytes(); try (OutputStream outputStream connection.getOutputStream()) { outputStream.write(requestBody); } // Execute the request and print the response int responseCode connection.getResponseCode(); if (responseCode 200) { System.out.println("put object success"); } else { try (InputStream inputStream connection.getErrorStream()) { BufferedReader reader new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line reader.readLine()) ! null) { System.out.println(line); } } } } catch (Exception e) { // 异常可选择抛出或者处理掉。 e.printStackTrace(); } } public void deleteObject() { try { HttpURLConnection connection generateConnection("DELETE", OOSBUCKET, OOSOBJECTNAME); connection.connect(); int responseCode connection.getResponseCode(); if (responseCode 204) { System.out.println("delete object success"); } else { try (InputStream inputStream connection.getErrorStream()) { BufferedReader reader new BufferedReader(new InputStreamReader(inputStream)); String line; while ((line reader.readLine()) ! null) { System.out.println(line); } } } } catch (Exception e) { // 异常可选择抛出或者处理掉。 e.printStackTrace(); } } private HttpURLConnection generateConnection(String method, String bucket, String objectKey) throws Exception { String requestUrl " + bucket + "." + OOSENDPOINT + "/" + urlEncode(objectKey, true); Map headers new HashMap<>(); // 1 加在headers里的所有头域,都参与计算签名。 // 2 任何头以xamzmeta这个前缀开始都会被认为是用户的元数据,当用户检索时,它将会和对象一起被存储并返回。PUT请求头大小限制为8KiB。在PUT请求头中,用户定义的元数据大小限制为2KiB。 // headers.put("xamzmetatest", "oos"); Map querys new HashMap (); URL url new URL(requestUrl); String authorization v4Sign(headers, querys, UNSIGNEDPAYLOAD, url, method); headers.put("Authorization", authorization); HttpURLConnection connection (HttpURLConnection)new URL(requestUrl).openConnection(); connection.setRequestMethod(method); connection.setConnectTimeout(DEFAULTTIMEOUT); connection.setReadTimeout(DEFAULTTIMEOUT); headers.forEach(connection::setRequestProperty); return connection; } / 以下是签名计算相关方法 / private String v4Sign(Map headers, Map queryParameters, String bodyHash, URL endpointUrl, String httpMethod) { String host endpointUrl.getHost(); String serviceName parseServiceName(host); String regionName parseRegionName(host); // first get the date and time for the subsequent request, and convert // to ISO 8601 format for use in signature generation Date now new Date(); String dateTimeStamp ISO8601DATEFORMAT.format(now); // update the headers with required 'xamzdate' and 'host' values if (headers null) { headers new HashMap (); } headers.put("xamzdate", dateTimeStamp); headers.put("xamzcontentsha256", bodyHash); int port endpointUrl.getPort(); if (port > 1 && port ! 80 && port ! 443) { host host.concat(":" + Integer.toString(port)); } headers.put("Host", host); // canonicalize the headers; we need the set of header names as well as the // names and values to go into the signature process String canonicalizedHeaderNames getCanonicalizeHeaderNames(headers); String canonicalizedHeaders getCanonicalizedHeaderString(headers); // if any query string parameters have been supplied, canonicalize them String canonicalizedQueryParameters getCanonicalizedQueryString(queryParameters); // canonicalize the various components of the request String canonicalRequest getCanonicalRequest(endpointUrl, httpMethod, canonicalizedQueryParameters, canonicalizedHeaderNames, canonicalizedHeaders, bodyHash); // construct the string to be signed String dateStamp ISO8601DAYFORMAT.format(now); String scope dateStamp + "/" + regionName + "/" + serviceName + "/" + TERMINATOR; String stringToSign getStringToSign(SCHEME, ALGORITHM, dateTimeStamp, scope, canonicalRequest); // compute the signing key byte[] kSigning createSignatureKey(OOSSECRETKEY, dateStamp, regionName, serviceName); byte[] signature sign(stringToSign, kSigning, HMACSHA256); String credentialsAuthorizationHeader "Credential" + OOSACCESSKEY + "/" + scope; String signedHeadersAuthorizationHeader "SignedHeaders" + canonicalizedHeaderNames; String signatureAuthorizationHeader "Signature" + toHex(signature); String authorizationHeader SCHEME + "" + ALGORITHM + " " + credentialsAuthorizationHeader + ", " signedHeadersAuthorizationHeader + ", " + signatureAuthorizationHeader; return authorizationHeader; } private String getCanonicalizedQueryString(Map parameters) { if (parameters null parameters.isEmpty()) { return ""; } SortedMap sorted new TreeMap (); Iterator > pairs parameters.entrySet().iterator(); while (pairs.hasNext()) { Map.Entry pair pairs.next(); String key pair.getKey(); String value pair.getValue(); sorted.put(urlEncode(key, false), urlEncode(value, false)); } StringBuilder builder new StringBuilder(); pairs sorted.entrySet().iterator(); while (pairs.hasNext()) { Map.Entry pair pairs.next(); builder.append(pair.getKey()); builder.append(""); builder.append(pair.getValue()); if (pairs.hasNext()) { builder.append("&"); } } return builder.toString(); } private String getCanonicalizedHeaderString(Map headers) { if (headers null headers.isEmpty()) { return ""; } // step1: sort the headers by caseinsensitive order List sortedHeaders new ArrayList (); sortedHeaders.addAll(headers.keySet()); Collections.sort(sortedHeaders, String.CASEINSENSITIVEORDER); // step2: form the canonical header:value entries in sorted order. // Multiple white spaces in the values should be compressed to a single // space. StringBuilder buffer new StringBuilder(); for (String key : sortedHeaders) { buffer.append(key.toLowerCase().replaceAll("s+", " ") + ":" + headers.get(key).replaceAll("s+", " ")); buffer.append("n"); } return buffer.toString(); } private String getCanonicalizeHeaderNames(Map headers) { List sortedHeaders new ArrayList (); sortedHeaders.addAll(headers.keySet()); Collections.sort(sortedHeaders, String.CASEINSENSITIVEORDER); StringBuilder buffer new StringBuilder(); for (String header : sortedHeaders) { if (buffer.length() > 0) buffer.append(";"); buffer.append(header.toLowerCase()); } return buffer.toString(); } private String getCanonicalRequest(URL endpoint, String httpMethod, String queryParameters, String canonicalizedHeaderNames, String canonicalizedHeaders, String bodyHash) { String canonicalRequest; if (bodyHash null bodyHash.equals("")) { canonicalRequest httpMethod + "n" + getCanonicalizedResourcePath(endpoint) + "n" + queryParameters "n" + canonicalizedHeaders + "n" + canonicalizedHeaderNames; } else { canonicalRequest httpMethod + "n" + getCanonicalizedResourcePath(endpoint) + "n" + queryParameters "n" + canonicalizedHeaders + "n" + canonicalizedHeaderNames + "n" + bodyHash; } return canonicalRequest; } private String getStringToSign(String scheme, String algorithm, String dateTime, String scope, String canonicalRequest) { String stringToSign scheme + "" + algorithm + "n" + dateTime + "n" + scope + "n" + toHex(hash(canonicalRequest)); return stringToSign; } private byte[] createSignatureKey(String key, String dateStamp, String regionName, String serviceName) { byte[] kSecret (SCHEME + key).getBytes(); byte[] kDate sign(dateStamp, kSecret, HMACSHA256); byte[] kRegion sign(regionName, kDate, HMACSHA256); byte[] kService sign(serviceName, kRegion, HMACSHA256); byte[] kSigning sign(TERMINATOR, kService, HMACSHA256); return kSigning; } private byte[] sign(String stringData, byte[] key, String algorithm) { try { byte[] data stringData.getBytes("UTF8"); Mac mac Mac.getInstance(algorithm); mac.init(new SecretKeySpec(key, algorithm)); return mac.doFinal(data); } catch (Exception e) { throw new RuntimeException("Unable to calculate a request signature: " + e.getMessage(), e); } } private String getCanonicalizedResourcePath(URL endpoint) { if (endpoint null) { return "/"; } String path endpoint.getPath(); if (path null path.isEmpty()) { return "/"; } // String encodedPath urlEncode(path, true); String encodedPath path; if (encodedPath.startsWith("/")) { return encodedPath; } else { return "/".concat(encodedPath); } } private String urlEncode(String url, boolean keepPathSlash) { String encoded; try { encoded URLEncoder.encode(url, "UTF8"); } catch (UnsupportedEncodingException e) { throw new RuntimeException("UTF8 encoding is not supported.", e); } if (keepPathSlash) { encoded encoded.replace("%2F", "/"); } return encoded; } private String toHex(byte[] data) { StringBuilder r new StringBuilder(data.length 2); for (byte b : data) { r.append(HEXCODE[(b >> 4) & 0xF]); r.append(HEXCODE[(b & 0xF)]); } return r.toString(); } private byte[] hash(String text) { try { MessageDigest md MessageDigest.getInstance("SHA256"); md.reset(); md.update(text.getBytes("UTF8")); return md.digest(); } catch (Exception e) { throw new RuntimeException("Unable to compute hash while signing request: " + e.getMessage(), e); } } private String parseRegionName(String host) { String pattern "oos([w]).ctyunapi.cn$"; Pattern r Pattern.compile(pattern); Matcher m r.matcher(host); if (m.find()) { return m.group(1).toLowerCase(); } else { throw new RuntimeException("parse region error, please check endpoint."); } } private String parseServiceName(String host) { if (host.endsWith("iam.ctyunapi.cn")) { return "sts"; } else { return "s3"; } } }
        来自:
        帮助文档
        对象存储(经典版)I型
        最佳实践
        使用HttpURLConnection开发
        使用V4签名时的HttpURLConnection开发
      • 创建伸缩组
        本文主要介绍如何创建伸缩组。 操作场景: 伸缩组是具有相同属性和应用场景的云主机和伸缩策略的集合,是启停伸缩策略和进行伸缩活动的基本单位。您可以使用伸缩策略设定的条件自动增加、减少伸缩组中的实例数量,或维持伸缩组中固定的实例数量。 您在创建伸缩组时,需为伸缩组指定伸缩配置,同时也可以为伸缩组添加一条或多条伸缩策略。 创建伸缩组,需要配置最大实例数、最小实例数、期望实例数和负载均衡器等参数。 创建须知: 不同可用区支持的云主机类型可能不同。因此,用户在创建弹性伸缩组时,需要根据可用区支持的云主机类型,选择合适的伸缩配置。 如果伸缩组中所有可用区均不支持伸缩配置中的云主机类型,此时: 如果伸缩组当前为停用状态,则无法启用伸缩组。 如果伸缩组当前为启用状态,则在进行扩容操作时,伸缩组状态变为异常。 如果伸缩组中仅有部分可用区支持伸缩配置中的云主机类型,则在弹性伸缩活动中自动添加的云主机只分布在支持该类型云主机的可用区中,不能均匀的分布在所有可用区中。 操作步骤: 1. 登录管理控制台。 2. 选择“计算 > 弹性伸缩服务”。 3. 单击“创建弹性伸缩组”。 4. 配置名称、最大实例数、最小实例数、期望实例数等。重点配置数据说明如下表所示。 5. 在“伸缩配置”页面,您可以选择使用已有的伸缩配置或者即时创建新的伸缩配置,更多信息请参见使用已有云主机创建伸缩配置和使用新模板创建伸缩配置。 6. (可选)为伸缩组添加伸缩策略。在“伸缩策略”页面,单击“添加伸缩策略”。配置伸缩活动触发的策略类型、执行动作、冷却时间等,根据界面提示进行参数配置,更多信息请参见动态扩展资源和按计划扩展资源。 7. 单击“立即创建”。 8. 创建伸缩组成功后,伸缩组状态变为“已启用”。 说明 如果伸缩活动是伸缩策略触发的,以伸缩策略的冷却时间为准。 如果是手工修改期望实例数量或者其他方式引起的伸缩活动,则以伸缩组的冷却时间为准。 表 伸缩组参数说明 参数 解释 取值样例 区域 区域也称为Region。创建的伸缩组所在的区域。 不同区域的资源之间内网不互通。请选择靠近您客户的区域,可以降低网络时延、提高访问速度。 可用区 可用区也称为AZ(Availability Zone)。可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 如果您需要提高应用的高可用性,建议您将云服务器创建在不同的可用区内。 如果您需要较低的网络时延,建议您将云服务器创建在相同的可用区内。 如果您选择多个可用区,为提高应用的高可用性,您的云主机会被均匀的创建在不同的可用区内。 名称 创建的伸缩组的名称。 伸缩组名称(1~64个字符)只能由中文、英文字母、数字、下划线、和中划线组成。 最大实例数 最大实例数是指伸缩组中云主机个数的最大值。 1台 期望实例数 期望实例数是指伸缩组中期望的云主机数量。 创建后可以手工修改该值,修改该值就会触发一次弹性伸缩活动。 0台 最小实例数 最小实例数是指伸缩组中云主机个数的最小值。 0台 虚拟私有云 弹性云主机使用的网络是虚拟私有云(VPC)提供的。 同一伸缩组内的弹性云主机均属于该VPC。 子网 您最多可以选择五个子网,伸缩组会自动为创建的实例绑定所有网卡。您选择的第一个子网默认作为云主机的主网卡,其它子网作为云主机的扩展网卡。 自动分配IPv6地址:当且仅当选择支持IPv6的AZ、且VPC子网开启了IPv6功能时,该参数可见。子网如何开启IPv6功能,请参见《虚拟私有云用户指南》。系统默认分配IPv4地址,勾选后,网卡的IP地址为IPv6类型。在同一VPC内,云主机通过IPv6地址在双栈ECS之间进行内网访问。如需访问外网,您需要开启“IPv6带宽”并选择共享带宽,此时云主机可以使用IPv6地址访问互联网。 实例移除策略 实例优先被移除的策略。当满足条件时,会触发实例移除活动,包括如下四种方式: 根据较早创建的配置较早创建的实例:根据“较早创建的配置”较早创建的“实例”优先被移除伸缩组。 根据较早创建的配置较晚创建的实例:根据“较早创建的配置”较晚创建的“实例”优先被移除伸缩组。 较早创建的实例:创建时间较早的实例优先被移除伸缩组。 较晚创建的实例:创建时间较晚的实例优先被移除伸缩组。 说明: 当可用区不均衡时,移出实例时会优先保证可用区均衡。 手动移入伸缩组的云主机不会遵循“实例移除策略”的要求,实例移除优先级最低,且移除时,系统不会删除该云主机。当有多个手工加入伸缩组的云主机时,移除规则是:先进先出。 弹性IP 若伸缩组的伸缩配置使用了弹性IP,在进行扩容活动时,会给创建出来的云主机绑定一个弹性IP。若选择“释放”,当进行缩容活动时,会将云主机上的弹性IP释放,否则仅做解绑定操作,保留弹性IP资源。 健康检查方式 健康检查会将异常的云主机从伸缩组中移除,并重新创建新的云主机,伸缩组的健康检查方式包括以下几种: 云主机健康检查:是指对云主机的运行状态进行检查,如关机、删除都是云主机异常状态。默认为此选项,伸缩组会定期使用云主机健康检查结果来确定每个云主机的运行状况。如果未通过云主机健康检查,则伸缩组会将该云主机移出伸缩组。 负载均衡健康检查:是指根据ELB对云主机的健康检查结果进行的检查。只有当伸缩组使用弹性负载均衡器时,您才可以选择“负载均衡健康检查”,所有监听器下检测到的云主机状态必须均为正常,否则伸缩组会将该云主机移出伸缩组。 健康检查间隔 伸缩组执行健康检查的周期。您可以根据实际情况设置合理的健康检查间隔。 5分钟 通知方式 可选参数。如果勾选此项,伸缩组进行伸缩活动后,系统将以邮件形式通知用户本次弹性伸缩伸缩活动的结果。通知邮箱为用户注册时填写的邮箱信息。
        来自:
        帮助文档
        弹性伸缩服务 AS
        用户指南
        伸缩组管理
        创建伸缩组
      • 连接已开启SASL的Kafka专享实例
        创建实例时开启SASLSSL访问,则数据加密传输,安全性更高。 由于安全问题,支持的加密套件为TLSECDHEECDSAWITHAES128CBCSHA256,TLSECDHERSAWITHAES128CBCSHA256和TLSECDHERSAWITHAES128GCMSHA256。 本节介绍如何使用开源的Kafka客户端访问开启SASL的Kafka专享实例的方法。 说明: 使用SASL方式连接Kafka实例时,为了客户端能够快速解析实例的Broker,建议在客户端所在主机的“/etc/hosts”文件中配置host和IP的映射关系。 其中,IP地址必须为实例连接地址(Broker地址),host为每个实例主机的名称(您可以自定义主机的名称,但不能重复)。 例如: 10.154.48.120 server01 10.154.48.121 server02 10.154.48.122 server03 前提条件 已配置正确的安全组。 访问开启SASL的Kafka专享实例时,支持VPC内访问。实例需要配置正确的安全组规则,具体安全组配置要求,请参考表32。 已获取连接Kafka专享版实例的地址。 使用VPC内访问,实例端口为9093,实例连接地址获取如下图。 获取VPC内访问Kafka专享实例的连接地址(实例已开启SASL) Kafka专享实例已创建Topic,否则请提前创建Topic。 已下载client.truststore.jks证书。如果没有,在控制台单击Kafka实例名称,进入实例详情页面,在“基本信息 > 高级配置 > Kafka SASLSSL”所在行,单击 。下载压缩包后解压,获取压缩包中的客户端证书文件:client.truststore.jks。 已下载Kafka命令行工具1.1.0版本或者Kafka命令行工具2.3.0版本,确保Kafka实例版本与命令行工具版本相同。 已在Kafka命令行工具的使用环境中安装Java Development Kit 1.8.111或以上版本,并完成环境变量配置。 命令行模式连接实例 以下操作命令以Linux系统为例进行说明。 解压Kafka命令行工具。 进入文件压缩包所在目录,然后执行以下命令解压文件。 tar zxf [kafkatar] 其中,[kafkatar]表示命令行工具的压缩包名称。 例如: tar zxf kafka2.111.1.0.tgz 修改Kafka命令行工具配置文件。 在Kafka命令行工具的“/config”目录中找到“consumer.properties”和“producer.properties”文件,并分别在文件中增加如下内容。 sasl.jaas.configorg.apache.kafka.common.security.plain.PlainLoginModule required username"" password""; sasl.mechanismPLAIN security.protocolSASLSSL ssl.truststore.location/opt/kafka2.111.1.0/config/client.truststore.jks ssl.truststore.passworddms@kafka ssl.endpoint.identification.algorithm 参数说明: username和password为创建Kafka专享实例过程中开启SASLSSL时填入的用户名和密码。 ssl.trustore.location配置为client.truststore.jks证书的存放路径。注意,Windows系统下证书路径中也必须使用“/”,不能使用Windows系统中拷贝路径时的“”,否则客户端获取证书失败。 ssl.truststore.password为服务器证书密码,不可更改,需要保持为dms@kafka。 ssl.endpoint.identification.algorithm为证书域名校验开关,为空则表示关闭。这里需要保持关闭状态,必须设置为空。 进入Kafka命令行工具的“/bin”目录下。 注意,Windows系统下需要进入“/bin/windows”目录下。 执行如下命令进行生产消息。 ./kafkaconsoleproducer.sh brokerlist ${连接地址} topic ${Topic名称} producer.config ../config/producer.properties 参数说明如下: 连接地址:从前提条件获取的连接地址。 Topic名称:Kafka实例下创建的Topic名称。 如下示例,Kafka实例连接地址为“10.xxx.xxx.202:9093,10.xxx.xxx.197:9093,10.xxx.xxx.68:9093”。 执行完命令后,输入需要生产的消息内容,按“Enter”发送消息到Kafka实例,输入的每一行内容都将作为一条消息发送到Kafka实例。 [root@ecskafka bin]
        来自:
        帮助文档
        专属云分布式消息服务Kafka
        用户指南
        连接已开启SASL的Kafka专享实例
      • 集群命名空间RBAC授权
        本节介绍了云容器引擎的最佳实践; 集群命名空间RBAC授权。 应用现状 云容器引擎的权限控制有两种:集群权限和命名空间权限,以下篇幅将介绍云容器引擎针对集群权限的ClusterRole的创建、权限绑定和验证做简单介绍。 RBAC(RoleBased Access Control) 是基于角色(Role)的访问控制。您可以通过RBAC将权限和集群角色关联,以达到为不同的角色成员配置不同的权限,从而降低账号的安全风险。RBAC的Kubernetes对象的Role或者ClusterRole中包含一组代表相关权限的规则。Role用来在某个命名空间内设置访问权限,ClusterRole则是用于为集群范围的资源定义访问权限。 权限策略说明 您可自行编写权限策略,或通过云容器引擎的控制台创建自定义策略。 ClusterRole创建 针对您要定义集群范围的角色,那么请使用ClusterRole。下面是一个创建ClusterRole的YAML示例。 apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: clusterRoletest rules: apiGroups: metrics.k8s.io resources: pods verbs: get list watch 关于ClusterRole或者Role的更多信息,请参见Role和ClusterRole。 预置角色权限说明 预置角色 集群内RBAC权限 管理员 对集群所有命名空间下 Kubernetes 资源的 RBAC 读写权限, 对集群节点、存储卷、命名空间、配额的读写权限 运维人员 对集群所有命名空间下控制台可见 Kubernetes 资源的 RBAC 读写权限, 对集群节点、存储卷、命名空间、配额的只读权限 开发人员 对集群所有命名空间或所选命名空间下控制台可见 Kubernetes 资源的 RBAC 读写权限 受限人员 对集群所有命名空间或所选命名空间下控制台可见 Kubernetes 资源的 RBAC 只读权限 自定义 权限由您所选择的 ClusterRole 决定,请在确定所选 ClusterRole 对各类资源的操作权限后再进行授权,以免子账号获得不符合预期的权限
        来自:
        帮助文档
        云容器引擎 专有版/托管版
        最佳实践
        权限
        集群命名空间RBAC授权
      • 移动办公
        本节介绍了移动办公使用的最佳实践介绍。 天翼AI云电脑支持手机、Pad等多种移动终端,使用3/4/5G、WIFI网络登录AI云电脑,即可随时随地访问AI云电脑资源,随时进行收发文件,及时处理办公问题,实现移动办公。 前提条件 已开通天翼AI云电脑,详情请参见快速订购AI云电脑。 注意事项 天翼AI云电脑支持多终端适配:适配PC、Mac、iOS、安卓等多种终端,多外设支持:鼠标、键盘、打印机、扫描仪等外设无缝衔接(备注:手机、Pad等移动终端不支持USB外设),详情可查看外设兼容性建议清单。 应用场景说明 其常用方式: (1)外出无需携带电脑,通过手机等移动客户端接入AI云电脑进行操作,轻松调用云端资源进行移动办公; (2)天翼AI云电脑客户端支持接入扩展坞、键盘、鼠标等主流外设,与传统PC一致的使用体验。 操作步骤 步骤一:以天翼AI云电脑移动客户端为例,帮助您快速登录连接AI云电脑。步骤详见:登录连接AI云电脑 执行结果 当用户通过手机等移动客户端接入AI云电脑进行操作,轻松调用云端资源进行移动办公。例如:文档编辑,邮件接收和发送,浏览网页,日程办公软件使用等场景都可以轻松实现。 场景一:文档编辑 (1)和传统PC一样,可以在AI云电脑内正常使用文档编辑器,进行文档编辑。 (2)在编辑过程中可以使用AI云电脑内的键盘功能,更便捷的进行编辑输入。 场景二:邮件接收和发送 可以在AI云电脑内通过浏览器或安装邮箱客户端实现邮件的查收和发送。
        来自:
        帮助文档
        天翼云电脑(政企版)
        最佳实践
        移动办公
      • 配置信息
        配置项 说明 服务状态 每个资源节点均可开通/退订AI云电脑服务。注意:退订桌面服务需要该账号下无桌面资源,包括资源包、桌面、带宽、VPC、防火墙等;服务一经退订,无法撤销,请谨慎操作。 企业ID 对于以“管理员激活”方式开通的AI云电脑账号,企业ID用于租户下AI云电脑统一的登录账号后缀,例如企业管理员开通AI云电脑时分配了名为“desk01”的用户账号,那么终端用户在AI云电脑客户端中输入的登录账号就应为“desk01企业ID”。 手机号必填 开启后,通过“邮件通知”激活AI云电脑用户时,终端用户必须填写手机号(手机号可用于设备验证、免密登录、找回密码等)。 邮箱必选 开启后,通过“邮件通知”激活的AI云电脑用户,默认使用通知邮箱作为账号邮箱。 修改密码 允许后,可限制未绑定通知邮箱的管理员激活用户,在客户端登录后修改密码的操作权限。 设备绑定 开启后,在设备登录AI云电脑客户端时,绑定手机号需要进行验证。 双因子认证登录 开启双因子认证登录后,如果用户绑定了手机号码,并且使用账号(包括用户账号、手机和邮箱)+用户密码登录时,每次登录必须通过短信验证才能完成登录。 记录终端SN码 开启后,将会收集终端SN码,用于用户登录记录中展示,仅限于部分机型。 密码定期强制更新 设置后,可强制要求用户在指定周期内必须修改密码,周期可设置为:无限制/1个月/3个月/6个月/12个月。 联系方式 配置后可在AI云电脑客户端的”AI云电脑配置“页面显示管理员的联系方式。 专线不通切换互联网 开启后,“专线接入”和“互联网接入”均开启时,在专线不通的情况下,才能自动使用互联网连接桌面。 互联网接入 可配置当前资源池下的虚拟私有云启用/禁用状态。如需配置接入互联的VPC,详见 专线接入 如需对接专线,请向您的专属客户经理提交申请,或拨打天翼云客服电话: 4008109889。
        来自:
        帮助文档
        天翼云电脑(政企版)
        管理员指南
        配置信息
      • 服务发现DNS
        本文介绍如何使用服务发现DNS。 DNS使得Serverless集群支持应用的服务发现,为集群内的工作负载提供域名解析服务方案。本文将介绍Kubernetes集群中 DNS 域名解析的原理以及Serverless集群中的域名服务方案CoreDNS。 注意事项 对于已经部署的Serverless集群,如果后续安装了coredns插件,这将只对新部署的工作负载生效。那些在启动DNS服务发现之前创建的工作负载不会自动更新它们的DNS配置。 Kubernetes集群中DNS域名解析原理 Kubernetes 集群中的DNS主要作用包括: 1. 为Kubernetes集群内的Pod和Service提供解析域名的能力。 2. 将Service名称解析为ClusterIP。 3. 将外部名称解析为Service的EXTERNALIP。 在创建Serverless集群中的工作负载时,默认生成的 /etc/resolv.conf 文件包含特定配置。这个文件定义了DNS服务器的地址、搜索域以及其他一些配置参数。 Python search定义了一个或多个域名搜索列表,当进行DNS查询时,这些域名会按顺序添加到仅具有部分域名的查询中 search kubesystem.svc.cluster.local svc.cluster.local cluster.local nameserver用于解析域名的DNS服务器的IP地址 nameserver 10.96.0.10 options设置一系列的解析选项 options ndots:5 CoreDNS方案 CoreDNS是Kubernetes集群中的DNS服务器,是解析Kubernetes集群内部和外部域名的核心组件,能够实现域名解析和服务发现功能。CoreDNS具备强大的插件集,支持自定义DNS解析、自定义hosts映射、CNAME、Rewrite等功能。 CoreDNS为Kubernetes集群的DNS提供一个可插拔的插件框架,并同时支持DNSoverTLS和DNSoverHTTPS,具有插件编写简单、配置灵活、易于扩展等特点。 除此之外,CoreDNS还内置了多种DNS解析插件,能够支持对Kubernetes内部服务和外部域名进行解析,例如支持Kubernetes的服务发现机制,监听Kubernetes的API服务器上的Service和Endpoint变更事件,自动更新DNS解析信息。同时,在Kubernetes集群中,CoreDNS还能够支持多种插件,例如DNS重定向、地址过滤、负载均衡等,能够为用户提供更加全面、灵活、高效的DNS服务。
        来自:
        帮助文档
        云容器引擎 Serverless版
        用户指南
        网络
        服务发现DNS
      • 云间高速(标准版)EC
        云间高速(标准版)EC,是基于中国电信骨干网络打造的混合组网服务,为客户提供多元接入、高速传输、安全可靠的网络互联能力,助力企业实现云上云下、多地域、多网络的灵活弹性组网,构建具备企业级规模与通信品质的全球化云网络。
        来自:
        帮助文档
        云间高速(标准版)EC
      • Codex桌面版
        前置准备 首先安装codex桌面版,安装链接如下: plaintext 然后安装CCSwitch v3.16.1+(低于此版本不支持格式转换,会报错),链接如下: plaintext 购买编程Token Plan后获取专属APP Key和专属请求地址,获取链接如下: plaintext 在CCSwitch中添加供应商 说明 Codex桌面版只支持OpenAI Responses API格式,而息壤模型目前支持Chat Completions格式,CCSwitch v3.16+ 的代理负责两种格式之间的互转。 首先开启在CCSwitch中添加Codex的路由 查看是否成功 选择 Codex → 添加供应商: 填写相应内容,注意一定开启需要本地路由映射: 默认模型名称是custom,如果想改成自己模型的真正名称,下滑在config.toml更改(这个文件对应本地的~/.codex/config.toml): 然后点击保存即可 Codex对话验证 打开codex,即可看到自定义模型:
        来自:
        帮助文档
        星辰TokenHub运营服务平台
        用户指南
        编程Token Plan
        接入AI工具
        Codex桌面版
      • 新资费
        说明 分布式消息RabbitMQ新资费产品支持RabbitMQ3.8版本引擎,提供集群和单机两种规格实例,支持X86和ARM计算CPU架构类型的计算增强型主机,可选3、5、7、9代理数量。 新资费目前在 华东1、华北2、西南1、华南2、上海36、青岛20、长沙42、南昌5、武汉41、杭州7、西南2贵州、太原4、郑州5、西安7、呼和浩特3 资源池开放订购。 上述资源池实例新购和续订可享受1年83折,2年7折,3年5折优惠。 价格计算公式 分布式消息服务RabbitMQ费用由实例费用和存储费用两部分组成,两者单价如下表所示,计费公式为: 实例费用实例规格单价 代理数量,单机版总节点数量为1。 存储费用存储类型单价 代理数量 单节点存储空间GB大小,单机版代理数量为1。 实例规格单价 Intel计算增强型 规格名称 实例单价(单个节点) 规格名称 按需标准价格(元/小时) 包月标准价格(元/月) RabbitMQ.2u4g.cluster 0.98 441 RabbitMQ.4u8g.cluster 2.24 1008 RabbitMQ.8u16g.cluster 4.86 2187 RabbitMQ.12u24g.cluster 7.38 3321 RabbitMQ.16u32g.cluster 9 4050 RabbitMQ.24u48g.cluster 15.12 6804 RabbitMQ.32u64g.cluster 20.16 9072 RabbitMQ.48u96g.cluster 30.24 13608 RabbitMQ.64u128g.cluster 40.32 18144
        来自:
        帮助文档
        分布式消息服务RabbitMQ
        计费说明
        产品资费
        新资费
      • 系统账号
        本节介绍了容器镜像服务实例系统账号的用户指南。 概述 系统账号可以按照命名空间维度配置读写权限,适合使用于 CI/CD 流水线和 Kubernetes 集群中。 前提条件 已开通容器镜像服务企业版实例 创建系统账号 1. 进入容器镜像服务控制台。 2. 点击已开通的企业版实例名称。 3. 左侧导航栏点击访问控制 访问凭证 ,点击系统账号标签页。 4. 点击新建按钮创建系统账号. 参数 说明 名称 系统账号的名称。请注意,名称将自动增加 crs$ 前缀以标识系统账号,如名称填写 testaccount,则实际使用的名称为 crs$testaccount。 描述 系统账号的描述。 过期时间 可选永不过期或指定过期时间。 权限范围 配置覆盖全部命名空间或仅覆盖指定命名空间,若选择仅覆盖指定命名空间,则需要勾选指定的命名空间及其对应的权限类型。 权限类型 配置命名空间的只读或读写权限,只读权限不支持推送镜像。 5. 完成创建将弹出对话框展示系统账号名称和密码,请妥善保存,页面关闭后将无法再次查看。 6. 列表页可查看已创建的系统账号,操作栏的禁用/启用 按钮可以修改系统账号的启用状态,更新 按钮可以修改系统账号的配置,删除按钮可以删除系统账号。
        来自:
        帮助文档
        容器镜像服务
        用户指南
        访问控制
        系统账号
      • 关闭/删除事件
        本节主要介绍如何执行关闭/删除事件操作。 操作步骤 1. 登录管理控制台。 2. 单击页面左上方的,选择“安全 > 态势感知(专业版)”,进入态势感知(专业版)管理页面。 3. 在左侧导航栏选择“工作空间 > 空间管理”,并在工作空间列表中,单击目标工作空间名称,进入目标工作空间管理页面。 4. 在左侧导航栏选择“威胁管理 > 事件管理”,进入事件管理页面。 5. 在事件管理页面中,对事件进行关闭或删除操作。 参数名称 参数说明 关闭事件 1. 单击目标事件所在行“操作”列的“关闭”,弹出关闭事件确认框。 如果需要关闭多条事件,可以在事件列表中勾选需要关闭的事件,并单击列表上方“批量关闭”。 2. 在关闭确认框中,选择“关闭原因”并填写“关闭评论”后,单击“确认”。 删除事件 1. 在事件管理页面,单击目标事件所在行“操作”列的“删除”,弹出删除事件确认框。 如果需要删除多条事件,可以在事件列表中勾选需要删除的事件,并单击列表上方“批量删除”。 2. 确认无误后,在弹出的确认框中,单击“确认”。 说明 事件删除后,不可找回,请谨慎操作。
        来自:
        帮助文档
        态势感知(专业版)(新版)
        用户指南
        威胁管理
        事件管理
        关闭/删除事件
      • 与其他服务的关系
        产品 描述 详情 云间高速(标准版) 为用户提供一种能够快速构建同域、跨域VPC之间的高速、优质、稳定的网络能力,帮助用户打造一张具有企业级规模和通信能力的云上网络。将SDWAN实例绑定云间高速(标准版)实例,可一键访问天翼云虚拟私有云资源,实现企业总部分支入云需求。 详细说明请参见 云监控 当用户开通天翼云SDWAN服务后,无需额外安装其他插件,即可通过云监控服务查看相关智能网关的端口流量使用情况,互联链路的时延、带宽、丢包率等性能。 详细说明请参见 云专线CDA 客户到云的高品质专线或专网服务。 详细说明请参见 NAT网关 为VPC内的计算实例提供网络地址转换服务。 详细说明请参见 虚拟私有云 天翼云云上私有网络。 详细说明请参见
        来自:
        帮助文档
        天翼云SD-WAN
        产品简介
        与其他服务的关系
      • 操作步骤
        本文向您介绍通过企业版VPN实现云上云下网络互通(双活模式)的操作步骤。 前提条件 云侧 请确认虚拟私有云VPC已经创建完成。 请确认虚拟私有云VPC的安全组规则已经配置,ECS通信正常。 如果通过企业路由器ER关联VPN网关,请确认企业路由器ER已经创建完成。 数据中心侧 用户数据中心的VPN设备已经完成IPsec连接相关配置。 操作步骤 VPN服务支持静态路由模式、BGP路由模式和策略模式三种连接模式。本示例以静态路由模式进行配置讲解。 1. 登录管理控制台,单击“网络 > VPN”进入VPN控制台。 2. 配置VPN网关: 1. 在左侧导航栏,单击“虚拟专用网络 > 企业版VPN网关”。 2. 在“VPN网关”界面,单击“创建VPN网关”,并根据界面提示配置参数。 3. VPN网关参数说明如表11所示。 表VPN网关参数说明 参数 说明 取值参数 名称 VPN网关的名称。 vpngw001 网络类型 选择“公网”。 公网 关联模式 选择“虚拟私有云”。 关联ER场景时,请选择“企业路由器”。 虚拟私有云 企业路由器 仅关联场景为“企业路由器”时需要选择。 er001 虚拟私有云 选择用于分配互联子网的VPC。 关联场景为“企业路由器”时,该VPC可以对接ER,也可以不对接ER。 vpc001(192.168.0.0/16) 互联子网 用于VPN网关和VPC通信,请确保选择的互联子网存在4个及以上可分配的IP地址。 192.168.2.0/24 本端子网 仅关联场景为“虚拟私有云”时需要配置。 输入网段 输入需要和用户数据中心通信的子网,该子网可以在关联VPC内,也可以不在关联VPC内。 选择子网 选择关联VPC内的子网信息,用于和用户数据中心通信。 192.168.0.0/24,192.168.1.0/24 BGP ASN BGP自治系统编号。 64512 HA模式 选择“双活”。 双活 主EIP VPN网关和用户数据中心通信的公网IP1。 1.1.1.2 主EIP2 VPN网关和用户数据中心通信的公网IP2。 2.2.2.2 3. 配置对端网关: 1. 在左侧导航栏,单击“虚拟专用网络 > 企业版对端网关”。 2. 在“VPN对端网关”界面,单击“创建对端网关”,并根据界面提示配置参数。
        来自:
        帮助文档
        VPN连接
        最佳实践
        通过企业版VPN实现云上云下网络互通(双活模式)
        操作步骤
      • 快速创建弹性伸缩
        参数 解释 取值样例 区域 区域也称为Region。创建的伸缩组所在的区域。 不同区域的资源之间内网不互通。请选择靠近您客户的区域,可以降低网络时延、提高访问速度。 可用区 可用区也称为AZ(Availability Zone)。可用区指在同一区域下,电力、网络隔离的物理区域,可用区之间内网互通,不同可用区之间物理隔离。 如果您需要提高应用的高可用性,建议您将云服务器创建在不同的可用区内。 如果您需要较低的网络时延,建议您将云服务器创建在相同的可用区内。 如果您选择多个可用区,为提高应用的高可用性,您的云主机会被均匀的创建在不同的可用区内。 名称 创建的伸缩组的名称。 伸缩组名称(1~64个字符)只能由中文、英文字母、数字、下划线、和中划线组成。 最大实例数 最大实例数是指伸缩组中云主机个数的最大值。 1台 期望实例数 期望实例数是指伸缩组中期望的云主机数量。 创建后可以手工修改该值,修改该值就会触发一次弹性伸缩活动。 0台 最小实例数 最小实例数是指伸缩组中云主机个数的最小值。 0台 虚拟私有云 弹性云主机使用的网络是虚拟私有云(VPC)提供的。 同一伸缩组内的弹性云主机均属于该VPC。 子网 您最多可以选择五个子网,伸缩组会自动为创建的实例绑定所有网卡。您选择的第一个子网默认作为云主机的主网卡,其它子网作为云主机的扩展网卡。 自动分配IPv6地址:当且仅当选择支持IPv6的AZ、且VPC子网开启了IPv6功能时,该参数可见。子网如何开启IPv6功能,请参见《虚拟私有云用户指南》。系统默认分配IPv4地址,勾选后,网卡的IP地址为IPv6类型。在同一VPC内,云主机通过IPv6地址在双栈ECS之间进行内网访问。如需访问外网,您需要开启“IPv6带宽”并选择共享带宽,此时云主机可以使用IPv6地址访问互联网。 实例移除策略 实例优先被移除的策略。当满足条件时,会触发实例移除活动,包括如下四种方式: 根据较早创建的配置较早创建的实例:根据“较早创建的配置”较早创建的“实例”优先被移除伸缩组。 根据较早创建的配置较晚创建的实例:根据“较早创建的配置”较晚创建的“实例”优先被移除伸缩组。 较早创建的实例:创建时间较早的实例优先被移除伸缩组。 较晚创建的实例:创建时间较晚的实例优先被移除伸缩组。 说明: 当可用区不均衡时,移出实例时会优先保证可用区均衡。 手动移入伸缩组的云主机不会遵循“实例移除策略”的要求,实例移除优先级最低,且移除时,系统不会删除该云主机。当有多个手工加入伸缩组的云主机时,移除规则是:先进先出。 弹性IP 若伸缩组的伸缩配置使用了弹性IP,在进行扩容活动时,会给创建出来的云主机绑定一个弹性IP。若选择“释放”,当进行缩容活动时,会将云主机上的弹性IP释放,否则仅做解绑定操作,保留弹性IP资源。 健康检查方式 健康检查会将异常的云主机从伸缩组中移除,并重新创建新的云主机,伸缩组的健康检查方式包括以下几种: 云主机健康检查:是指对云主机的运行状态进行检查,如关机、删除都是云主机异常状态。默认为此选项,伸缩组会定期使用云主机健康检查结果来确定每个云主机的运行状况。如果未通过云主机健康检查,则伸缩组会将该云主机移出伸缩组。 负载均衡健康检查:是指根据ELB对云主机的健康检查结果进行的检查。只有当伸缩组使用弹性负载均衡器时,您才可以选择“负载均衡健康检查”,所有监听器下检测到的云主机状态必须均为正常,否则伸缩组会将该云主机移出伸缩组。 健康检查间隔 伸缩组执行健康检查的周期。您可以根据实际情况设置合理的健康检查间隔。 5分钟 通知方式 可选参数。如果勾选此项,伸缩组进行伸缩活动后,系统将以邮件形式通知用户本次弹性伸缩伸缩活动的结果。通知邮箱为用户注册时填写的邮箱信息。
        来自:
        帮助文档
        弹性伸缩服务 AS
        快速入门
        快速创建弹性伸缩
      • 升级轻量型云主机
        本文介绍了如何对轻量型云主机进行套餐升级。 操作场景 若当前服务套餐无法满足您业务的需求,可以对服务进行升级操作,增大各资源规格。 前提条件 轻量型云主机状态为关机状态。 约束限制 轻量型云主机只支持套餐升级操作(即目标套餐的CPU、内存、系统盘、带宽均大于等于当前套餐),不支持套餐降级操作。 请于48小时内支付订单,否则升级操作失败,数据将被清空,请谨慎进行操作升级。 套餐升级成功后,实例现有的IP地址、防火墙策略不受影响,实例到期时间不变。 轻量型云主机完成升级后处于关机状态,需用户手动开启,重启业务。 操作步骤 1. 登录天翼云,进入控制中心。 2. 单击控制中心顶部的,选择资源所在地,此例我们选择上海36。后续您也可以在创建页面对“地域”进行修改。 3. 单击左侧导航栏“产品服务列表”,选择“计算>轻量型云主机”。 4. 进入轻量型云主机列表界面,在目标轻量型云主机“操作”列下拉“更多”选择“升级”。 您也可以单击目标主机“实例名称”进入目标主机详情页,单击右侧顶部“更多”,下拉选择“升级”进行套餐升级。 5. 出现升级套餐弹窗,用户可按需选择要升级的固定套餐,也可升级至随心购套餐,灵活搭配套餐内各类资源。 6. 确定配置后,单击“确定”,完成支付后,即完成轻量型云主机套餐升级。
        来自:
        帮助文档
        轻量型云主机
        用户指南
        升级轻量型云主机
      • SSH密码方式登录
        操作场景 本节操作介绍在Windows和Linux环境中使用SSH密码方式远程登录Linux云主机的操作步骤。 前提条件 Linux云主机状态处于“运行中”。 Linux 操作系统首次登录的用户名一般可以设置为 root 或 ecsuser,出于安全考虑,推荐您使用ecsuser,CoreOS的默认用户名为“core”。 Linux云主机所在安全组的入方向已开放22端口。 Linux云主机防火墙未开启或开启后放通22端口。 如果创建Linux云主机时登录方式设置的为密钥,请通过重置密码功能,设置Linux云主机的登录密码后执行本节操作。重置密码请参考:在控制台重置弹性云主机密码。 您所使用的SSH登录工具(例如PuTTY)已经正确配置,并且与Linux云主机具有网络连通性。如果使用处于公网中的终端登录,需要您的Linux云主机已绑定弹性IP。如果通过内网使用此方式登录,则不需要绑定弹性IP,例如VPN、云专线等内网网络连通场景。 本地使用Windows操作系统 如果本地主机为Windows操作系统,可以按照以下方式登录云主机。下面的步骤以PuTTY为例: 1. 您可通过官方途径下载PuTTY和PuTTYgen。 2. 运行PuTTY。 3. 在PuTTY的配置界面中,填写以下信息: Host Name (or IP address):输入Linux云主机的弹性IP。 Port:输入 22。 Connection Type:选择 SSH。 Saved Sessions:为任务设置一个名称,以便下次使用PuTTY时可以直接打开该任务。 4. 单击"Window",在"Translation"下的"Received data assumed to be in which character set:"选择"UTF8"。 5. 单击“Open”。如果首次登录服务器,PuTTY会显示安全警告对话框,询问是否接受服务器的安全证书。单击"是"将证书保存到本地注册表中。 6. 建立到Linux云主机的SSH连接后,根据提示输入用户名和密码登录云主机。
        来自:
        帮助文档
        弹性云主机 ECS
        用户指南
        云主机实例
        登录实例
        登录Linux弹性云主机
        SSH密码方式登录
      • 网络安全类
        跨云数据库迁移 跨云数据库迁移主要通过公网网络进行,此时分为两步: 1. 购买DTS实例时,在订购页面中,目标库的网络接入类型选择“公网EIP”。 2. 源数据库实例申请公网访问,以阿里云云数据库RDS MySQL为例,一般情况下,阿里云RDS MySQL不提供公网地址,需要通过申请公网地址来允许外部通过公网访问,具体的操作及注意事项可以参考源数据库所在云提供的相关指导。 完成以上两步后,则主要需要针对源数据库实例和DTS实例所在安全组进行检查,具体可参考【同VPC内数据库迁移】的检查方式,其中分别对应源数据库实例的公网IP和DTS实例的公网EIP。 本地数据库迁移 本地数据库迁移主要通过公网网络进行,具体可参考以上【跨云数据库迁移】相关步骤进行操作,其中主要的区别点: 本地数据库要绑定一个公网IP来支持DTS实例通过公网访问。 本地数据库所在机器或者IDC的防火墙要放通DTS实例的公网EIP、本地数据库端口的入方向访问。 安全组规则主要针对DTS实例,可以参考以上【同VPC内数据库迁移】相关说明进行检查,此时为DTS实例的公网EIP。 ECS自建数据库迁移 ECS自建数据库迁移主要需要区分ECS与目标数据库实例所在的VPC的几种场景: 同一个VPC :网络默认互通,故主要需要针对安全组规则进行检查。 同资源池,不同VPC:首先需要确保ECS所在子网的网段和目标数据库实例所在子网的网段不冲突,然后可以通过对等连接的方式进行网络打通。 不同资源池,不同VPC:不同资源池需要通过公网网络进行访问,故源数据库实例需申请公网IP,DTS实例需使用公网EIP的网络接入模式。 安全组规则可以参考以上【同VPC内数据库迁移】相关说明进行检查。
        来自:
        帮助文档
        数据传输服务DTS
        常见问题
        网络安全类
      • 约束与限制
        数据库迁移通用限制和约束 1. CDM以批量迁移为主,仅支持有限的数据库增量迁移,不支持数据库实时增量迁移。 2. CDM支持的数据库整库迁移,仅支持数据表迁移,不支持存储过程、触发器、函数、视图等数据库对象迁移。 3. CDM仅适用于一次性将数据库迁移到云上的场景,包括同构数据库迁移和异构数据库迁移,不适合数据同步场景,比如容灾、实时同步。 4. CDM迁移数据库整库或数据表失败时,已经导入到目标表中的数据不会自动回滚,对于需要事务模式迁移的用户,可以配置“先导入到阶段表”参数,实现迁移失败时数据回滚。极端情况下,可能存在创建的阶段表或临时表无法自动删除,也需要用户手工清理(阶段表的表名以“cdmstage”结尾,例如:cdmtetcdmstage)。 5. CDM访问用户本地数据中心数据源时(例如本地自建的MySQL数据库),需要用户的数据源可支持Internet公网访问,并为CDM集群实例绑定弹性IP。这种方式下安全实践是:本地数据源通过防火墙或安全策略仅允许CDM弹性IP访问。 6. 仅支持常用的数据类型,字符串、数字、日期,对象类型有限支持,如果对象过大会出现无法迁移的问题。 7. 仅支持数据库字符集为GBK和UTF8。 8. 字段名不可使用&和%。 关系数据库迁移权限配置 常见关系数据库迁移需要的最小权限级: MySQL:INFORMATIONSCHEMA库的读权限,以及对数据表的读权限。 Oracle:需要该用户有resource角色,并在tablespace下有数据表的select权限。 达梦:具有该schema下select any table的权限。 DWS:需要表的schema usage权限和数据表的查询权限 SQL Server:用户需要有sysadmin权限。 PostgreSQL:角色拥有数据库下schema下表的select权限。
        来自:
        帮助文档
        数据治理中心 DataArts Studio
        用户指南
        数据集成
        约束与限制
      • 实现数据列的加解密
        应用示例 1.连接数据库。 具体步骤参见《数据仓库服务用户操作指南》中的“连接集群>使用gsql命令行客户端连接集群”章节。 2.创建表student,有id,name和score三个属性。使用哈希函数加密保存name,使用对称密码算法保存score。 CREATE TABLE student (id int, name text, score text, subject text); INSERT INTO student VALUES (1, gshash('alice', 'sha256'), gsencrypt('95', '12345', 'aes128', 'cbc', 'sha256'),gsencryptaes128('math', '1234')); INSERT INTO student VALUES (2, gshash('bob', 'sha256'), gsencrypt('92', '12345', 'aes128', 'cbc', 'sha256'),gsencryptaes128('english', '1234')); INSERT INTO student VALUES (3, gshash('peter', 'sha256'), gsencrypt('98', '12345', 'aes128', 'cbc', 'sha256'),gsencryptaes128('science', '1234')); 3.不使用密钥查询表student,通过查询结果可知:没有密钥的用户即使拥有了select权限也无法看到name和score这两列加密数据。 select from student; id name score subject +++ 1 2bd806c97f0e00af1a1fc3328fa763a9269723c8db8fac4f93af71db186d6e90 AAAAAAAAAABAuUC3VQ+MvPCDAaTUySl1e2gGLr4/ATdCUjTEvova3cb/Ba3ZKqIn1yNVGEFBvJnTq/3sLF4//Gm8qG7AyfNbbqdW3aYErLVpbE/QWFX9Ig aFEWQR2gkj iu6sfsAad+dHzfFDHePZ6xd44zyekh+qVFlh9FODZ0DoaFAJXctwUsiqaiitTxW8cCSEaNjS/E7Ke1ruY 2 81b637d8fcd2c6da6359e6963113a1170de795e4b725b84d1e0b4cfd9ec58ce9 AAAAAAAAAABAuUC3VQ+MvPCDAaTUySl1taXxAoDqE793hgyCJvC0ESdAX5Mtgdq2LXI1f5ZxraQ73WIJVtIBX8oe3gTDxoXGlHbHht4kzM4U8dOwr5rjgg aFEWQR2gkj iu6sfsAad+dM8tPTDo/Pds6ZmqdmjGiKxf39+Wzx5NoQ6c8FrzihnRzgc0fycWSu5YGWNOKYWhRsE84Ac 3 026ad9b14a7453b7488daa0c6acbc258b1506f52c441c7c465474c1a564394ff AAAAAAAAAACnyusORPeApqMUgh56ucQu3uso/Llw5MbPFMkOXuspEzhhnc9vErwOFe6cuGtx8muEyHCX7V5yXs+8FxhNh3n5L3419LDWJJLY2O4merHpSg zomphRfHV4 H32hTtgkio1PyrobVO8N+hN7kAKwtygKP2E7Aaf1vsjmtLHcL88jyeJNe1lxe0fAvodzPJAxAuV3UJN4M (3 rows) 4.使用密钥查询表student,通过查询结果可知:拥有密钥的用户通过使用gsencrypt对应的解密函数gsdecrypt解密后,可以查看加密数据。 select id, gsdecrypt(score, '12345', 'aes128', 'cbc', 'sha256'),gsdecryptaes128(subject, '1234') from student; id gsdecrypt gsdecryptaes128 ++ 1 95 math 2 92 english 3 98 science (3 rows)
        来自:
        帮助文档
        数据仓库服务
        最佳实践
        安全管理
        实现数据列的加解密
      • 怎样实现Windows云主机文件共享
        本文向您介绍实现Windows云主机文件共享的解决方案。 操作场景 本文介绍实现同一个子网下Windows云主机之间文件共享的方法。 约束和限制 共享文件的云主机在同一个子网下,且网络互通。 操作步骤 本文以Windows Server 2008 标准版64位中文版操作系统云主机为例。 登录云主机。 在云主机右下方的网络图标处,右键点击“打开网络和共享中心”。 图1 打开网络和共享中心 点击“更改高级共享设置”,分别开启“家庭或工作”和“公用”下的“启用文件和打印机共享”,点击“保存修改”。 图2 启用或关闭共享 在CMD窗口执行命令 services.msc,找到TCP/IP NetBIOS Helper 服务,并设置为开启。 若服务处于“禁用”状态,则右键属性,将服务设为“自动”或者“手动”,然后开启服务。 图3 CMD窗口执行命令 图4 开启TCP/IP NetBIOS Helper
        来自:
        帮助文档
        弹性云主机 ECS
        故障修复
        操作系统类(Windows)
        怎样实现Windows云主机文件共享
      • 新资费
        说明 分布式消息服务Kafka如下资源池支持Kafka2.8、3.6版本引擎,提供集群和单机两种规格实例,支持X86和ARM计算CPU架构类型的计算增强型主机,可选350代理数量。 目前在 华东1、华北2、西南1、华南2、上海36、青岛20、长沙42、南昌5、武汉41、杭州7、西南2贵州、太原4、郑州5、西安7、呼和浩特3 资源池开放订购。 上述资源池订购和续订可享受1年83折,2年7折,3年5折优惠。 价格计算公式 分布式消息服务Kafka费用由实例费用和存储费用两部分组成,两者单价如下表所示,计费公式为: 实例费用实例规格单价 代理数量,单机版代理数量为1。 存储费用存储类型单价 代理数量 单节点存储空间GB大小,单机版代理数量为1。 实例规格单价 Intel计算增强型 规格名称 实例单价(单个节点) 规格名称 按需标准价格(元/小时) 包月标准价格(元/月) Kafka.2u4g.cluster 0.98 441 Kafka.4u8g.cluster 2.24 1008 Kafka.8u16g.cluster 4.86 2187 Kafka.12u24g.cluster 7.38 3321 Kafka.16u32g.cluster 9 4050 Kafka.24u48g.cluster 15.12 6804 Kafka.32u64g.cluster 20.16 9072 Kafka.48u96g.cluster 30.24 13608 Kafka.64u128g.cluster 40.32 18144
        来自:
        帮助文档
        分布式消息服务Kafka
        计费说明
        产品资费
        新资费
      • 1
      • ...
      • 255
      • 256
      • 257
      • 258
      • 259
      • ...
      • 349
      跳转至
      推荐热词
      天翼云运维管理审计系统天翼云云服务平台云服务备份云日志服务应用运维管理云手机云电脑天翼云云hbase数据库电信云大数据saas服务电信云大数据paas服务轻量型云主机天翼云客户服务电话应用编排服务天翼云云安全解决方案云服务总线CSB天翼云服务器配置天翼云联邦学习产品天翼云云安全天翼云企业上云解决方案天翼云产品天翼云视频云存储

      天翼云最新活动

      云聚517 · 好价翼起拼

      爆款云主机低至25.83元/年,参与拼团享更多优惠,拼成得额外优惠券

      安全隔离版OpenClaw

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

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

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

      青云志云端助力计划

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

      企业出海解决方案

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

      天翼云信创专区

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

      中小企业服务商合作专区

      国家云助力中小企业腾飞,高额上云补贴重磅上线

      云上钜惠

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

      产品推荐

      弹性云主机 ECS

      物理机 DPS

      GPU云主机

      多活容灾服务 MDR

      镜像服务 IMS

      弹性伸缩服务 AS

      弹性高性能计算 E-HPC

      天翼云CTyunOS系统

      训推服务

      推荐文档

      文档下载

      基本概念

      什么是分布式消息服务

      变更规格通用操作

      创建监控视图

      • 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号