命令行工具简介

最近更新时间:2018-04-27 15:03:46

查看pdf

命令行工具简介

欢迎使用腾讯云命令行工具(TCCLI),TCCLI 是管理腾讯云资源的统一工具。通过腾讯云命令行工具,您可以快速轻松的调用腾讯云 API 来管理您的腾讯云资源。您还可以基于腾讯云的命令行工具来做自动化和脚本处理,能够以更多样的方式进行组合和重用。

安装 TCCLI

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

    注意 python 版本必须为 2.7 及以上版本,更多内容请参考 python 主页pip 主页

  2. TCCLI 依赖于 TencentCloudApi Python SDK,如果 TencentCloudApi Python SDK 的版本号小于要安装TCCLI 版本号,在安装 TCCLI 时会自动升级 TencentCloudApi Python SDK

  3. 安装 TCCLI,执行以下命令:
    pip install tccli
    
  4. 安装完成之后执行 tccli version 检测是否安装成功。
  5. 如果您的环境是 linux 环境,您可以通过以下命令启动自动补全功能:
    complete -C 'tccli_completer' tccli
    

配置 TCCLI

要使用腾讯云命令行工具,您还需要进行一些初始化配置,使其完成使用 云 API 的必要前提条件。

  1. 交互模式,您可以通过 tccli configure 命令进入交互模式快速配置。
    $  tccli configure
    TencentCloud API secretId [*afcQ]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
    region: ap-guangzhou
    output[json]:
    
    secretId:云 API 密钥SecretId。
    secretIKey:云 API 密钥SecretKey。
    region: 云产品地域,请移驾对应产品页面获取可用的 region。
    output: 可选参数,请求回包输出格式,支持 [json table text] 三种格式,默认为 json。
    更多信息请执行 tccli configure help 查看。
  2. 命令行模式,通过命令行模式您可以在自动化脚本中配置您的信息。
    # set子命令可以设置某一配置,也可同时配置多个。
    tccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    tccli configure set region ap-guangzhou  output json
    # get子命令用于获取配置信息。
    tccli configure get secretKey
    secretKey = OxXj7khcV1234dQSSYNABcdCc1LiArFd
    # list子命令打印所有配置信息。
    tccli configure list
    credential:
    secretId =  AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    secretKey =  OxXj7khcV1234dQSSYNABcdCc1LiArFd
    configure:
    region =  ap-guangzhou
    output =  json
    
    更多信息请执行 tccli configure [list get set] help 查看。
  3. 多账户支持,TCCLI 支持多账户,方便您多种配置同时使用。
    在交互模式中指定账户名test。
    $  tccli configure --profile test
    TencentCloud API secretId [*BCDP]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
    region: ap-guangzhou
    output[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
    在调用接口时指定账户(以cvm DescribeZones接口为例)。
    tccli cvm DescribeZones --profile test
    

使用 TCCLI

命令行工具集成了腾讯云所有支持云 API 的产品,可以在命令行下完成对腾讯云产品的配置和管理。包括使用 TCCLI 创建云服务器,操作云服务器,通过 TCCLI 创建 CBS 盘、查看 CBS 盘使用情况,通过 TCCLI 创建 VPC 网络、往 VPC 网络中添加资源等,所有在控制台页面能完成的操作,均能再命令行工具上执行命令实现。

  • 通过 tccli cvm DescribeInstances 命令查看当前账号有哪些云服务器。
  • 通过 tccli cbs DescribeDisks 命令查看有 CBS 盘列表。

以创建一台 cvm 为例(请注意demo中非简单类型的参数必须为标准json格式):

tccli cvm RunInstances --InstanceChargeType POSTPAID_BY_HOUR --InstanceChargePrepaid '{"Period":1,"RenewFlag":"DISABLE_NOTIFY_AND_MANUAL_RENEW"}'
 --Placement '{"Zone":"ap-guangzhou-2"}' --InstanceType S1.SMALL1 --ImageId img-8toqc6s3 --SystemDisk '{"DiskType":"CLOUD_BASIC", "DiskSize":50}'
--InternetAccessible '{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":10,"PublicIpAssigned":true}' --InstanceCount 1
--InstanceName TCCLI-TEST --LoginSettings '{"Password":"isd@cloud"}' --SecurityGroupIds '["sg-0rszg2vb"]' --HostName TCCLI-HOST-NAME1

更多功能,您可以通过 tccli help 查看支持的产品,通过 tccli cvm help(以 cvm 举例)查看产品支持的接口。通过tccli cbs DescribeDisks help(以 cbs 产品的 DescribeDisks 接口为例) 查看接口支持的参数。

高级功能

多版本接口访问

某些产品可能存在多个版本的接口,TCCLI 默认访问最新版本的接口。如果您想访问特定旧版本的接口,可以通过以下方式实现(以 cvm 举例)。

# 设置cvm产品默认使用版本:2017-03-12。
tccli configure set cvm.version 2017-03-12

# 在实时使用时指定版本号。
tccli cvm help --version 2017-03-12
tccli cvm DescribeZones help --version 2017-03-12
tccli cvm DescribeZones --version 2017-03-12

指定最近的接入点(Endpoint)

TCCLI 默认会请求就近的接口点访问服务,你也可以针对某一产品指定自己的 Endpoint(以 cvm 为例)。

# 设置cvm产品默认endpointtccli configure set cvm.endpoint cvm.ap-guangzhou.tencentcloudapi.com

# 调用时实时指定。
tccli cvm DescribeZones --endpoint cvm.ap-guangzhou.tencentcloudapi.com

返回结果过滤

  1. 不加任何过滤时的输出(以 cvm DescribeZones 接口的返回为例)。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones
    {
    "TotalCount": 4,
    "ZoneSet": [
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100001",
            "Zone": "ap-guangzhou-1",
            "ZoneName": "广州一区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100002",
            "Zone": "ap-guangzhou-2",
            "ZoneName": "广州二区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100003",
            "Zone": "ap-guangzhou-3",
            "ZoneName": "广州三区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100004",
            "Zone": "ap-guangzhou-4",
            "ZoneName": "广州四区"
        }
    ],
    "RequestId": "4fd313a6-155f-4c7a-bf86-898c02fcae02"
    }
    
  2. 只看某个字段。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter TotalCount
    4
    
  3. 指定某个数组类型对象的第N个子对象的信息。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[0]
    {
    "ZoneState": "AVAILABLE",
    "ZoneId": "100001",
    "Zone": "ap-guangzhou-1",
    "ZoneName": "广州一区"
    }
    
  4. 指定数组类型对象下所有某个名称的子对象的某个字段。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[*].ZoneName
    [
    "广州一区",
    "广州二区",
    "广州三区",
    "广州四区"
    ]
    
  5. 过滤数组里的子对象,同时还以新的名称展示。
    注意:这里需要将说明过滤行为的内容用单引号包裹起来。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter 'ZoneSet[*].{name:ZoneName, id:ZoneId}'
    [
    {
        "name": "广州一区",
        "id": "100001"
    },
    {
        "name": "广州二区",
        "id": "100002"
    },
    {
        "name": "广州三区",
        "id": "100003"
    },
    {
        "name": "广州四区",
        "id": "100004"
    }
    ]
    

命令行工具简介

最近更新时间:2018-04-27 15:03:46

查看pdf

命令行工具简介

欢迎使用腾讯云命令行工具(TCCLI),TCCLI 是管理腾讯云资源的统一工具。通过腾讯云命令行工具,您可以快速轻松的调用腾讯云 API 来管理您的腾讯云资源。您还可以基于腾讯云的命令行工具来做自动化和脚本处理,能够以更多样的方式进行组合和重用。

安装 TCCLI

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

    注意 python 版本必须为 2.7 及以上版本,更多内容请参考 python 主页pip 主页

  2. TCCLI 依赖于 TencentCloudApi Python SDK,如果 TencentCloudApi Python SDK 的版本号小于要安装TCCLI 版本号,在安装 TCCLI 时会自动升级 TencentCloudApi Python SDK

  3. 安装 TCCLI,执行以下命令:
    pip install tccli
    
  4. 安装完成之后执行 tccli version 检测是否安装成功。
  5. 如果您的环境是 linux 环境,您可以通过以下命令启动自动补全功能:
    complete -C 'tccli_completer' tccli
    

配置 TCCLI

要使用腾讯云命令行工具,您还需要进行一些初始化配置,使其完成使用 云 API 的必要前提条件。

  1. 交互模式,您可以通过 tccli configure 命令进入交互模式快速配置。
    $  tccli configure
    TencentCloud API secretId [*afcQ]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
    region: ap-guangzhou
    output[json]:
    
    secretId:云 API 密钥SecretId。
    secretIKey:云 API 密钥SecretKey。
    region: 云产品地域,请移驾对应产品页面获取可用的 region。
    output: 可选参数,请求回包输出格式,支持 [json table text] 三种格式,默认为 json。
    更多信息请执行 tccli configure help 查看。
  2. 命令行模式,通过命令行模式您可以在自动化脚本中配置您的信息。
    # set子命令可以设置某一配置,也可同时配置多个。
    tccli configure set secretId AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    tccli configure set region ap-guangzhou  output json
    # get子命令用于获取配置信息。
    tccli configure get secretKey
    secretKey = OxXj7khcV1234dQSSYNABcdCc1LiArFd
    # list子命令打印所有配置信息。
    tccli configure list
    credential:
    secretId =  AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    secretKey =  OxXj7khcV1234dQSSYNABcdCc1LiArFd
    configure:
    region =  ap-guangzhou
    output =  json
    
    更多信息请执行 tccli configure [list get set] help 查看。
  3. 多账户支持,TCCLI 支持多账户,方便您多种配置同时使用。
    在交互模式中指定账户名test。
    $  tccli configure --profile test
    TencentCloud API secretId [*BCDP]:AKIDwLw1234MMfPRle2g9nR2OTI787aBCDP
    TencentCloud API secretKey [*ArFd]:OxXj7khcV1234dQSSYNABcdCc1LiArFd
    region: ap-guangzhou
    output[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
    在调用接口时指定账户(以cvm DescribeZones接口为例)。
    tccli cvm DescribeZones --profile test
    

使用 TCCLI

命令行工具集成了腾讯云所有支持云 API 的产品,可以在命令行下完成对腾讯云产品的配置和管理。包括使用 TCCLI 创建云服务器,操作云服务器,通过 TCCLI 创建 CBS 盘、查看 CBS 盘使用情况,通过 TCCLI 创建 VPC 网络、往 VPC 网络中添加资源等,所有在控制台页面能完成的操作,均能再命令行工具上执行命令实现。

  • 通过 tccli cvm DescribeInstances 命令查看当前账号有哪些云服务器。
  • 通过 tccli cbs DescribeDisks 命令查看有 CBS 盘列表。

以创建一台 cvm 为例(请注意demo中非简单类型的参数必须为标准json格式):

tccli cvm RunInstances --InstanceChargeType POSTPAID_BY_HOUR --InstanceChargePrepaid '{"Period":1,"RenewFlag":"DISABLE_NOTIFY_AND_MANUAL_RENEW"}'
 --Placement '{"Zone":"ap-guangzhou-2"}' --InstanceType S1.SMALL1 --ImageId img-8toqc6s3 --SystemDisk '{"DiskType":"CLOUD_BASIC", "DiskSize":50}'
--InternetAccessible '{"InternetChargeType":"TRAFFIC_POSTPAID_BY_HOUR","InternetMaxBandwidthOut":10,"PublicIpAssigned":true}' --InstanceCount 1
--InstanceName TCCLI-TEST --LoginSettings '{"Password":"isd@cloud"}' --SecurityGroupIds '["sg-0rszg2vb"]' --HostName TCCLI-HOST-NAME1

更多功能,您可以通过 tccli help 查看支持的产品,通过 tccli cvm help(以 cvm 举例)查看产品支持的接口。通过tccli cbs DescribeDisks help(以 cbs 产品的 DescribeDisks 接口为例) 查看接口支持的参数。

高级功能

多版本接口访问

某些产品可能存在多个版本的接口,TCCLI 默认访问最新版本的接口。如果您想访问特定旧版本的接口,可以通过以下方式实现(以 cvm 举例)。

# 设置cvm产品默认使用版本:2017-03-12。
tccli configure set cvm.version 2017-03-12

# 在实时使用时指定版本号。
tccli cvm help --version 2017-03-12
tccli cvm DescribeZones help --version 2017-03-12
tccli cvm DescribeZones --version 2017-03-12

指定最近的接入点(Endpoint)

TCCLI 默认会请求就近的接口点访问服务,你也可以针对某一产品指定自己的 Endpoint(以 cvm 为例)。

# 设置cvm产品默认endpointtccli configure set cvm.endpoint cvm.ap-guangzhou.tencentcloudapi.com

# 调用时实时指定。
tccli cvm DescribeZones --endpoint cvm.ap-guangzhou.tencentcloudapi.com

返回结果过滤

  1. 不加任何过滤时的输出(以 cvm DescribeZones 接口的返回为例)。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones
    {
    "TotalCount": 4,
    "ZoneSet": [
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100001",
            "Zone": "ap-guangzhou-1",
            "ZoneName": "广州一区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100002",
            "Zone": "ap-guangzhou-2",
            "ZoneName": "广州二区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100003",
            "Zone": "ap-guangzhou-3",
            "ZoneName": "广州三区"
        },
        {
            "ZoneState": "AVAILABLE",
            "ZoneId": "100004",
            "Zone": "ap-guangzhou-4",
            "ZoneName": "广州四区"
        }
    ],
    "RequestId": "4fd313a6-155f-4c7a-bf86-898c02fcae02"
    }
    
  2. 只看某个字段。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter TotalCount
    4
    
  3. 指定某个数组类型对象的第N个子对象的信息。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[0]
    {
    "ZoneState": "AVAILABLE",
    "ZoneId": "100001",
    "Zone": "ap-guangzhou-1",
    "ZoneName": "广州一区"
    }
    
  4. 指定数组类型对象下所有某个名称的子对象的某个字段。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter ZoneSet[*].ZoneName
    [
    "广州一区",
    "广州二区",
    "广州三区",
    "广州四区"
    ]
    
  5. 过滤数组里的子对象,同时还以新的名称展示。
    注意:这里需要将说明过滤行为的内容用单引号包裹起来。
    [root@VM_180_248_centos ~]# tccli cvm DescribeZones  --filter 'ZoneSet[*].{name:ZoneName, id:ZoneId}'
    [
    {
        "name": "广州一区",
        "id": "100001"
    },
    {
        "name": "广州二区",
        "id": "100002"
    },
    {
        "name": "广州三区",
        "id": "100003"
    },
    {
        "name": "广州四区",
        "id": "100004"
    }
    ]