本文指导您如何配置初始化 TCCLI,包括如何使用交互模式、命令行模式进行初始化,以及如何进行账户切换。
前提条件
操作步骤
使用 TCCLI 前您需要进行一些初始化配置,使其完成使用云 API 的必要前提条件。
说明:
下文中 secretId、secretKey、地域等信息仅作为示例,请以实际情况为准。
交互模式
您可以通过执行 tccli configure
命令进入交互模式快速配置。
$ tccli configure
TencentCloud API secretId [*afcQ]:AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
TencentCloud API secretKey [*ArFd]:Gu5t9xGARNpq86cd98joQYCN3*******
region: ap-guangzhou
output[json]:
secretId:云 API 密钥 SecretId,前往 API 密钥管理 获取。 secretKey:云 API 密钥 SecretKey,前往 API 密钥管理 获取。 region:云产品地域,请前往对应云产品的 API 文档 获取可用的 region。例如云服务器的 地域列表。 output:可选参数,请求回包输出格式,支持 [json table text] 三种格式,默认为 json。
更多信息请执行 tccli configure help
查看。
命令行模式
通过命令行模式您可以在自动化脚本中配置您的信息。
$ tccli configure set secretId AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
$ tccli configure set region ap-guangzhou output json
$ tccli configure get secretKey
secretKey = Gu5t9xGARNpq86cd98joQYCN3*******
$ tccli configure list
credential:
secretId = AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
secretKey = Gu5t9xGARNpq86cd98joQYCN3*******
configure:
region = ap-guangzhou
output = json
$ tccli cvm DescribeInstances --secretId AKIDz8krbsJ5yKBZQpn74WFkmLPx3****** --secretKey Gu5t9xGARNpq86cd98joQYCN3*******
多账户支持
TCCLI 支持多账户,方便您多种配置同时使用。
$ tccli configure --profile test
TencentCloud API secretId [*BCDP]:AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
TencentCloud API secretKey [*ArFd]:Gu5t9xGARNpq86cd98joQYCN3*******
region: ap-guangzhou
output[json]:
$ tccli configure set region ap-guangzhou output json --profile test
$ tccli configure get secretKey --profile test
$ tccli configure list --profile test
$ tccli configure remove -profile test
$ tccli cvm DescribeZones --profile test
TCCLI 配置文件
使用 tccli configure
命令后,TCCLI 会在 ~/.tccli
目录下生成对应的 default.configure
和 default.credential
文件,这两个文件记录均为 JSON 格式的内容。
default.configure
记录对应产品调用的版本(默认最新版)和 endpoint(默认为最近接入点),以及默认的输出格式和指定的地域。 default.credential
则记录的是用户的密钥信息。 示例如下:
{
...
"cvm": {
"endpoint": "cvm.tencentcloudapi.com",
"version": "2017-03-12"
},
...
"output": "json",
"region": "ap-guanzhou",
...
}
{
"secretId": "AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******",
"secretKey": "Gu5t9xGARNpq86cd98joQYCN3*******"
}
若用户在使用配置命令时指定了账户名,则会生成账户名对应的配置文件。例如,用户使用了 tccli configure --profile test
命令,则会生成 test.configure
和 test.credential
文件。
若需修改配置文件内容,您可以直接编辑文件或者使用 set
子命令修改。例如 tccli configure set cvm.version 2017-03-12
,将调用的 cvm 的版本指定为默认 2017-03-12 版本。
配置环境变量
TCCLI 支持配置云 API 密钥对到环境变量,让您的信息更安全。下文以 Linux 系统配置为例,您可以通过如下两种方式进行配置:
$ export TENCENTCLOUD_SECRET_ID=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
$ export TENCENTCLOUD_SECRET_KEY=Gu5t9xGARNpq86cd98joQYCN3*******
$ export TENCENTCLOUD_REGION=ap-guangzhou
export TENCENTCLOUD_SECRET_ID=AKIDz8krbsJ5yKBZQpn74WFkmLPx3*******
export TENCENTCLOUD_SECRET_KEY=Gu5t9xGARNpq86cd98joQYCN3*******
export TENCENTCLOUD_REGION=ap-guangzhou
$ source /etc/profile
说明:
如果您在命令、配置文件和环境变量都指定了相同的内容,TCCLI 执行的优先级为:命令 > 配置文件 > 环境变量。
其他配置
TCCLI 支持通过 CAM 角色的方式进行认证,您可以参考 角色概述 查看相关信息。
$ tccli configure set role-arn qcs::cam::uin/***********/**** role-session-name ****
role-arn
和 role-session-name
字段支持 configure 的 get 和 list 操作,可以写入配置文件、直接在命令行指定,操作方式与 secretId
和 secretKey
的配置类似。如下所示:
$ tccli configure get role-arn
role-arn = qcs::cam::uin/***********/****
$ tccli configure list
credential:
role-arn = qcs::cam::uin/***********/****
role-session-name = ****
$ export TENCENTCLOUD_ROLE_ARN=qcs::cam::uin/***********/****
$ export TENCENTCLOUD_ROLE_SESSION_NAME=****
$ tccli cvm DescribeZones --role-arn qcs::cam::uin/***********/**** --role-session-name ****
如果您的实例绑定了角色,您可以直接通过实例角色的方式进行认证,无需 secretId 和 secretKey 等信息。您可以使用 --use-cvm-role
来使用实例角色的方式调用。
$ tccli cvm DescribeZones --use-cvm-role
注意:
该方式仅支持在已绑定角色的实例上使用,具体方式请参见 管理实例角色。
本页内容是否解决了您的问题?