腾讯云命令行工具 TCCLI 配置方法

这篇指导你如何配置初始化 TCCLI,包括如何使用交互模式、命令行模式进行初始化,以及如何进行账户切换。

相关产品
腾讯云命令行工具 产品页,含版本规格、价格与购买入口。

一、前提条件

已安装 TCCLI,详情请参见 安装 TCCLI。

二、操作步骤

使用 TCCLI 前你需要进行一些初始化配置,使其完成使用云 API 的必要前提条件。

注意:说明:

注意:下文中 secretId、secretKey、地域等信息仅作为示例,请以实际情况为准。

三、交互模式

你可以通过执行 tccli configure 命令进入交互模式快速配置。

$ tccli configureTencentCloud API secretId [*afcQ]:**************TencentCloud API secretKey [*ArFd]:**************region: ap-guangzhououtput[json]:

说明:

·secretId:云 API 密钥 SecretId,前往 API 密钥管理 获取。

·secretKey:云 API 密钥 SecretKey,前往 API 密钥管理 获取。

·region:云产品地域,请前往对应云产品的 API 文档 获取可用的 region。例如云服务器的 地域列表。

·output:可选参数,请求返回包输出格式,支持 [json table text] 三种格式,默认为 json。更多信息请执行 tccli configure help 查看。

四、命令行模式

通过命令行模式你可以在自动化脚本中配置你的信息。

# set 子命令可以设置某一配置,也可同时配置多个$ tccli configure set secretId **************$ tccli configure set region ap-guangzhou output json# get 子命令用于获取配置信息$ tccli configure get secretKeysecretKey = **************# list 子命令打印所有配置信息$ tccli configure listcredential:secretId = **************secretKey = **************configure:region = ap-guangzhououtput = json# 在命令行中直接指定secretId和secretKey的值,如查询cvm实例信息:$ tccli cvm DescribeInstances –secretId ************** –secretKey **************

五、多账户支持

TCCLI 支持多账户,方便你多种配置同时使用。

# 在交互模式中指定账户名 test$ tccli configure –profile testTencentCloud API secretId [*BCDP]:**************TencentCloud API secretKey [*ArFd]:**************region: ap-guangzhououtput[json]:# set/get/list 子命令指定账户名 test$ tccli configure set region ap-guangzhou output json –profile test$ tccli configure get secretKey –profile test$ tccli configure list –profile test# remove 子命令删除指定账户的配置文件。当 remove 子命令不指定账户名时,会删除 default 配置文件。$ tccli configure remove –profile test# 在调用接口时指定账户(以 cvm DescribeZones 接口为例)$ tccli cvm DescribeZones –profile test

如果不希望输入命令时手动指定账户名,还可以设置环境变量,TCCLI 能从环境变量中读取指定的 profile。

export TCCLI_PROFILE=test

六、TCCLI 配置文件

·使用 tccli configure 命令后,TCCLI 会在 ~/.tccli 目录下生成对应的 default.configure 和 default.credential 文件,这两个文件记录均为 JSON 格式的内容。
default.configure 记录对应产品调用的版本(默认为产品的推荐版本)和 endpoint(默认为最近接入点),以及默认的输出格式和指定的地域。 default.credential 则记录的是用户的密钥信息。 示例如下:

# default.configure文件格式,cvm产品默认调用版本 2017-03-12 的接口,默认的请求域名为 cvm.tencentcloudapi.com{ … "cvm": { "endpoint": "cvm.tencentcloudapi.com", "version": "2017-03-12" }, … "output": "json", "region": "ap-guanzhou", …}# default.credential的文件格式{ "secretId": "**************", "secretKey": "**************"}

·若用户在使用配置命令时指定了账户名,则会生成账户名对应的配置文件。例如,用户使用了 tccli configure –profile test 命令,则会生成 test.configure 和 test.credential 文件。

·若需修改配置文件内容,你可以直接编辑文件或者使用 set 子命令修改。例如 tccli configure set cvm.version 2017-03-12,将调用的 cvm 的版本指定为默认 2017-03-12 版本。

七、配置环境变量

环境变量配置可参考以下方式:

·临时配置(当前终端会话中生效,关闭终端后失效)

Linux/macOS 系统Windows 系统# 设置云 API 密钥 SecretIdexport TENCENTCLOUD_SECRET_ID=你的SecretId# 设置云 API 密钥 SecretKeyexport TENCENTCLOUD_SECRET_KEY=你的SecretKey# 设置云产品地域export TENCENTCLOUD_REGION=ap-guangzhouset TENCENTCLOUD_SECRET_ID=你的SecretIdset TENCENTCLOUD_SECRET_KEY=你的SecretKeyset TENCENTCLOUD_REGION=ap-guangzhou

·永久配置(所有终端生效,重启终端或系统后仍有效)

Linux/macOS 系统Windows 系统

# 编辑环境变量文件echo 'export TENCENTCLOUD_SECRET_ID=你的SecretId' >> ~/.bashrcecho 'export TENCENTCLOUD_SECRET_KEY=你的SecretKey' >> ~/.bashrcecho 'export TENCENTCLOUD_REGION=ap-guangzhou' >> ~/.bashrc# 使配置立即生效source ~/.bashrc

1. 右键点击此电脑,选择属性。

2. 单击高级系统设置,选择环境变量。

3. 在系统变量区域中,单击 新建,依次添加以下两个变量:

·变量名:TENCENTCLOUD_SECRET_ID

变量值:你的 SecretId。

·变量名:TENCENTCLOUD_SECRET_KEY

变量值:你的 SecretKey。

·变量名:TENCENTCLOUD_REGION

变量值:你的请求地域。

4. 添加完成后,单击确定保存配置。

·验证配置是否成功

Linux/macOS 系统Windows 系统echo $TENCENTCLOUD_SECRET_ID echo $TENCENTCLOUD_SECRET_KEYecho $TENCENTCLOUD_REGIONecho %TENCENTCLOUD_SECRET_ID%echo %TENCENTCLOUD_SECRET_KEY%echo %TENCENTCLOUD_REGION%

注意:说明:

注意:如果你在命令、配置文件和环境变量都指定了相同的内容,TCCLI 执行的优先级为:命令 > 配置文件 > 环境变量。

八、其他配置

·TCCLI 支持通过 CAM 角色的方式进行认证,你可以参考 角色概述 查看相关信息。

# cam 角色的配置不支持交互模式,你可以使用非交互模式的方式进行配置:$ tccli configure set role-arn qcs::cam::uin/***********/**** role-session-name ****

role-arn 和 role-session-name 字段支持 configure 的 get 和 list 操作,可以写入配置文件、直接在命令行指定,操作方式与 secretId 和 secretKey 的配置类似。如下所示:

# get 子命令获取配置信息$ tccli configure get role-arnrole-arn = qcs::cam::uin/***********/****# list 子命令打印所有配置信息$ tccli configure listcredential:role-arn = qcs::cam::uin/***********/****role-session-name = ****# 将配置信息写入环境变量$ export TENCENTCLOUD_ROLE_ARN=qcs::cam::uin/***********/****$ export TENCENTCLOUD_ROLE_SESSION_NAME=****# 直接在命令行中指定 role-arn 和 role-session-name 信息,如调用 DescriZones 接口$ tccli cvm DescribeZones –role-arn qcs::cam::uin/***********/**** –role-session-name ****

如果你的实例绑定了角色,你可以直接通过实例角色的方式进行认证,无需 secretId 和 secretKey 等信息。你可以使用 –use-cvm-role 来使用实例角色的方式调用。

# 使用实例角色的方式调用 DescribeZones 的接口$ tccli cvm DescribeZones –use-cvm-role

注意:该方式仅支持在已绑定角色的实例上使用,具体方式请参见 管理实例角色。

赞 (0)
上一篇 4天前
下一篇 4天前