前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【玩转腾讯云】api命令行工具的前世今生:qcloudcli、tccli

【玩转腾讯云】api命令行工具的前世今生:qcloudcli、tccli

原创
作者头像
Windows技术交流
修改2022-09-01 22:46:14
2.1K0
修改2022-09-01 22:46:14
举报
文章被收录于专栏:Windows技术交流Windows技术交流

https://cloud.tencent.com/product/cli

tccli 是"tencentcloud command line"的缩写

qcloudcli 是"qcloud command line"的缩写

腾讯云官网统一了国际化名称,用tencentcloud替代了qcloud,api的命令行工具现在是tccli

微软类似的工具Azure Cloud Shell

https://shell.azure.com/bash

不需要自己准备服务器和环境,直接执行命令即可

Qcloudcli

腾讯云 Qcloudcli 配置使用教程

https://cloud.tencent.com/developer/article/1552642

安装和使用 QcloudCli

安装 Python 和 Pip

安装命令行工具前请确保您的系统已经安装了 Python 环境和 Pip 工具。

安装Python2环境:yum install python python-pip -y

安装Python3环境:yum install python3 python3-pip -y

安装命令行工具

1) 通过 pip 安装命令行工具:

代码语言:javascript
复制
$ pip install qcloudcli

2) 检验 qcloudcli 是否安装成功:

代码语言:javascript
复制
$ qcloudcli --help

安装命令行自动补齐

1) 找到自动补全脚本 qcloud_completer 位置,运行以下命令:

代码语言:javascript
复制
$ which qcloud_completer
代码语言:javascript
复制
找到/usr/bin/qcloud_completer

2) 将 qcloud_completer 所在路径加入系统的自动补全命令,运行以下命令:

代码语言:javascript
复制
$ complete -C '/usr/bin/qcloud_completer' qcloudcli

3) 观察是否包含 qcloudcli 自动补全脚本,获得类似如下结果证明已包含了qcloudcli的自动补全脚本:

代码语言:javascript
复制
$ complete | grep qcloudcli
代码语言:javascript
复制
complete -C '/usr/bin/qcloud_completer' qcloudcli

4)使用自动补全功能

在 qcloudcli 中使用 TAB 键完成自动补全功能。如果命令唯一,则直接补全,否则展示当前所有可用命令:

代码语言:javascript
复制
$ qcloudcli c
代码语言:javascript
复制
cam     cbs     cdb     cdn     cmem    cns     configure   cvm

5)自动补全命令自动生效

为了保证每次启动自动补全命令均有效,您需要将自动补全的命令写入配置文件 ~/.bash_profile 中并执行source ~/.bash_profile

代码语言:javascript
复制
$ vim ~/.bash_profile

添加如下内容,按ESC键后输入:wq保存退出

代码语言:javascript
复制
complete -C '/usr/bin/qcloud_completer' qcloudcli

其他资料

内容分发网络 API 2017

https://cloud.tencent.com/document/api/228/1723

qcloudcli主要命令介绍

https://cloud.tencent.com/document/product/440/6186

TCCli(TencentCloudCommandLine腾讯云命令行)

tccli的安装方式参考qcloudcli的

安装Python2环境:yum install python python-pip -y

安装Python3环境:yum install python3 python3-pip -y

敲pip按两下TAB键,如果出来的命令里没有pip3,而是pip-3、pip-3.x、pip3.x,那就用alias pip3=pip3.x

例如alias pip3=pip3.6

或者绝一点,alias pip3='/usr/bin/python3 -m pip'

代码语言:javascript
复制
$ pip3 install tccli
代码语言:javascript
复制
$ which tccli_completer
代码语言:javascript
复制
找到/usr/local/bin/tccli_completer

为了保证每次启动自动补全命令均有效,需要将自动补全的命令写入配置文件 ~/.bash_profile 中并执行source ~/.bash_profile

代码语言:javascript
复制
$ vim ~/.bash_profile

添加如下内容,按ESC键后输入:wq保存退出

代码语言:javascript
复制
complete -C '/usr/local/bin/tccli_completer' tccli

配置方式①:

执行tccli configure --profile test1回车手动配

配置方式②:命令行一次性配好

tccli configure set secretId $secretId secretKey $secretKey region $region output $output --profile test2

secretId secretKey在这里查看https://console.cloud.tencent.com/cam/capi

region的格式是ap-guangzhou /ap-shanghai/ap-chongqing/ap-chengdu/……

output有3种可选:table text json

不指定--profile name的话就是默认的配置,我喜欢默认配置

tccli configure set secretId $secretId secretKey $secretKey region $region output $output

实际执行中,很多接口是区分region的,所以,我们配置tccli时,建议不要配region,最后执行tccli接口命令时加上region参数即可

例如https://cloud.tencent.com/document/product/440/34013#--cli-unfold-argument-.E5.8F.82.E6.95.B0

--cli-unfold-argument参数不要乱加

以CreateRole接口为例,我看了下--PolicyDocument 只是string型,算是比较简单的参数,string型参数用单引号引起来就行,里面的双引号也无需转义,示例如下:

tccli configure set secretId "xxxxxxxx" secretKey "yyyyyyyy" output "json" --profile test

tccli cam CreateRole --RoleName louisfeng --PolicyDocument '{"version":"2.0","statement":[{"action":"name/sts:AssumeRole","effect":"allow","principal":{"service":["cloudaudit.cloud.tencent.com","cls.cloud.tencent.com"]}}]}' --region ap-guangzhou --profile test

腾讯云大学6分26秒学习视频

https://cloud.tencent.com/edu/learning/learn-1122-2421

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 微软类似的工具Azure Cloud Shell
  • Qcloudcli
  • 安装和使用 QcloudCli
    • 安装 Python 和 Pip
      • 安装命令行自动补齐
      • 其他资料
        • TCCli(TencentCloudCommandLine腾讯云命令行)
        相关产品与服务
        云 API
        云 API 是腾讯云开放生态的基石。通过云 API,只需少量的代码即可快速操作云产品;在熟练的情况下,使用云 API 完成一些频繁调用的功能可以极大提高效率;除此之外,通过 API 可以组合功能,实现更高级的功能,易于自动化, 易于远程调用, 兼容性强,对系统要求低。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档