# 创建和管理计算资源

使用 AI Studio SDK 创建计算资源，并使用服务端返回的资源 ID 读取指标或执行生命周期操作。创建时需要名称、规格 ID、CPU 和内存；其他配置按需提供。

(sdk-ai-studio-compute-resource-flow)=
## 任务流程

1. 选择可用规格，准备资源名称、CPU 和内存。
2. 创建资源并保存服务端返回的资源 ID。
3. 使用该 ID 读取详情、运行时记录或指标，或者提交更新、暂停、恢复或重试操作。
4. 删除前读取预检查结果，确认影响后再提交删除。

(sdk-ai-studio-compute-resource-prepare)=
## 准备

| 需要的内容 | 在本页中的作用 |
| --- | --- |
| 已绑定目标工作区的客户端上下文 | 确定资源所属的工作区。 |
| 可用规格 ID | 选择资源规格。 |
| 名称、CPU 和内存 | 创建资源时的必填输入。 |
| 可选的副本数等配置 | 按需要设置资源配置。 |

(sdk-ai-studio-compute-resource-create)=
## 创建资源并读取指标

创建操作返回资源和与其绑定的资源对象。调用指标读取时使用同一对象；返回指标不等于资源已满足所有运行条件。

:::::{tab-set}
:sync-group: sdk-language

::::{tab-item} Go
:sync: go

```go
compute, _, err := workspace.CreateComputeResource(
	ctx, computeName, specID, cpu, memoryGB,
	sdk.WithComputeMinReplicas(minReplicas),
	sdk.WithComputeMaxReplicas(maxReplicas),
)
if err != nil {
	return err
}
metrics, err := compute.Metrics(ctx)
if err != nil {
	return err
}
suspended, err := compute.Suspend(ctx)
if err != nil {
	return err
}
_ = metrics
_ = suspended
```

::::

::::{tab-item} Python
:sync: python

```python
compute, created = workspace.create_compute_resource(
    compute_name, spec_id, cpu, memory_gb,
    sdk.with_compute_min_replicas(min_replicas),
    sdk.with_compute_max_replicas(max_replicas),
)
metrics = compute.metrics()
suspended = compute.suspend()
```

::::

:::::

(sdk-ai-studio-compute-resource-control)=
## 控制资源生命周期

暂停、恢复和重试各自返回资源信息。返回内容反映本次调用的结果；如需确认后续状态，读取资源详情、运行时记录或指标。

(sdk-ai-studio-compute-resource-limitations)=
## 限制

资源操作可能影响运行中的任务或产生资源成本。删除预检查只返回当前影响信息，不等于删除已完成。删除后不要继续使用原资源对象；如需确认最终状态，重新读取或列出对应资源。

(sdk-ai-studio-compute-resource-next)=
## 下一步

- 管理计算实例的 HTTP 接口以 API Reference 中的计算资源接口为准。
