配置AIHCCLI
使用 AIHC CLI 前需配置百度智能云的 AccessKey(AK)、SecretKey(SK)以及服务地域(region)等信息。配置以 YAML 文件保存,读取时遵循下文「配置文件优先级」。
版本:v1.6.2(
aihc-cli/golang/v1.6.2)。配置文件中的endpoint、useragent、retry由 CLI 根据其它字段自动生成,无需手动填写。
一、配置文件优先级
CLI 在执行任何命令时,按以下顺序确定使用哪个配置文件,命中即停止(高优先级在前):
| 优先级 | 来源 | 说明 |
|---|---|---|
| 1 | 全局 -C/--config 标志指定的文件 |
对所有命令生效。例:aihc job list -C /path/to/config.yaml |
| 2 | ConfigManager 当前活动配置 | 由 aihc config use <path> 设置,记录在 ~/.aihc/config_manager.yaml |
| 3 | 本地配置 ./.aihc/config |
项目级配置,适合在某个项目目录下覆盖默认值 |
| 4 | 全局默认 ~/.aihc/config |
用户级兜底配置 |
要点:
-C/--config是根命令的全局标志,优先级最高,可临时指定任一配置文件。aihc config use <path>用于在多套配置间切换当前活动配置(见下文)。- 本地配置
./.aihc/config仅在当前工作目录下生效,适合隔离不同项目的配置。
二、配置文件结构
配置文件为 YAML,推荐字段如下:
1region: cn-bj # 必填,服务地域(见 region 列表)
2credentials:
3 accesskey: ALTAKeB************ # 必填,Access Key ID
4 secretkey: b903d4************ # 必填,Secret Access Key
5defaultpool: "" # 可选,默认资源池 ID(可用 aihc config 设置,托管资源池、自运维资源池均需填入资源池id,比如aihc-xxx,或者cce-xxx)
6defaultqueue: "" # 可选,默认队列标识(可用 aihc config 设置, 托管资源池填队列id,自运维资源池填队列名称)
7aihcusername: "" # 可选,作业创建者(仅bhcmp平台生效,非bhcmp平台不用设置,默认为ak、sk用户名)
字段说明:
| 字段 | 是否必填 | 说明 |
|---|---|---|
region |
必填 | 服务地域,取值见下方 region 列表。同时支持简称(cn-bj)与全称(cn-beijing) |
credentials.accesskey |
必填 | Access Key ID |
credentials.secretkey |
必填 | Secret Access Key |
defaultpool |
可选 | 默认资源池 ID。设置后命令可省略 -p/--pool |
defaultqueue |
可选 | 默认队列标识。设置后命令可省略 -q/--queue(具体存 name 还是 ID 见「aihc pool set 存储规则」) |
aihcusername |
可选 | 作业创建者 |
自动字段:
endpoint(由 region 映射得出)、useragent、retry由 CLI 自动生成,请勿手动填写。
支持的 region
| 简称 | 全称 | 地域 |
|---|---|---|
cn-bj |
cn-beijing |
华北-北京 |
cn-gz |
cn-guangzhou |
华南-广州 |
cn-su |
cn-suzhou |
华东-苏州 |
cn-bd |
cn-baoding |
华北-保定 |
cn-fwh |
cn-wuhan |
华中-武汉 |
cn-yq |
cn-yangquan |
华北-阳泉 |
三、aihc config 命令用法
aihc config 用于配置 AK/SK、region 等,并支持多套配置文件管理。
根命令
- 不带任何标志:进入交互式配置,逐项提示输入(回车保留当前值)。
- 带标志:以命令式方式写入指定字段,适合脚本化。
获取帮助信息:
1$ aihc config -h
2Configure Client credentials and settings. You can:
31. Run without flags for interactive mode
42. Set specific values using flags:
5 - Set credentials: aihc config --ak <AccessKey> --sk <SecretKey>
6 - Set region: aihc config --region <region>
7 - Specify config directory: aihc config --path /path/to/directory (creates config file in the directory)
8 - Specify config file: aihc config --path /path/to/config.yaml (uses exact file path)
9
10Available Regions:
11"cn-bj": 华北-北京
12"cn-gz": 华南-广州
13"cn-su": 华东-苏州
14"cn-bd": 华北-保定
15"cn-fwh": 华中-武汉
16"cn-yq": 华北-阳泉
17
18Usage:
19 aihc config [flags]
20 aihc config [command]
21
22Available Commands:
23 create Create a new configuration file
24 get Get current configuration
25 list List all configuration files
26 set Set configuration values
27 use Switch to a different configuration file
28
29Flags:
30 --access-key string Access Key ID
31 --aihc-username string Job creator
32 --ak string Access Key ID
33 --default-pool string Default Pool
34 --default-queue string Default Queue
35 -h, --help help for config
36 --path string set config directory path
37 --region string Region
38 --secret-key string Secret Access Key
39 --sk string Secret Access Key
40
41Global Flags:
42 -C, --config string Global configuration file. (default "/Users/xxx/.aihc/config")
43
44Use "aihc config [command] --help" for more information about a command.
交互式配置示例
1$ aihc config
2
3Current configuration:
4region: cn-bj
5credentials:
6 accesskey: ""
7 secretkey: ""
8
9Press Enter to keep current value or input new value:
10Access Key ID [""]: <在此输入 AK 后回车>
11Secret Access Key [""]: <在此输入 SK 后回车>
12Region [cn-bj]: <回车保留,或输入新值>
13Default Pool [""]:
14Default Queue [""]:
15AIHC Username [""]:
16Configuration updated successfully in /Users/xxx/.aihc/config
命令式配置示例
1# 一次性设置凭证与 region
2$ aihc config --ak <AccessKey> --sk <SecretKey> --region cn-bj
3
4# 写入指定目录/文件(目录会自动在其下创建 config 文件)
5$ aihc config --path /path/to/dir --ak <AccessKey> --sk <SecretKey>
6$ aihc config --path /path/to/my.yaml --region cn-gz
根命令支持的全部标志:
| 标志 | 说明 |
|---|---|
--ak / --access-key |
Access Key ID |
--sk / --secret-key |
Secret Access Key |
--region |
服务地域 |
--default-pool |
默认资源池 ID |
--default-queue |
默认队列标识 |
--aihc-username |
作业创建者 |
--path |
指定配置目录或文件路径 |
子命令:config get 查看当前配置
查看当前生效的配置文件内容:
1$ aihc config get
2Current config file: /Users/xxx/.aihc/config
3
4Configuration content:
5
6region: cn-bj
7credentials:
8 accesskey: ALTAKeB************csC9GO
9 secretkey: b903d4************c7c315063
10endpoint: aihc.bj.baidubce.com
11retry: 3
12defaultpool: ""
13defaultqueue: ""
可用 --path 查看指定路径的配置:aihc config get --path /path/to/config.yaml
子命令:config set 修改配置
修改某个配置文件的字段(需要 --path 指定文件):
1# 仅修改 region(其它字段保持不变)
2$ aihc config set --path ~/.aihc/config --region cn-gz
3
4# 同时设置 AK/SK
5$ aihc config set --path ~/.aihc/config --ak <AccessKey> --sk <SecretKey>
若仅写
aihc config set而不带--path,会提示使用--path。set的标志与根命令一致,支持--ak/--access-key、--sk/--secret-key、--region、--default-pool、--default-queue、--aihc-username。
子命令:config create 创建新配置文件
创建一个新的配置文件(默认创建在 ./.aihc/config):
1# 交互式创建(默认 ./.aihc/config)
2$ aihc config create
3
4# 命令式创建
5$ aihc config create --ak <AccessKey> --sk <SecretKey> --region cn-bj
6
7# 指定目录或文件
8$ aihc config create --path /path/to/dir --ak <AccessKey> --sk <SecretKey> --region cn-bj
子命令:config use 切换当前活动配置
切换当前活动配置,写入 ~/.aihc/config_manager.yaml,后续命令自动使用该配置(见优先级第 2 项):
1# 使用指定配置文件
2$ aihc config use ~/.aihc/config
3
4# 使用目录下的 config 文件
5$ aihc config use ~/.aihc/
6
7# 使用具名配置文件
8$ aihc config use /etc/aihc/prod.yaml
9Successfully switched to configuration file: /etc/aihc/prod.yaml
子命令:config list 列出所有配置文件
列出 ConfigManager 管理的全部配置文件,并标记当前活动配置(*):
1$ aihc config list
2Current configuration: /etc/aihc/prod.yaml
3
4Available configurations:
5* 1. /etc/aihc/prod.yaml
6 2. /Users/xxx/.aihc/config
7 3. /Users/xxx/work/.aihc/config
8
9* = current configuration
四、设置默认资源池(aihc pool set)
设置默认资源池与队列后,后续命令若不指定则自动使用默认值(即可省略 -p/--pool;托管资源池还可省略 -q/--queue)。
交互式示例
1$ aihc pool set
2Available pools:
3Resource pool type is: common
41. cce-rdy (hpas-runtime-02)
52. cce-4kvu (hpas-runtime)
6Resource pool type is: dedicatedV2
73. cce-5uvro (workflow)
8
9Select pool (enter number): 1
10
11Available queues:
121. 63a9f0ea7bb96b649e85481845 (default)
132. 8b2c1f7d3a6e0c5b49217f38a1 (test)
14
15Select queue (enter number): 1
16
17Default pool set to: cce-rdy (hpas-runtime-02)
18Default queue set to: 63a9f0ea7bb96b649e85481845 (default)
输出说明:
- 资源池按类型分组显示,每组先打印
Resource pool type is: <类型>,随后列出该类型下的池:序号. <资源池ID> (<名称>)。 - 队列列表格式:
序号. <队列ID> (<队列名称>)。
五、直接编辑配置文件
也可以用 vim/nano 等编辑器直接修改配置文件,保存后重新执行命令即生效(注意遵循「配置文件优先级」,编辑的文件需为当前生效的那一个)。
1vim ~/.aihc/config
1region: cn-bj # 必填
2credentials:
3 accesskey: xxxxxxx # 必填
4 secretkey: xxxxxxx # 必填
5defaultpool: "" # 可选,默认资源池 ID
6defaultqueue: "" # 可选,默认队列标识
7aihcusername: "" # 可选,作业创建者
评价此篇文章
