配置管理

更新时间:
复制 MD 格式

PAI CLI 通过 config 子命令管理配置 Profile,支持多 Profile 并行、多种认证方式和 Endpoint 覆盖。

配置文件

PAI CLI 的所有配置存储在本地文件 ~/.pai/config.json 中,格式为 JSON。

该文件支持多个命名 Profile,每个 Profile 包含独立的凭证、地域、工作空间和 Endpoint 配置,适用于开发/生产等多环境并行切换场景。

config init

pai config init [--profile NAME]

交互式引导完成凭证、地域与工作空间配置,适合首次上手。两个设计保障:

  • 环境变量或实例 RAM 角色已提供的凭证会被检测并复用,不会被复制进配置文件(避免冻结会轮换的临时凭证);

  • 所有值先通过真实 API 验证后才写入配置文件。

说明

脚本/非交互场景请用 pai config set。

config show

pai config show [--profile NAME]

显示实际生效的配置及每个值的来源。与 config list(只打印 profile 文件内容)不同,show 按命令实际使用的解析链输出:flag > profile > PAI_* > ALIBABA_CLOUD_*,适合排查"为什么命令用了另一个地域"这类问题。

配置凭证的几种方式

# 方式 1:AccessKey 凭证(最常用)
pai config set access_key_id LTAI5xxxxxxxxxxxxx
pai config set access_key_secret xxxxxxxxxxxxxxxxxxxxxxxx

# 方式 2:STS 临时凭证
pai config set access_key_id STS.xxxxxxxxxxxxx
pai config set access_key_secret xxxxxxxxxxxxxxxxxxxxxxxx
pai config set security_token xxxxxxxxxxxxxxxxxxxxxxxx

# 方式 3:ECS RAM Role(在 ECS 实例上运行时)
pai config set credential_type ecs_ram_role
pai config set role_name my-ram-role

# 方式 4:RAM Role AssumeRole
pai config set credential_type ram_role_arn
pai config set role_arn acs:ram::123456789:role/my-role
说明

凭证解析优先级:credential_type 显式指定 → access_key_id + access_key_secret(有 security_token 则为 STS)→ 阿里云默认凭证链(ALIBABA_CLOUD_* 环境变量 → ~/.aliyun/credentials → ECS RAM Role → OIDC)。

说明

DSW 实例内免 AK/SK 配置:若执行环境位于 DSW 实例内部,且该实例已绑定实例 RAM 角色,则无需配置 AccessKey。CLI 会自动通过实例 metadata server 获取临时鉴权信息,并以实例 Owner 的身份和权限执行所有命令。

config set

pai config set <key> <value> [--profile NAME]

参数

类型

默认值

说明

region

string

—

地域 ID。环境变量 PAI_REGION,回退到 ALIBABA_CLOUD_REGION_ID

workspace_id

string

—

默认工作空间 ID。环境变量 PAI_WORKSPACE_ID

access_key_id

string

—

AccessKey ID。环境变量 PAI_ACCESS_KEY_ID

access_key_secret

string

—

AccessKey Secret(config list 时脱敏显示)

security_token

string

—

STS 临时凭证 Token。设置后自动切换为 STS 认证

credential_type

string

—

认证类型 access_key sts ecs_ram_role ram_role_arn oidc_role_arn credentials_uri

role_name

string

—

ECS 实例 RAM 角色名(credential_type=ecs_ram_role 时使用)

role_arn

string

—

RAM 角色 ARN(ram_role_arn / oidc_role_arn 时使用)

role_session_name

string

—

AssumeRole 会话名称,记录在审计日志中

oidc_provider_arn

string

—

OIDC Provider ARN(ACK RRSA 场景)

oidc_token_file

string

—

OIDC Token 文件路径

credentials_uri

string

—

外部凭证服务 HTTP 地址

endpoint

string

—

全局 API Endpoint 覆盖(建议优先使用产品级 endpoint)

endpoint_dsw

string

—

DSW 产品 Endpoint

endpoint_dlc

string

—

DLC 产品 Endpoint

endpoint_aiworkspace

string

—

AIWorkspace 产品 Endpoint

endpoint_eas

string

—

EAS 产品 Endpoint

endpoint_paistudio

string

—

PAIStudio(Quota/资源组)产品 Endpoint

protocol

string

https

通信协议 http https

config get

pai config get <key> [--profile NAME]

config list

pai config list [--profile NAME]

显示当前 Profile 的所有配置值,敏感字段自动脱敏。

多 Profile 管理

# 创建开发环境 Profile
pai config set access_key_id LTAI5xxxxxxxxxxxxx --profile dev
pai config set access_key_secret xxxxxxxxxxxxxxxxxxxxxxxx --profile dev
pai config set region cn-hangzhou --profile dev

# 创建生产环境 Profile
pai config set access_key_id LTAI5yy********yy --profile prod
pai config set access_key_secret yyyyyy******yyyyyyyy --profile prod
pai config set region cn-shanghai --profile prod

# 切换 Profile 使用
pai dsw instance list --profile dev
pai dsw instance list --profile prod