采用部分更新语义:传入的字段会被更新,未传字段保留原值。运行中会话使用绑定时的快照,新会话使用更新后的环境。
前提
已完成 Endpoint 与鉴权配置,详见API 总览与认证。
接口
POST /environments/{environment_id}
语义
采用部分更新语义:请求体中传入的字段会被更新,未传字段保留原值。已绑定该环境的运行中会话使用绑定时的快照,不受更新影响;新会话使用更新后的环境。
-
config.type不可变,传入异于原值将报错。 -
config.packages传入即整体替换原值(含子键apt、pip等),未列出的包将被移除。 -
metadata传入即整体替换原值,不做键级合并。
请求体
字段同创建 Environment的请求体一节,仅传入需更新的字段。
请求示例
curl -X POST "$AGENTSTUDIO_URL/environments/env_xxx" \
-H "Authorization: Bearer $DASHSCOPE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "data-sandbox",
"description": "数据分析沙箱(更新)",
"scope": "organization",
"metadata": {"team": "infra"},
"config": {
"type": "cloud",
"packages": {"apt": ["ffmpeg"], "pip": ["pandas", "numpy", "scikit-learn"]},
"networking": {"type": "unrestricted"}
}
}'env = client.environments.update(
"env_xxx",
name="data-sandbox",
description="数据分析沙箱(更新)",
config={
"type": "cloud",
"networking": {"type": "unrestricted"},
"packages": {"apt": ["ffmpeg"], "pip": ["pandas", "numpy", "scikit-learn"]},
},
metadata={"team": "infra"},
)Environment u = client.environments().update("env_xxx",
EnvironmentUpdateParam.builder()
.name("data-sandbox")
.description("数据分析沙箱(更新)")
.build());响应示例
{
"id": "env_xxx",
"type": "environment",
"name": "data-sandbox",
"description": "数据分析沙箱(更新)",
"config": {
"type": "cloud",
"packages": {"apt": ["ffmpeg"], "pip": ["pandas", "numpy", "scikit-learn"]},
"networking": {"type": "unrestricted"}
},
"metadata": {"team": "infra"},
"scope": "organization",
"archived_at": null,
"created_at": "2026-06-16T12:45:34+08:00",
"updated_at": "2026-06-16T12:52:31+08:00",
"request_id": "xxx"
}
响应为更新后的 Environment 对象。字段如下:
响应字段
|
字段 |
类型 |
说明 |
|
|
string |
环境 ID |
|
|
string |
固定为 |
|
|
string / object |
更新后的环境配置;未传入字段保留原值 |
|
|
string | null |
归档时间,未归档时为 |
|
|
string |
创建/最近更新时间,ISO 8601 |
|
|
string |
本次请求的唯一标识 |
该文章对您有帮助吗?