展开

关键词

首页关键词双十一迁移服务平台哪里买

双十一迁移服务平台哪里买

相关内容

迁移服务平台

迁移服务平台

迁移服务平台(MSP)整合了各种迁移工具,并提供统一监控。迁移服务平台帮助用户方便快捷的将系统迁移上云,并清晰掌握迁移进度。迁移服务平台 不收取任何额外费用,您只需为使用的迁移工具及资源付费……
  • 迁移服务平台

    产品概述,应用场景,简介,API 概览,请求结构,公共参数,签名方法,返回结果,更新历史,注册迁移任务,更新迁移任务状态,更改迁移任务所属项目,获取迁移任务列表,获取迁移项目名称列表,获取指定迁移任务详情,取消注册迁移任务,数据结构,购买指南,词汇表,错误码,常见问题,签名方法 v3,全托管公网迁移,URL 列表迁移,UCLOUD UFile 迁移,百度云 BOS 迁移,金山云 KS3 迁移,七牛云 KODO 迁移,腾讯云 COS 间迁移,Agent 半托管迁移,AWS S3 迁移,资源扫描工具,资源选型对照表,全托管模式迁移,Agent 半托管模式迁移,数据库迁移批量辅助工具,数据库迁移割接工具,大数据迁移校验工具,资源创建工具,快速入门,扫描工具离线版,联系我们,产品简介,产品概述,应用场景,API 文档,简介,API 概览,调用方式,请求结构,公共参数,签名方法,返回结果,更新历史,通用迁移信息接口,注册迁移任务,更新迁移任务状态,更改迁移任务所属项目,获取迁移任务列表,获取迁移项目名称列表,获取指定迁移任务详情,取消注册迁移任务,数据结构,购买指南,词汇表,错误码,常见问题,签名方法 v3,迁移教程,全托管公网迁移,URL 列表迁移,UCLOUD UFile 迁移,百度云 BOS 迁移,金山云 KS3 迁移,七牛云 KODO 迁移,腾讯云 COS 间迁移,阿里云 OSS 迁移,Agent 半托管迁移,AWS S3 迁移,迁移工具,资源扫描工具,资源选型对照表,对象存储迁移工具,全托管模式迁移,Agent 半托管模式迁移,数据库迁移批量辅助工具,数据库迁移割接工具,大数据迁移校验工具,资源创建工具,快速入门,扫描工具离线版,资源扫描工具,联系我们
    来自:
  • 资源扫描工具

    概述标准的迁移流程中,会从了解“有哪些资源需要迁移”、“从哪里迁移”、“需要准备多少以及何种规格的资源”开始,因为业务系统的高复杂度,资源盘点工作常常需要投入大量的人力,并且存在盘点结果不准确的情况。操作步骤登录 迁移服务平台 控制台,单击左侧菜单栏中的【资源扫描】,进入资源扫描主页面。单击【创建扫描任务】,进入创建扫描任务页面,配置如下选项:标题:输入扫描任务名称。扫描源:目前仅支持阿里云。
    来自:
  • 广告
    关闭

    11.11智惠云集

    2核4G云服务器首年70元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到
  • 资源选型对照表

    操作步骤登录 迁移服务平台 控制台。在左侧菜单栏中,单击产品选型推荐,进入产品规格对照表页面。您可切换公有云厂商以及所需查询的产品标签,查询对标友商规格腾讯云的建议资源配置。
    来自:
  • 全托管模式迁移

    操作步骤登录迁移服务平台登录 迁移服务平台 。在左导航栏中单击对象存储迁移,进入对象存储迁移页面。 新建迁移任务在对象存储迁移页面,单击新建任务,进入对象存储迁移任务配置页面,进行迁移参数的设置。
    来自:
  • Agent 半托管模式迁移

    操作场景Agent 半托管迁移模式中,用户需要手工在源数据云厂商的服务上部署 Agent,Agent 通过内网拉取源数据,并推送到腾讯云对象存储 COS。如果源数据厂商与腾讯云 COS 间已经拉通专线,Agent 半托管迁移模式不会产生流量费用,因此建议已经部署了专线的用户采用此模式进行迁移。下文将详细介绍当源对象存储部署在阿里云 OSS 时,如何配置 Agent 半托管迁移任务,实现数据迁移。准备工作阿里云对象存储 OSS专线准备确认(如无专线环境,通过公网迁移可忽略此步骤):Agent 半托管模式如果是通过专线迁移,需要确保阿里云侧主机上使用的 COS SDK,可经过专线访问 COS,迁移前请与商务经理确认。创建 RAM 子账号并授予相关权限:登录 RAM 控制台。选择人员管理 > 用户 > 新建用户。勾选控制台密码登录和编程访问,之后填写用户账号信息。保存生成的账号、密码、AccessKeyID 和 AccessKeySecret。勾选用户登录名称,单击添加权限,授予子账号存储空间读写权限(AliyunOSSFullAccess)。 腾讯云对象存储 COS创建目标存储空间,用于存放迁移的数据,详情请参见 创建存储桶。创建用于迁移的子用户并授予相关权限:登录腾讯云 访问管理控制台。在左导航栏中选择用户 > 用户列表,进入用户列表页面。新建子用户,勾选编程访问及腾讯云控制台访问。搜索并勾选 QcloudCOSAccessForMSPRole 及 QcloudCOSFullAccess 策略。完成子用户创建并保存子用户名,访问登录密码,SecretId,SecretKey。 单击 这里 下载 Agent。 说明: 迁移服务也可以使用主账号操作,但是出于安全考虑,建议新建子账号并使用子账号 API 密钥进行迁移,迁移完成后删除。 迁移限速MSP 迁移工具提供了限制 QPS(对象存储模式)和带宽限速(URL 列表模式)。用户在使用 Agent 迁移的情况下,也可以在迁移服务器上进行限速操作,同时在 MSP 中创建任务时选择“不限速”。 执行如下命令,查看网卡序列号。# ifconfig执行如下命令,测试限速前的下载速度。# wget https:msp-test-src-1200000000.cos.ap-guangzhou.myqcloud.combkce_src-5.0.2.tar.gz执行如下命令,安装 iproute 工具(默认 Centos 7.x 已安装,此步可跳过)。# yum -y install iproute执行如下命令,将 eth0 网卡限速为50kbit。# sbintc qdisc add dev eth0 root tbf rate 50kbit latency 50ms burst 1000 说明: eth0 为网卡序号,由第1步查看网卡获取。如果需要限速10M,则将50kbit改为10Mbit。 限速后测试,执行如下命令,验证下载速度是否已被限制。# wget https:msp-test-src-1200000000.cos.ap-guangzhou.myqcloud.combkce_src-5.0.2.tar.gz若您需要解除限速,则可以执行如下命令,即可解除限速。# sbintc qdisc del dev eth0 root tbf 实施迁移建立用于迁移的临时服务器(主控服务器)。因为建立迁移任务时需要填写 Agent 主控服务器的 IP 地址(内网 IP 地址,用于与迁移集群中的 Worker 服务器通信),因此在建立迁移任务之前,需先准备一台操作系统为 CentOS 7.x 64位的云服务器。 说明: 如果通过专线迁移,建议服务器在迁移源侧。如果通过公网迁移,建议服务测使用腾讯云 CVM。 在腾讯云 MSP 中建立迁移任务。i. 在“选择迁移模式”中的“模式选择”部分,选择“新建迁移任务后手动下载 Agent 启动迁移”。ii. 在“主节点内网 IP”部分,填写阿里云上创建的服务器内网 IP 地址(例如 172.XXX.XXX.94)。iii. 在“OSS内网EndPoint”部分,填写阿里云对象存储桶的“EndPoint(地域节点)”。 注意: 若迁移源与目标源有内容不同,名称相同的文件,建议在同名文件配置处选择跳过(保留目标桶中已有的同名文件),系统默认选择覆盖(源桶中的文件会覆盖目标桶中的同名文件)。若在迁移过程中对象(文件)内容有变化,需要进行二次迁移。 所有参数填写完毕后,单击新建并启动。需要注意的是,在 Agent 模式下,此时任务虽已创建成功但并未运行,需要按以下步骤在阿里云主控服务器上手工启动 Agent。在主控服务器上部署和启动 Agent。i. 解压 Agent 工具包(目录无特殊要求)。ii. 修改配置文件。.agentconfagent.toml# 此处填写腾讯云用于迁移的云 API 密钥对secret_id = '此处填写腾讯云 API 密钥 AccessKey'secret_key = '此处填写腾讯云 API 密钥 SecretKey'iii. 启动 Agent。# chmod +x .agentbinagent# cd agentbin 必须在 bin 目录中启动 agent 程序(否则会找不到配置文件)#.agentAgent 会定时自动从 MSP 平台获取任务的详细配置信息,如果创建多个迁移任务无需重复启动 Agent。扩充迁移集群(增加 Worker 服务器)。Agent 模式支持分布式迁移(多服务器协同),如果希望进一步提高迁移速度,在有可用带宽的情况下可以增加 Worker 服务器加入到迁移:Worker 服务器必须与 master 服务器互通。如果使用专线迁移,需要确保 Worker 服务器可通过专线直接访问 COS。Worker 服务器可以是任意配置,但建议与 master 保持一致。部署和启动 Agent 的方式与 master 服务器完全相同(同样需要修改 agent.toml 中的 secret_id 和 secret_key),因新建任务的时候已经指定了 master 服务器,新加入的 agent 均被作为 Worker 节点与 master 服务器通信获得任务。Worker 服务器可以随时加入迁移集群,但建议创建任务之前将所有的 Worker 服务器与 master 一同创建并配置和启动 Agent,以便 master 启动任务时可以更有效的进行分片调度。 查看迁移状态和进度在文件迁移工具主界面中,可以查看所有文件迁移任务的状态和进度: “任务完成”状态,绿色是任务完成并且所有文件都迁移成功,黄色是迁移任务完成但部分文件迁移失败。单击“重试失败任务”链接后,该任务中失败的文件将会重试迁移,已经成功迁移的文件不会重传。单击“导出”链接可以导出迁移过程中失败的文件列表。
    来自:
  • 数据库迁移批量辅助工具

    概述对于需要迁移大量数据库的场景,为提高迁移期间操作 数据传输服务 DTS 的效率,MSP 提供了“数据库批量迁移辅助工具”,帮助客户可以批量创建、启动、校验、结束任务。使用环境系统环境Windows、Linux 和 macOS 系统。步骤1:获取工具前往下载 数据库批量迁移辅助工具。 步骤2:解压工具包解压工具包,解压并保存到某个目录,例如:unzip batch-dts-cmd-1.1.3.zip && cd batch-dts-cmd 步骤3:工具目录结构正确解压后的工具目录结构如下所示:batch-dts-cmd|— linux| |— batchDtsCmd # Linux 版本工具执行文件|— logs # 工具执行中生成的日志|— mac| |— batchDtsCmd # macOS 版本工具执行文件|— windows| |— batchDtsCmd # Windows 版本工具执行文件|— miTask.txt # 批量任务列表的示例文件|— readme # 工具使用说明 步骤4:准备批量任务列表数据库批量迁移辅助工具使用任务列表来进行批量任务的操作,任务列表为纯文本文件,文件中的每一行代表一个迁移任务记录,每条记录有28个字段,字段定义如下: 字段序号字段填写内容 1SrcDatabaseType源库类型 mysql、redis 2SrcAccessType接入类型 extranet(外网)、CVM(CVM 自建实例)、dcg(专线接入的实例)、vpncloud(云 VPN 接入的实例)、cdb(腾讯云数据库实例)、ccn(云联网实例) 3UniqDcgId专线网关 ID,无效可填写“-” 4VpcId私有网络 ID,无效可填写“-” 5SubnetId子网 ID,无效可填写“-” 6MigrateType迁移类型:1(结构迁移)、2(全量迁移)、3(全量+增量迁移)。无效可填写“-” 7MigrateObject指定库表迁移:1(整个实例)、2(指定库表)。无效可填写“-” 8DataBaseInfo库表,仅当 migrate_object=2 时生效,字符串类型,例如:}],如不使用“-” 9ConsistencyType检验,抽样数据一致性检测参数,1-未配置,2-全量检测,3-抽样检测,4-仅校验不一致表,5-不检测。结构迁移和全量迁移,只能填5,无效可填写“-” 10IsOverrideRoot是否用源库 Root 账户覆盖目标库,值包括:0-不覆盖,1-覆盖,选择库表或者结构迁移时应该为0 11SelectRowsPerTable数据内容检测参数。表中选出用来数据对比的行,占表的总行数的百分比。取值范围是整数 12TablesSelectAll数据内容检测参数。迁移库表中,要进行数据内容检测的表,占所有表的百分比。取值范围是整数 13TablesSelectCount数据数量检测,检测表行数是否一致。迁移库表中,要进行数据数量检测的表,占所有表的百分比。取值范围是整数 14SrcRegion源数据库对应区域(对应腾讯云侧区域),无效可填写“-” 15SrcInstanceId源实例 ID,无效可填写“-” 16SrcUser源数据库账号,无效可填写“-” 17SrcPassword源数据库密码,无效可填写“-” 18SrcInstanceIp源实例的 IP 地址,无效可填写“-” 19SrcInstancePort源实例的端口,无效可填写“-” 20UniqVpnGwIdVPN 网关 ID,无效可填写“-” 21CcnId云联网 ID,无效可填写“-” 22CvmInstanceIdCVM 实例短 ID,格式如:ins-olgl39y8,与云服务器控制台页面显示的实例 ID 相同。如果是 CVM 自建实例,需要传递此字段,无效可填写“-” 23SrcSupplier服务商 aliyun、others,无效可填写“-” 24EngineVersion数据库版本,当实例为 RDS 实例时才有效,格式如:5.6或者5.7,默认为5.6 25DstRegion迁移目标地域(腾讯云侧地域),无效可填写“-” 26DstInstanceId迁移目标实例 ID(腾讯云侧 CDB),无效可填写“-” 27ReadOnly目前只对 MySQL 有效。当为整实例迁移时,1-只读,0-可读写。 28TaskName用户指定的任务名,可填写“-”时将由工具指定文件名 公网迁移阿里云 RDS 的配置文件示例:mysql||extranet||-||-||-||1||1||-||5||0||-||-||-||ap-shanghai||rm-bp15p360cw55n****||msptest||hlwFT2019||112.*.*.*||3306||-||-||-||aliyun||5.6||ap-shanghai||cdb-4hrbfdcy||1||taskName1mysql||extranet||-||-||-||3||1||-||3||0||5||5||5||ap-shanghai||rm-bp15l4gmk981e****||msptest||hlwFT2019||112.*.*.*||3306||-||-||-||aliyun||5.6||ap-shanghai||cdb-7canywo0||0||taskName2mysql||extranet||-||-||-||3||2||}]||5||0||-||-||-||ap-shanghai||rm-bp1155k689247****||msptest||hlwFT2019||121.*.*.*||3306||-||-||-||aliyun||5.7||ap-shanghai||cdb-ihkoch9q||1||taskName3 步骤5:执行命令数据库批量迁移辅助工具调用方式为:batchDtsCmd -type <操作类型> -dst_secretId <腾讯云 secretid> -dst_secretKey <腾讯云 secretkey> -src_ak <源 accesskey> -f <任务列表文件>操作类型 type 可选参数为: create:创建数据迁移任务。check:创建校验迁移任务。checkResult:获取迁移校验结果。start:启动数据迁移任务。finish:完成数据迁移任务。delete:删除迁移任务。 命令行调用示例:查看工具版本号# .batchDtsCmd -v 批量创建迁移任务# .batchDtsCmd -type create -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -src_ak XXXXXXX -f miTask.txt 批量校验迁移任务# .batchDtsCmd -type check -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list 批量获取迁移校验结果# .batchDtsCmd -type checkResult -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list 批量启动迁移任务# .batchDtsCmd -type start -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list 批量完成(停止)迁移任务# .batchDtsCmd -type finish -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list 批量删除迁移任务# .batchDtsCmd -type delete -dst_secretId XXXXXXX -dst_secretKey XXXXXXX -f batchJobid.2019-10-30-15-47-40.list 步骤6:执行结果数据库批量迁移辅助工具的执行结果,请前往 数据传输服务 DTS 控制台查看。
    来自:
  • 数据库迁移割接工具

    概述数据库迁移的不同阶段,客户需要对所有迁移库进行前置检查、迁移监控和割接判断。在数据库数量多、迁移时间窗口短的情况下操作将较为复杂且存在风险。DB 割接工具内置了分阶段的检测功能,包括前置阶段的源库一致性(主从一致)、规格和容量检测(以免目标库规格不匹配或容量不足)、关键参数检测(引擎版本、字符集、连接数、bufferpool等);迁移监控(同步延时、一致性、连接数);割接检测(一致性、参与流量清理、库权限变更、迁移任务关闭)。通过图形化界面和批量自动化检测,降低割接环节的人工检查工作量。使用环境系统环境Windows、Linux 和 macOS 系统。软件依赖⼯具开发语⾔言基于 Go,运行工具需要寄主机具备以下条件:为了减少用户使用工具安装依赖的环节,割接工具以 docker 镜像方式交付,则用户需要有 docker 环境。用户使⽤中只需要 docker < verify1.0.tar(具体版本请求根据实际版本定)导入镜像即可。 步骤1:获取工具前往下载 数据库迁移割接工具。步骤2:解压工具包解压工具包,正确解压后的工具目录结构如下所示:db-verify_vXxxx| — verify_vX.x.x.tar # 割接工具需要导入docker的镜像包| — DB割接工具使用文档.pdf # 当前版本的使用说明| — 批量创建任务&导出任务详情模版.xlsx # 用于批量操作的文件模版 步骤3:启动服务确保服务器上具备可用的 docker 环境并执行如下命令:# docker run -p 9090:8080 -it --rm databasedbverify:v2.0 bashbash-4.2$bash-4.2$ whereis nginxnginx: etcnginx usrsharenginx optrhrh-nginx112rootusrsbinnginxbash-4.2$ optrhrh-nginx112rootusrsbinnginxbash-4.2$ sh start.shdocker 的寄主机8080端⼝通常情况下被占用,因此这里通过端口映射默认使用9090,容器运行后进入命令行,启动 nginx 服务,并在 home 录执行命令sh start.sh。获取当前机器 IP,在浏览器输入http:xxx.xxx.xxx.xxxx:9090index.html,进⼊工具控制台后即可创建任务,如下图所示: 注意: 创建任务时,需要确保待割接数据库可通过容器环境访问,否则会出现无法联通而导致创建失败。任务创建成功后,工具不会自动检测一致性,需要单击“校验”按钮进行一致性校验。清除数据库连接时,部分友商数据库的系统账号连接无法关闭,如确认残留连接为系统账号忽略即可。
    来自:
  • 大数据迁移校验工具

    概述客户完成 Hive 文件数据迁移后需要确认迁移是否完整,校验工具以 jar 包的形式提供针对迁移源数据和目的数据的多维度的校验,判断迁移前后数据是否一致。使用环境系统环境Windows、Linux 和 macOS 系统。软件依赖Java Platform(JDK)版本1.8以上。安装 Hadoop 环境。 步骤1:获取工具前往下载 大数据迁移校验工具。步骤2:解压缩工具包解压并保存到某个目录,例如:unzip hive-verify-3.0.1.zip && cd hive-verify 步骤3:使用工具Java 虚拟机的运行参数请根据实际迁移文件数量和机器的资源进行指定,否则默认配置,具体例子设置如下:java -Xms???m -Xmx ????m -XX:PermSize=????m -XX:MaxPermSize=???m -XX:MaxNewSize=???m-XX:NewRatio=??? -XX:SurvivorRatio=???-jar hive-check.jar 校验模式目前支持指定格式的校验方式有三种,通过 -m 参数指定: 校验方式命令参数(-m)校验内容 HDFS 基本信息校验hive-base基于 HDFS 文件总长度、文件空间大小以及包含的副本块数对比校验 ORC 文件中元数据文件内容信息校验hive-orc-content基于 ORC 文件结构中列块、行块、每个 ORC 文件的起始偏移量、Footer 中使用压缩方式、统计信息、Stripe 中的所有信息以及每条 Column 中的属性字段等对比校验 PARQUET 元数据文件内容信息校验hive-parquet-content基于 PARQUET 文件结构中列块行、组、页大小、每页起始偏移量、每行数据起始偏移量、表 scheme 结构定义以及文件创建使用的 API 库等详细信息进行对比 单目录校验java -jar hive-check.jar -src 源数据目录源数据文件具体路径;注:source&target 库(表)(分区)要求一致 -tgt 迁移目的数据数据库目录目的具体文件绝对路径;注:source&target 库(表)(分区)要求一致 -log 对比差异输出文件(若没有该文件会自行创建,无需手动创建,若不传默认输出当前目录difference.log) -m 校验方式(如果是自动识别,可以不传;指定校验方式的话,请参考下表格中的支持校验方式,如果不传默认元数据文件内容校验) -checkacl 对文件的权限进行检测(不传则不进行权限校验)单目录校验示例1:指定文件格式校验java -jar hive-check.jar -src hdfs:host:9000userhivewarehouseraw.db -tgt hdfs:remote-host:9000userhivewarehousetarge.db -log hive-orc-content-diff.log -m hive-orc-content -checkacl单目录校验示例2:自动识别文件格式校验java -jar hive-check.jar -checkacl -src hdfs:host:9000userhivewarehouseraw.db -tgt hdfs:remote-host:9000userhivewarehousetarge.db -log hive-orc-content-diff.log 批量校验java -jar hive-check.jar -plist:批量文件目录,具体文件内容格式请参考下述的表格,若格式不符合,将无法读取;注意:source&target 库(表)(分区)要求一致 -log:对比差异输出文件(若没有该文件会自行创建,无需手动创建,若不传默认输出 difference.log) -m:校验方式(若自动识别,可以不传;指定校验方式的话,请参考下表格中的支持校验方式;若不传默认元数据文件内容校验) -t:并发线程数(如果不指定,该参数可以不传,默认异步线程256个) -checkacl:对文件的权限进行检测(不传则不进行权限校验)批量文件中,每一行是一个校验的源和目标记录。源目录和目的目录之间支持英文符号,和;以及以一个 tab 三种方式作分割,即“t”;示例如下:hdfs:host:9000userhivewarehousesource.db0;hdfs:host:9000userhivewarehousetarget.db0hdfs:host:9000userhivewarehousesource.db1;hdfs:host:9000userhivewarehousetarget.db1hdfs:host:9000userhivewarehousesource.db2,hdfs:host:9000userhivewarehousetarget.db2批量校验示例1:指定文件格式校验ava -jar hive-check.jar -plist filePath.txt (文件格式最好是 txt 或 log,避免因为格式而出现解析出错) -log hive-orc-content-diff.log -m hive-orc-content -t 300(指定线程数300) -checkacl批量校验示例2:自动识别文件格式校验java -jar hive-check.jar -plist filePath.txt (文件格式最好是 txt 或 log,避免因为格式而出现解析出错) -log hive-orc-content-diff.log -checkacl 工具性能说明对比校验过程中需要网络请求远程文件,因此性能主要在于寄主机的带宽,而对于性能要求高的场景,需要将校验文件拆成多批,多台服务节点并行分配校验。 在带宽理想的情况下,可适当增加启动内存,保证文件读内存时,不会因 Jvm 发生 GC 而影响性能,至于回收器方式,请启动时自行选择。 文件校验中将读入内存一次性操作,不存在持久对象,则可考虑适当增加年轻代的堆大小,建议比例8:2(G1回收不适用)。 在批量情况下,该版本开放了批量目录任务调度的异步线程数,仅对于批量目录情况下,可指定异步执行各目录的线程数。由于工具在校验完成即关闭进程,并考虑到占用资源的临时性,传入的线程数就是异步线程池的核心线程数也是最大线程数。 针对单个目录下的文件异步执行的线程数目前仍是工具默认,考虑到服务的默认线程数在1500个左右以及存在混合部署的进程,因此目前处理目录下的文件对比最大备用异步线程数是300。
    来自:
  • 资源创建工具

    概述为提高在腾讯云上创建环境的效率,资源创建工具可以将 资源扫描工具 扫描到的资源信息转化为 资源编排 TIC 模板,并通过资源编排 TIC 服务进行快速高效的资源创建并进行后续的资源管理。前提条件已完成 资源扫描。操作步骤在已经完成资源扫描的任务详情页面,单击右侧的快速创建。在资源映射界面中,检查并修改友商云到腾讯云的资源规格映射,可参考 资源选型对照表。当 TIC 模版建立完成后,单击提交创建,即可将模板传入资源编排 TIC 服务进行创建。
    来自:
  • 快速入门

    通过迁移服务平台 MSP 控制台,您可以快速进行资源扫描、数据迁移等多种操作,基本操作步骤如下:步骤1:注册腾讯云账号如果已在腾讯云注册,可忽略此步骤。
    来自:
  • 产品概述

    迁移服务平台( Migration Service Platform )是腾讯云提供的迁移工具整合以及监控平台。
    来自:
  • 应用场景

    腾讯官方迁移工具腾讯官方迁移工具与迁移服务平台无缝集成,用户在任何官方迁移工具中创建的迁移任务,无需任何操作,可直接在迁移服务平台中看到迁移信息和状态。所有经过认证的合作伙伴,所提供的工具均与迁移服务平台 MSP 进行了集成,用户的任何迁移任务均可在迁移服务平台中看到迁移信息和状态。自行开发迁移工具迁移服务平台 MSP 的集成标准和 SDK,计划向用户开放,届时所有用户自行开发的迁移工具,只需遵循标准调用 SDK,即可通过迁移服务平台 MSP 进行统一的监控和管理。
    来自:
  • 简介

    欢迎使用 迁移服务平台 API 3.0 版本。全新的 API 接口文档更加规范和全面,统一的参数风格和公共错误码,统一的 SDKCLI 版本与 API 文档严格一致,给您带来简单快捷的使用体验。更多腾讯云 API 3.0 使用介绍请查看:快速入门迁移服务平台(Migration Service Platform)整合了各种迁移工具,并提供统一监控。迁移服务平台帮助用户方便快捷的将系统迁移上云,并清晰掌握迁移进度。
    来自:
  • API 概览

    通用迁移信息接口 接口名称接口功能 DeregisterMigrationTask取消注册迁移任务 DescribeMigrationTask获取指定迁移任务详情 ListMigrationProject获取迁移项目名称列表 ListMigrationTask获取迁移任务列表 ModifyMigrationTaskBelongToProject更改迁移任务所属项目 ModifyMigrationTaskStatus更新迁移任务状态 RegisterMigrationTask注册迁移任务
    来自:
  • 请求结构

    1. 服务地址API 支持就近地域接入,本产品就近地域接入域名为 msp.tencentcloudapi.com ,也支持指定地域域名访问,例如广州地域的域名为 msp.ap-guangzhou.tencentcloudapi.com 。推荐使用就近地域接入域名。根据调用接口时客户端所在位置,会自动解析到最近的某个具体地域的服务器。例如在广州发起请求,会自动解析到广州的服务器,效果和指定 msp.ap-guangzhou.tencentcloudapi.com 是一致的。注意:对时延敏感的业务,建议指定带地域的域名。注意:域名是 API 的接入点,并不代表产品或者接口实际提供服务的地域。产品支持的地域列表请在调用方式公共参数文档中查阅,接口支持的地域请在接口文档输入参数中查阅。目前支持的域名列表为: 接入地域域名 就近地域接入(推荐,只支持非金融区)msp.tencentcloudapi.com 华南地区(广州)msp.ap-guangzhou.tencentcloudapi.com 华东地区(上海)msp.ap-shanghai.tencentcloudapi.com 华北地区(北京)msp.ap-beijing.tencentcloudapi.com 西南地区(成都)msp.ap-chengdu.tencentcloudapi.com 西南地区(重庆)msp.ap-chongqing.tencentcloudapi.com 港澳台地区(中国香港)msp.ap-hongkong.tencentcloudapi.com 亚太东南(新加坡)msp.ap-singapore.tencentcloudapi.com 亚太东南(曼谷)msp.ap-bangkok.tencentcloudapi.com 亚太南部(孟买)msp.ap-mumbai.tencentcloudapi.com 亚太东北(首尔)msp.ap-seoul.tencentcloudapi.com 亚太东北(东京)msp.ap-tokyo.tencentcloudapi.com 美国东部(弗吉尼亚)msp.na-ashburn.tencentcloudapi.com 美国西部(硅谷)msp.na-siliconvalley.tencentcloudapi.com 北美地区(多伦多)msp.na-toronto.tencentcloudapi.com 欧洲地区(法兰克福)msp.eu-frankfurt.tencentcloudapi.com 欧洲地区(莫斯科)msp.eu-moscow.tencentcloudapi.com 2. 通信协议腾讯云 API 的所有接口均通过 HTTPS 进行通信,提供高安全性的通信通道。3. 请求方法支持的 HTTP 请求方法: POST(推荐)GET POST 请求支持的 Content-Type 类型: applicationjson(推荐),必须使用签名方法 v3(TC3-HMAC-SHA256)。applicationx-www-form-urlencoded,必须使用签名方法 v1(HmacSHA1 或 HmacSHA256)。multipartform-data(仅部分接口支持),必须使用签名方法 v3(TC3-HMAC-SHA256)。 GET 请求的请求包大小不得超过32KB。POST 请求使用签名方法 v1(HmacSHA1、HmacSHA256)时不得超过1MB。POST 请求使用签名方法 v3(TC3-HMAC-SHA256)时支持10MB。4. 字符编码均使用UTF-8编码。
    来自:
  • 公共参数

    公共参数是用于标识用户和接口签名的参数,如非必要,在每个接口单独的接口文档中不再对这些参数进行说明,但每次请求均需要携带这些参数,才能正常发起请求。公共参数的具体内容会因您使用的签名方法版本不同而有所差异。使用签名方法 v3 的公共参数签名方法 v3 (有时也称作 TC3-HMAC-SHA256)相比签名方法 v1 (有些文档可能会简称签名方法),更安全,支持更大的请求包,支持 POST JSON 格式,性能有一定提升,推荐使用该签名方法计算签名。完整介绍详见 文档。注意:接口文档中的示例由于目的是展示接口参数用法,简化起见,使用的是签名方法 v1 GET 请求,如果依旧想使用签名方法 v1 请参考下文章节。使用签名方法 v3 时,公共参数需要统一放到 HTTP Header 请求头部中,如下: 参数名称类型必选描述 X-TC-ActionString是操作的接口名称。取值参考接口文档中输入参数公共参数 Action 的说明。例如云服务器的查询实例列表接口,取值为 DescribeInstances。 X-TC-RegionString-地域参数,用来标识希望操作哪个地域的数据。接口接受的地域取值参考接口文档中输入参数公共参数 Region 的说明。注意:某些接口不需要传递该参数,接口文档中会对此特别说明,此时即使传递该参数也不会生效。 X-TC-TimestampInteger是当前 UNIX 时间戳,可记录发起 API 请求的时间。例如 1529223702。注意:如果与服务器时间相差超过5分钟,会引起签名过期错误。 X-TC-VersionString是操作的 API 的版本。取值参考接口文档中入参公共参数 Version 的说明。例如云服务器的版本 2017-03-12。 AuthorizationString是HTTP 标准身份认证头部字段,例如:TC3-HMAC-SHA256 Credential=AKIDEXAMPLEDateservicetc3_request, SignedHeaders=content-type;host, Signature=fe5f80f77d5fa3beca038a248ff027d0445342fe2855ddc963176630326f1024 其中,- TC3-HMAC-SHA256:签名方法,目前固定取该值;- Credential:签名凭证,AKIDEXAMPLE 是 SecretId;Date 是 UTC 标准时间的日期,取值需要和公共参数 X-TC-Timestamp 换算的 UTC 标准时间日期一致;service 为产品名,通常为域名前缀,例如域名 cvm.tencentcloudapi.com 意味着产品名是 cvm。本产品取值为 msp;- SignedHeaders:参与签名计算的头部信息,content-type 和 host 为必选头部;- Signature:签名摘要,计算过程详见 文档。 X-TC-TokenString否即 安全凭证服务 所颁发的临时安全凭证中的 Token,使用时需要将 SecretId 和 SecretKey 的值替换为临时安全凭证中的 TmpSecretId 和 TmpSecretKey。使用长期密钥时不能设置此 Token 字段。 X-TC-LanguageString否指定接口返回的语言,仅部分接口支持此参数。取值:zh-CN,en-US。zh-CN 返回中文,en-US 返回英文。 假设用户想要查询广州地域的云服务器实例列表中的前十个,接口参数设置为偏移量 Offset=0,返回数量 Limit=10,则其请求结构按照请求 URL、请求头部、请求体示例如下:HTTP GET 请求结构示例:https:cvm.tencentcloudapi.com?Limit=10&Offset=0 Authorization: TC3-HMAC-SHA256 Credential=AKID********EXAMPLE2018-10-09cvmtc3_request, SignedHeaders=content-type;host, Signature=5da7a33f6993f0614b047e5df4582db9e9bf4672ba50567dba16c6ccf174c474Content-Type: applicationx-www-form-urlencodedHost: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1539084154X-TC-Region: ap-guangzhouHTTP POST (applicationjson) 请求结构示例:https:cvm.tencentcloudapi.com Authorization: TC3-HMAC-SHA256 Credential=AKID********EXAMPLE2018-05-30cvmtc3_request, SignedHeaders=content-type;host, Signature=582c400e06b5924a6f2b5d7d672d79c15b13162d9279b0855cfba6789a8edb4cContent-Type: applicationjsonHost: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1527672334X-TC-Region: ap-guangzhou {"Offset":0,"Limit":10}HTTP POST (multipartform-data)请求结构示例(仅特定的接口支持):https:cvm.tencentcloudapi.com Authorization: TC3-HMAC-SHA256 Credential=AKID********EXAMPLE2018-05-30cvmtc3_request, SignedHeaders=content-type;host, Signature=582c400e06b5924a6f2b5d7d672d79c15b13162d9279b0855cfba6789a8edb4cContent-Type: multipartform-data; boundary=58731222010402Host: cvm.tencentcloudapi.comX-TC-Action: DescribeInstancesX-TC-Version: 2017-03-12X-TC-Timestamp: 1527672334X-TC-Region: ap-guangzhou --58731222010402Content-Disposition: form-data; name="Offset" 0--58731222010402Content-Disposition: form-data; name="Limit" 10--58731222010402--使用签名方法 v1 的公共参数使用签名方法 v1 (有时会称作 HmacSHA256 和 HmacSHA1),公共参数需要统一放到请求串中,完整介绍详见文档 参数名称类型必选描述 ActionString是操作的接口名称。取值参考接口文档中输入参数公共参数 Action 的说明。例如云服务器的查询实例列表接口,取值为 DescribeInstances。 RegionString-地域参数,用来标识希望操作哪个地域的数据。接口接受的地域取值参考接口文档中输入参数公共参数 Region 的说明。注意:某些接口不需要传递该参数,接口文档中会对此特别说明,此时即使传递该参数也不会生效。 TimestampInteger是当前 UNIX 时间戳,可记录发起 API 请求的时间。例如1529223702,如果与当前时间相差过大,会引起签名过期错误。 NonceInteger是随机正整数,与 Timestamp 联合起来,用于防止重放攻击。 SecretIdString是在 云API密钥 上申请的标识身份的 SecretId,一个 SecretId 对应唯一的 SecretKey ,而 SecretKey 会用来生成请求签名 Signature。 SignatureString是请求签名,用来验证此次请求的合法性,需要用户根据实际的输入参数计算得出。具体计算方法参见 文档。 VersionString是操作的 API 的版本。取值参考接口文档中入参公共参数 Version 的说明。例如云服务器的版本 2017-03-12。 SignatureMethodString否签名方式,目前支持 HmacSHA256 和 HmacSHA1。只有指定此参数为 HmacSHA256 时,才使用 HmacSHA256 算法验证签名,其他情况均使用 HmacSHA1 验证签名。 TokenString否即 安全凭证服务 所颁发的临时安全凭证中的 Token,使用时需要将 SecretId 和 SecretKey 的值替换为临时安全凭证中的 TmpSecretId 和 TmpSecretKey。使用长期密钥时不能设置此 Token 字段。 LanguageString否指定接口返回的语言,仅部分接口支持此参数。取值:zh-CN,en-US。zh-CN 返回中文,en-US 返回英文。 假设用户想要查询广州地域的云服务器实例列表,其请求结构按照请求 URL、请求头部、请求体示例如下:HTTP GET 请求结构示例:https:cvm.tencentcloudapi.com?Action=DescribeInstances&Version=2017-03-12&SignatureMethod=HmacSHA256&Timestamp=1527672334&Signature=37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02&Region=ap-guangzhou&Nonce=23823223&SecretId=AKID********EXAMPLE Host: cvm.tencentcloudapi.comContent-Type: applicationx-www-form-urlencodedHTTP POST 请求结构示例:https:cvm.tencentcloudapi.com Host: cvm.tencentcloudapi.comContent-Type: applicationx-www-form-urlencoded Action=DescribeInstances&Version=2017-03-12&SignatureMethod=HmacSHA256&Timestamp=1527672334&Signature=37ac2f4fde00b0ac9bd9eadeb459b1bbee224158d66e7ae5fcadb70b2d181d02&Region=ap-guangzhou&Nonce=23823223&SecretId=AKID********EXAMPLE
    来自:
  • 签名方法

    签名方法 v1 简单易用,但是功能和安全性都不如签名方法 v3,推荐使用签名方法 v3。首次接触,建议使用 API Explorer 中的“签名串生成”功能,选择签名版本为“API 3.0 签名 v1”,可以生成签名过程进行验证,并提供了部分编程语言的签名示例,也可直接生成 SDK 代码。推荐使用腾讯云 API 配套的 7 种常见的编程语言 SDK,已经封装了签名和请求过程,均已开源,支持 Python、Java、PHP、Go、NodeJS、.NET、C++。 推荐使用 API Explorer 点击调试 您可以通过 API Explorer 的【签名串生成】模块查看每个接口签名的生成过程。 腾讯云 API 会对每个访问请求进行身份验证,即每个请求都需要在公共请求参数中包含签名信息(Signature)以验证请求者身份。签名信息由安全凭证生成,安全凭证包括 SecretId 和 SecretKey;若用户还没有安全凭证,请前往 云API密钥页面 申请,否则无法调用云 API 接口。1. 申请安全凭证在第一次使用云 API 之前,请前往 云 API 密钥页面 申请安全凭证。安全凭证包括 SecretId 和 SecretKey: SecretId 用于标识 API 调用者身份SecretKey 用于加密签名字符串和服务器端验证签名字符串的密钥。用户必须严格保管安全凭证,避免泄露。 申请安全凭证的具体步骤如下: 登录 腾讯云管理中心控制台 。前往 云 API 密钥 的控制台页面在 云 API 密钥 页面,单击【新建密钥】即可以创建一对 SecretIdSecretKey。 注意:每个账号最多可以拥有两对 SecretIdSecretKey。2. 生成签名串有了安全凭证SecretId 和 SecretKey后,就可以生成签名串了。以下是使用签名方法 v1 生成签名串的详细过程:假设用户的 SecretId 和 SecretKey 分别是: SecretId: AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******SecretKey: Gu5t9xGARNpq86cd98joQYCN3******* 注意:这里只是示例,请根据用户实际申请的 SecretId 和 SecretKey 进行后续操作!以云服务器查看实例列表(DescribeInstances)请求为例,当用户调用这一接口时,其请求参数可能如下: 参数名称中文参数值 Action方法名DescribeInstances SecretId密钥 IDAKIDz8krbsJ5yKBZQpn74WFkmLPx3******* Timestamp当前时间戳1465185768 Nonce随机正整数11886 Region实例所在区域ap-guangzhou InstanceIds.0待查询的实例 IDins-09dx96dg Offset偏移量0 Limit最大允许输出20 Version接口版本号2017-03-12 2.1. 对参数排序首先对所有请求参数按参数名的字典序( ASCII 码)升序排序。注意:1)只按参数名进行排序,参数值保持对应即可,不参与比大小;2)按 ASCII 码比大小,如 InstanceIds.2 要排在 InstanceIds.12 后面,不是按字母表,也不是按数值。用户可以借助编程语言中的相关排序函数来实现这一功能,如 PHP 中的 ksort 函数。上述示例参数的排序结果如下:{ 'Action' : 'DescribeInstances', 'InstanceIds.0' : 'ins-09dx96dg', 'Limit' : 20, 'Nonce' : 11886, 'Offset' : 0, 'Region' : 'ap-guangzhou', 'SecretId' : 'AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******', 'Timestamp' : 1465185768, 'Version': '2017-03-12',}使用其它程序设计语言开发时,可对上面示例中的参数进行排序,得到的结果一致即可。2.2. 拼接请求字符串此步骤生成请求字符串。将把上一步排序好的请求参数格式化成“参数名称=参数值”的形式,如对 Action 参数,其参数名称为 "Action" ,参数值为 "DescribeInstances" ,因此格式化后就为 Action=DescribeInstances 。注意:“参数值”为原始值而非 url 编码后的值。然后将格式化后的各个参数用"&"拼接在一起,最终生成的请求字符串为:Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******&Timestamp=1465185768&Version=2017-03-122.3. 拼接签名原文字符串此步骤生成签名原文字符串。签名原文字符串由以下几个参数构成: 请求方法: 支持 POST 和 GET 方式,这里使用 GET 请求,注意方法为全大写。请求主机:查看实例列表(DescribeInstances)的请求域名为:cvm.tencentcloudapi.com。实际的请求域名根据接口所属模块的不同而不同,详见各接口说明。请求路径: 当前版本云API的请求路径固定为 。请求字符串: 即上一步生成的请求字符串。 签名原文串的拼接规则为:请求方法 + 请求主机 +请求路径 + ? + 请求字符串。示例的拼接结果为:GETcvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******&Timestamp=1465185768&Version=2017-03-122.4. 生成签名串此步骤生成签名串。首先使用 HMAC-SHA1 算法对上一步中获得的签名原文字符串进行签名,然后将生成的签名串使用 Base64 进行编码,即可获得最终的签名串。具体代码如下,以 PHP 语言为例:$secretKey = 'Gu5t9xGARNpq86cd98joQYCN3*******';$srcStr = 'GETcvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******&Timestamp=1465185768&Version=2017-03-12';$signStr = base64_encode(hash_hmac('sha1', $srcStr, $secretKey, true));echo $signStr;最终得到的签名串为:zmmjn35mikh6pM3V7sUEuX4wyYM=使用其它程序设计语言开发时,可用上面示例中的原文进行签名验证,得到的签名串与例子中的一致即可。3. 签名串编码生成的签名串并不能直接作为请求参数,需要对其进行 URL 编码。如上一步生成的签名串为 zmmjn35mikh6pM3V7sUEuX4wyYM= ,最终得到的签名串请求参数(Signature)为:zmmjn35mikh6pM3V7sUEuX4wyYM%3D,它将用于生成最终的请求 URL。注意:如果用户的请求方法是 GET,或者请求方法为 POST 同时 Content-Type 为 applicationx-www-form-urlencoded,则发送请求时所有请求参数的值均需要做 URL 编码,参数键和=符号不需要编码。非 ASCII 字符在 URL 编码前需要先以 UTF-8 进行编码。注意:有些编程语言的网络库会自动为所有参数进行 urlencode,在这种情况下,就不需要对签名串进行 URL 编码了,否则两次 URL 编码会导致签名失败。注意:其他参数值也需要进行编码,编码采用 RFC 3986。使用 %XY 对特殊字符例如汉字进行百分比编码,其中“X”和“Y”为十六进制字符(0-9 和大写字母 A-F),使用小写将引发错误。4. 签名失败根据实际情况,存在以下签名失败的错误码,请根据实际情况处理。 错误代码错误描述 AuthFailure.SignatureExpire签名过期 AuthFailure.SecretIdNotFound密钥不存在 AuthFailure.SignatureFailure签名错误 AuthFailure.TokenFailuretoken 错误 AuthFailure.InvalidSecretId密钥非法(不是云 API 密钥类型) 5. 签名演示在实际调用 API 3.0 时,推荐使用配套的腾讯云 SDK 3.0 ,SDK 封装了签名的过程,开发时只关注产品提供的具体接口即可。详细信息参见 SDK 中心。当前支持的编程语言有: PythonJavaPHPGoNodeJS.NETC++ 为了更清楚的解释签名过程,下面以实际编程语言为例,将上述的签名过程具体实现。请求的域名、调用的接口和参数的取值都以上述签名过程为准,代码只为解释签名过程,并不具备通用性,实际开发请尽量使用 SDK 。最终输出的 url 可能为:https:cvm.tencentcloudapi.com?Action=DescribeInstances&InstanceIds.0=ins-09dx96dg&Limit=20&Nonce=11886&Offset=0&Region=ap-guangzhou&SecretId=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******&Signature=zmmjn35mikh6pM3V7sUEuX4wyYM%3D&Timestamp=1465185768&Version=2017-03-12。注意:由于示例中的密钥是虚构的,时间戳也不是系统当前时间,因此如果将此 url 在浏览器中打开或者用 curl 等命令调用时会返回鉴权错误:签名过期。为了得到一个可以正常返回的 url ,需要修改示例中的 SecretId 和 SecretKey 为真实的密钥,并使用系统当前时间戳作为 Timestamp 。注意:在下面的示例中,不同编程语言,甚至同一语言每次执行得到的 url 可能都有所不同,表现为参数的顺序不同,但这并不影响正确性。只要所有参数都在,且签名计算正确即可。注意:以下代码仅适用于 API 3.0,不能直接用于其他的签名流程,即使是旧版的 API ,由于存在细节差异也会导致签名计算错误,请以对应的实际文档为准。Javaimport java.io.UnsupportedEncodingException;import java.net.URLEncoder;import java.util.Random;import java.util.TreeMap;import javax.crypto.Mac;import javax.crypto.spec.SecretKeySpec;import javax.xml.bind.DatatypeConverter; public class TencentCloudAPIDemo { private final static String CHARSET = "UTF-8"; public static String sign(String s, String key, String method) throws Exception { Mac mac = Mac.getInstance(method); SecretKeySpec secretKeySpec = new SecretKeySpec(key.getBytes(CHARSET), mac.getAlgorithm()); mac.init(secretKeySpec); byte args) throws Exception { TreeMap<String, Object> params = new TreeMap<String, Object>(); TreeMap可以自动排序 实际调用时应当使用随机数,例如:params.put("Nonce", new Random().nextInt(java.lang.Integer.MAX_VALUE)); params.put("Nonce", 11886); 公共参数 实际调用时应当使用系统当前时间,例如: params.put("Timestamp", System.currentTimeMillis() 1000); params.put("Timestamp", 1465185768); 公共参数 params.put("SecretId", "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******"); 公共参数 params.put("Action", "DescribeInstances"); 公共参数 params.put("Version", "2017-03-12"); 公共参数 params.put("Region", "ap-guangzhou"); 公共参数 params.put("Limit", 20); 业务参数 params.put("Offset", 0); 业务参数 params.put("InstanceIds.0", "ins-09dx96dg"); 业务参数 params.put("Signature", sign(getStringToSign(params), "Gu5t9xGARNpq86cd98joQYCN3*******", "HmacSHA1")); 公共参数 System.out.println(getUrl(params)); }}Python注意:如果是在 Python 2 环境中运行,需要先安装 requests 依赖包: pip install requests 。# -*- coding: utf8 -*-import base64import hashlibimport hmacimport time import requests secret_id = "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******"secret_key = "Gu5t9xGARNpq86cd98joQYCN3*******" def get_string_to_sign(method, endpoint, params): s = method + endpoint + "?" query_str = "&".join("%s=%s" % (k, params) for k in sorted(params)) return s + query_str def sign_str(key, s, method): hmac_str = hmac.new(key.encode("utf8"), s.encode("utf8"), method).digest() return base64.b64encode(hmac_str) if __name__ == '__main__': endpoint = "cvm.tencentcloudapi.com" data = { 'Action' : 'DescribeInstances', 'InstanceIds.0' : 'ins-09dx96dg', 'Limit' : 20, 'Nonce' : 11886, 'Offset' : 0, 'Region' : 'ap-guangzhou', 'SecretId' : secret_id, 'Timestamp' : 1465185768, # int(time.time()) 'Version': '2017-03-12' } s = get_string_to_sign("GET", endpoint, data) data = sign_str(secret_key, s, hashlib.sha1) print(data) # 此处会实际调用,成功后可能产生计费 # resp = requests.get("https:" + endpoint, params=data) # print(resp.url) Golangpackage main import ( "bytes" "cryptohmac" "cryptosha1" "encodingbase64" "fmt" "sort" "strconv") func main() { secretId := "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******" secretKey := "Gu5t9xGARNpq86cd98joQYCN3*******" params := mapstring{ "Nonce": "11886", "Timestamp": strconv.Itoa(1465185768), "Region": "ap-guangzhou", "SecretId": secretId, "Version": "2017-03-12", "Action": "DescribeInstances", "InstanceIds.0": "ins-09dx96dg", "Limit": strconv.Itoa(20), "Offset": strconv.Itoa(0), } var buf bytes.Buffer buf.WriteString("GET") buf.WriteString("cvm.tencentcloudapi.com") buf.WriteString("") buf.WriteString("?") sort keys by ascii asc order keys := make( buf.WriteString(k) buf.WriteString("=") buf.WriteString(params) buf.WriteString("&") } buf.Truncate(buf.Len() - 1) hashed := hmac.New(sha1.New, = 11886;rand();$param = 1465185768;time();$param = "ap-guangzhou";$param = $secretId;$param = "2017-03-12";$param = "DescribeInstances";$param = "ins-09dx96dg";$param = 20;$param = 0; ksort($param); $signStr = "GETcvm.tencentcloudapi.com?";foreach ( $param as $key => $value ) { $signStr = $signStr . $key . "=" . $value . "&";}$signStr = substr($signStr, 0, -1); $signature = base64_encode(hash_hmac("sha1", $signStr, $secretKey, true));echo $signature.PHP_EOL; need to install and enable curl extension in php.ini $param = $signature; $url = "https:cvm.tencentcloudapi.com?".http_build_query($param); echo $url.PHP_EOL; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); $output = curl_exec($ch); curl_close($ch); echo json_decode($output);Ruby# -*- coding: UTF-8 -*-# require ruby>=2.3.0require 'time'require 'openssl'require 'base64' secret_id = "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******"secret_key = "Gu5t9xGARNpq86cd98joQYCN3*******" method = 'GET'endpoint = 'cvm.tencentcloudapi.com'data = { 'Action' => 'DescribeInstances', 'InstanceIds.0' => 'ins-09dx96dg', 'Limit' => 20, 'Nonce' => 11886, 'Offset' => 0, 'Region' => 'ap-guangzhou', 'SecretId' => secret_id, 'Timestamp' => 1465185768, # Time.now.to_i 'Version' => '2017-03-12',}sign = method + endpoint + '?'params = }=#{item}"endsign += params.join('&')digest = OpenSSL::Digest.new('sha1')data = Base64.encode64(OpenSSL::HMAC.digest(digest, secret_key, sign))puts data # require 'nethttp'# uri = URI('https:' + endpoint)# uri.query = URI.encode_www_form(data)# p uri# res = Net::HTTP.get_response(uri)# puts res.bodyDotNetusing System;using System.Collections.Generic;using System.Net;using System.Security.Cryptography;using System.Text; public class Application { public static string Sign(string signKey, string secret) { string signRet = string.Empty; using (HMACSHA1 mac = new HMACSHA1(Encoding.UTF8.GetBytes(signKey))) { byte); } retStr += v.TrimEnd('&'); return retStr; } public static void Main(string = escape(params); const url_strParam = sort_params(params) return "https:" + endpoint + "?" + url_strParam.slice(1);} function formatSignString(reqMethod, endpoint, path, strParam){ let strSign = reqMethod + endpoint + path + "?" + strParam.slice(1); return strSign;}function sha1(secretKey, strsign){ let signMethodMap = {'HmacSHA1': "sha1"}; let hmac = crypto.createHmac(signMethodMap, secretKey || ""); return hmac.update(Buffer.from(strsign, 'utf8')).digest('base64')} function sort_params(params){ let strParam = ""; let keys = Object.keys(params); keys.sort(); for (let k in keys) { k = k.replace(_g, '.'); strParam += ("&" + keys + "=" + params]); } return strParam} function main(){ 密钥参数 const SECRET_ID = "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******" const SECRET_KEY = "Gu5t9xGARNpq86cd98joQYCN3*******" const endpoint = "cvm.tencentcloudapi.com" const Region = "ap-guangzhou" const Version = "2017-03-12" const Action = "DescribeInstances" const Timestamp = 1465185768 时间戳 2016-06-06 12:02:48, 此参数作为示例,以实际为准 const Timestamp = Math.round(Date.now() 1000) const Nonce = 11886 随机正整数 const nonce = Math.round(Math.random() * 65535) let params = {}; params = Action; params = 'ins-09dx96dg'; params = 20; params = 0; params = Nonce; params = Region; params = SECRET_ID; params = Timestamp; params = Version; 1. 对参数排序,并拼接请求字符串 strParam = sort_params(params) 2. 拼接签名原文字符串 const reqMethod = "GET"; const path = ""; strSign = formatSignString(reqMethod, endpoint, path, strParam) console.log(strSign) 3. 生成签名串 params = sha1(SECRET_KEY, strSign) console.log(params) 4. 进行url编码并拼接请求url const req_url = get_req_url(params, endpoint) console.log(params) console.log(req_url)}main()
    来自:
  • 返回结果

    注意:目前只要请求被服务端正常处理了,响应的 HTTP 状态码均为200。例如返回的消息体里的错误码是签名失败,但 HTTP 状态码是200,而不是401。正确返回结果以云服务器的接口查看实例状态列表 (DescribeInstancesStatus) 2017-03-12 版本为例,若调用成功,其可能的返回如下为:{ "Response": { "TotalCount": 0, "InstanceStatusSet": [], "RequestId": "b5b41468-520d-4192-b42f-595cc34b6c1c" }}Response 及其内部的 RequestId 是固定的字段,无论请求成功与否,只要 API 处理了,则必定会返回。RequestId 用于一个 API 请求的唯一标识,如果 API 出现异常,可以联系我们,并提供该 ID 来解决问题。除了固定的字段外,其余均为具体接口定义的字段,不同的接口所返回的字段参见接口文档中的定义。此例中的 TotalCount 和 InstanceStatusSet 均为 DescribeInstancesStatus 接口定义的字段,由于调用请求的用户暂时还没有云服务器实例,因此 TotalCount 在此情况下的返回值为 0, InstanceStatusSet 列表为空。 错误返回结果若调用失败,其返回值示例如下为:{ "Response": { "Error": { "Code": "AuthFailure.SignatureFailure", "Message": "The provided credentials could not be validated. Please check your signature is correct." }, "RequestId": "ed93f3cb-f35e-473f-b9f3-0d451b8b79c6" }}Error 的出现代表着该请求调用失败。Error 字段连同其内部的 Code 和 Message 字段在调用失败时是必定返回的。Code 表示具体出错的错误码,当请求出错时可以先根据该错误码在公共错误码和当前接口对应的错误码列表里面查找对应原因和解决方案。Message 显示出了这个错误发生的具体原因,随着业务发展或体验优化,此文本可能会经常保持变更或更新,用户不应依赖这个返回值。RequestId 用于一个 API 请求的唯一标识,如果 API 出现异常,可以联系我们,并提供该 ID 来解决问题。 公共错误码返回结果中如果存在 Error 字段,则表示调用 API 接口失败。 Error 中的 Code 字段表示错误码,所有业务都可能出现的错误码为公共错误码。完整的错误码列表请参考本产品“API 文档”目录下的“错误码”页面。
    来自:
  • 更新历史

    第 2 次发布发布时间:2020-05-15 08:13:29本次发布包含了以下内容:改善已有的文档。修改接口: RegisterMigrationTask 修改入参:SrcInfo, DstInfo 第 1 次发布发布时间:2018-07-26 16:34:23本次发布包含了以下内容:改善已有的文档。新增接口: DeregisterMigrationTaskDescribeMigrationTaskListMigrationProjectListMigrationTaskModifyMigrationTaskBelongToProjectModifyMigrationTaskStatusRegisterMigrationTask 新增数据结构: DstInfoProjectSrcInfoTaskTaskStatusTimeObj
    来自:

扫码关注云+社区

领取腾讯云代金券