云 API 命令行工具

最近更新时间:2025-08-27 17:42:12

我的收藏

简介

腾讯云命令行工具(TCCLI)是管理腾讯云资源的统一工具。通过 TCCLI,您可以快速轻松的调用腾讯云 API 来管理您的腾讯云资源。本文档指导您安装、配置 TCCLI,并通过 TCCLI 调用 TBaaS 对外提供的云 API 接口管理您的资源。
注意:
TCCLI 基于 Python 对云 API 的调用进行了封装,所以此方式同云 API 一样,可以对长安链·ChainMaker、Fabric 进行操作,一般用于单次调用,不适用于集成到业务应用系统中。

安装 TCCLI

1. 安装 Python 环境和 Pip 工具。
注意:
Python 版本必须为 2.7 及以上版本,更多内容请参考 Python 主页 和 Pip 主页
2. 执行以下命令,安装 TCCLI。
说明:
TCCLI 依赖于 TencentCloudApi Python SDK。如果 TencentCloudApi Python SDK 的版本号小于安装 TCCLI 版本,安装 TCCLI 时,将自动升级 TencentCloudApi Python SDK。
pip install tccli
3. 完成 TCCLI 安装后,执行以下命令,检测是否安装成功。
tccli --version
返回信息类似如下所示,则表示安装成功。

返回信息


4. (可选)如果您使用的是 Linux 操作系统,执行以下命令,自动补全功能。
complete -C 'tccli_completer' tccli
说明:
Windows 操作系统暂不支持此操作。

配置 TCCLI

使用腾讯云命令行工具,需进行以下初始化配置,使其完成使用 云 API 的必要前提条件。请根据实际需求,选择配置模式进行配置:
交互模式
命令行模式
执行 tccli configure 命令,进入交互模式快速配置。
$ tccli configure
TencentCloud API secretId [*afcQ]:************************************************************
TencentCloud API secretKey [*ArFd]:OxXj7khcV******SSYNABcdCc1LiArFd
region: ap-guangzhou
output[json]:
secretId:云 API 密钥 SecretId。
secretIKey:云 API 密钥 SecretKey。
region:云产品地域,请切换至对应产品页面获取可用的 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 secretKey
secretKey = OxXj7khcV******SSYNABcdCc1LiArFd
# list 子命令打印所有配置信息。
tccli configure list
credential:
secretId = ************************************************************
secretKey = OxXj7khcV******SSYNABcdCc1LiArFd
configure:
region = ap-guangzhou
output = json
更多信息请执行 tccli configure [list get set] help 查看。
TCCLI 还支持多账户,方便您同时使用多种配置。以账户名 test 为例:
通过交互模式,指定账户名 test。
$ tccli configure --profile test
TencentCloud API secretId [*BCDP]:************************************************************
TencentCloud API secretKey [*ArFd]:OxXj7khcV******SSYNABcdCc1LiArFd
region: ap-guangzhou
output[json]:
通过命令行模式,指定账户名 test。
# 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
在调用接口时指定账户(以 cvm DescribeZones 接口为例)。
tccli cvm DescribeZones --profile test

使用 TCCLI

通过 tccli tbaas Invoke 命令,新增交易(支持同步模式和异步模式)。
通过 tccli tbaas Query 命令,查询交易。
通过 tccli tbaas GetInvokeTx 命令,查询 Invoke 异步调用结果。

示例

准备工作

通过 TBaaS 控制台创建并初始化合约。
说明:
以转账交易合约为例,初始 a、b 两个账号值为100。

新增交易(同步模式)

请求:
tccli tbaas Invoke --Module 'transaction' --Operation 'invoke' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'invoke' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["b", "a", "10"]'
返回:
{
"Events": "AliceOrgpeer1.aliceorg.ndemo:VALID",
"RequestId": "f305f44d-0697-48e2-b85d-e416c4******",
"Txid": "a73158cc7b628fbcefc329d3fd5de9db9dfaa312528ed09cf4ab121ff6******"
}
参数说明:
操作
参数
说明
请求
Module
模块名,固定字段:transaction
Operation
操作名,固定字段:invoke
ClusterId
区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName
业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName
业务所属通道名称,可在通道详情或列表中获取
FuncName
该笔交易需要调用的智能合约中的函数名称
Peers
对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称及其所属组织名称
Args
被调用的函数参数列表,示例中'["b", "a", "10"]'为b向a转账10
返回
Events
事件处理结果
RequestId
请求 ID
Txid
交易 ID

新增交易(异步模式)

请求:
tccli tbaas Invoke --Module 'transaction' --Operation 'invoke' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'invoke' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["b", "a", "10"]' --AsyncFlag 1
返回:
{
"Events": "",
"RequestId": "be95c1e4-ffb9-49e4-a1bb-60770c******",
"Txid": "1c80cea264a447c9d4d0ba50adbe6e0ff1ac1db313f8d6c83370e410db******"
}
参数说明:
操作
参数
说明
请求
Module
模块名,固定字段:transaction
Operation
操作名,固定字段:invoke
ClusterId
区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName
业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName
业务所属通道名称,可在通道详情或列表中获取
FuncName
该笔交易需要调用的智能合约中的函数名称
Peers
对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称及其所属组织名称
Args
被调用的函数参数列表,示例中'["b", "a", "10"]'为b向a转账10
AsyncFlag
同步调用标识,可选参数,值为0或者不传表示使用同步方法调用,调用后会等待交易执行后再返回执行结果;值为1时表示使用异步方式调用,执行后会立即返回交易对应的Txid,后续需要通过GetInvokeTx查询该交易的执行结果。(对于逻辑较为简单的交易,可以使用同步模式;对于逻辑较为复杂的交易,建议使用异步模式,否则容易导致API因等待时间过长,返回等待超时)
返回
Events
事件处理结果,异步调用返回空字符串
RequestId
请求 ID
Txid
交易 ID

查询交易

请求:
tccli tbaas Query --Module 'transaction' --Operation 'query' --ClusterId '1251568418ndemo' --ChaincodeName 'tylercc' --ChannelName 'cfirst' --FuncName 'query' --Peers '[{"PeerName":"peer1.aliceorg.ndemo","OrgName":"AliceOrg"}]' --Args '["a"]'
返回:
{
"Data": [
"110"
],
"RequestId": "237b61b6-c75f-4927-9729-1e117a******"
}
参数说明:
操作
参数
说明
请求
Module
模块名,固定字段:transaction
Operation
操作名,固定字段:query
ClusterId
区块链网络 ID,可在区块链网络详情或列表中获取
ChaincodeName
业务所属智能合约名称,可在智能合约详情或列表中获取
ChannelName
业务所属通道名称,可在通道详情或列表中获取
FuncName
该笔交易需要调用的智能合约中的函数名称
Peers
对该笔交易进行背书的节点列表(包括节点名称和节点所属组织名称,详见数据结构一节),可以在通道详情中获取该通道上的节点名称及其所属组织名称
Args
被调用的函数参数列表,示例中'["a"]'为查询a账号的值
返回
Data
查询结果
RequestId
请求 ID

查询 Invoke 异步调用结果

请求:
tccli tbaas GetInvokeTx --Module 'transaction' --Operation 'query_txid' --ClusterId '1251568418ndemo' --ChannelName 'cfirst' --PeerName 'peer1.aliceorg.ndemo' --PeerGroup 'AliceOrg' --TxId '1c80cea264a447c9d4d0ba50adbe6e0ff1ac1db313f8d6c83370e410db******'
返回:
{
"TxValidationCode": 0,
"RequestId": "6a1d26ba-b322-4aea-8db7-effc82******",
"TxValidationMsg": "VALID"
}
参数说明:
操作
参数
说明
请求
Module
模块名,固定字段:transaction
Operation
操作名,固定字段:query_txid
ClusterId
区块链网络 ID,可在区块链网络详情或列表中获取
ChannelName
业务所属通道名称,可在通道详情或列表中获取
PeerName
执行该查询交易的节点名称,可以在通道详情中获取该通道上的节点名称及其所属组织名称
PeerGroup
执行该查询交易的节点所属组织名称,可以在通道详情中获取该通道上的节点名称及其所属组织名称
TxId
事务 ID
返回
TxValidationCode
交易状态码
RequestId
请求 ID
TxValidationMsg
交易状态信息