Fork me on GitHub

配置CLI

介绍

和大多数CLI一样,CLI安装好后,需要适当配置一下才可以高效方便的使用。

有哪些CLI的配置项

CLI的配置项目包含如下内容:

配置秘钥与服务入口

日志服务CLI支持通过以下三种方式配置访问秘钥与入口,如果同时配置多种方式, 优先顺序是: 参数, 环境变量, 最后是本地配置文件.

  • 参数
> aliyunlog log create_project ..... --access-id=<value> --access-key=<value> --region-endpoint=<value>

注意: 任意log子命令都支持以上方式定义特定的AK与Endpoint(覆盖后面的方式)

  • 环境变量
  • ALIYUN_LOG_CLI_ACCESSID
  • ALIYUN_LOG_CLI_ACCESSKEY
  • ALIYUN_LOG_CLI_ENDPOINT
  • 本地配置文件

将存储AK与Endpoint在~/.aliyunlogcli, 默认使用的块名是main

[main]
access-id=
access-key=
region-endpoint=

使用HTTPS连接

当给服务入口地址加上https://前缀时, CLI会使用https连接, 否则默认使用http.

修改配置文件

Configure命令可以修改配置文件内容.

> aliyunlog configure access_id access_key cn-beijing.log.aliyuncs.com

多账户

存储于多个账户

CLI支持以便在特定情况下使用(例如不同域操作、测试等):

> aliyunlog configure access_id1 access_key1 cn-beijing.log.aliyuncs.com
> aliyunlog configure access_id2 access_key2 cn-hangzhou.log.aliyuncs.com test

AK将存储为:

[main]
access-id=access_id1
access-key=access_key1
region-endpoint=cn-beijing.log.aliyuncs.com

[test]
access-id=access_id2
access-key=access_key2
region-endpoint=cn-hangzhou.log.aliyuncs.com

参考这里来了解一种简化的多账户配置方式。

使用特定账户

任意命令都可以通过选项--client-name=<value>来使用特定配置的账户, 例如:

> aliyunlog log create_project ..... --client-name=test

将使用test的AK来进行操作.

其他情况

某些情况下也需要跨账户操作, 例如:

> aliyunlog log copy_project --from_project="p1" --to_project="p1" --to_client=test

main账户下对应的项目p1复制到账户test下的p1

默认账户

如前面所属,默认账户是main,在多用户情况下,切换默认账户也是很有用。通过选项--default-client可以修改。

aliyunlog configure --default-client=beijing

这样其他命令默认会使用beijing账户下的访问密码和服务入口地址。

输出格式

JSON格式

输出格式一般是以json形式输出,并且是打印在一行上面,某些情况下需要格式化输出方便查看,可以在特定命令上配置--format-output=json,这样CLI会将输出进行格式化。

aliyunlog log get_log....  --format-output=json

如果期望所有输出都是这样,可以修改配置项来完成:

aliyunlog log configure --format-output=json

不转义非ANSI字符

对于非英文字符, 默认是转义的形式. 如果期望可以看到原始字符, 可以添加no_escapeformat-ouput选项中:

aliyunlog log get_log....  --format-output=json,no_escape

与其他选项用逗号分隔即可. 如果期望所有输出都是这样,可以修改配置项来完成:

aliyunlog log configure --format-output=json,no_escape