# 查看沙箱列表和详情

查询工作区沙箱，从列表取得沙箱 ID 后读取详情。

(sdk-ai-studio-sandbox-prepare)=
## 准备

1. [配置 SDK 和个人访问令牌](../../../quickstart/ai-studio/sdk.md#sdk-ai-studio-quickstart-configure)。
2. [选择工作区并获取工作区 ID](../../../quickstart/ai-studio/sdk.md#sdk-ai-studio-quickstart-workspaces)。


(sdk-ai-studio-sandbox-s1)=
(sdk-ai-studio-sandbox-action-2)=
## 选择沙箱并读取详情

示例列出沙箱 ID、名称和阶段，再读取首个沙箱的详情。

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

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

```python
import os

import moi_product_sdk as sdk

client = sdk.new_with_personal_access_token(
    os.environ["PRODUCT_API_BASE_URL"], os.environ["PRODUCT_API_KEY"]
)
workspace_id = os.environ["WORKSPACE_ID"]
workspace = client.workspace(workspace_id)
service = client.sandboxes(workspace_id)
sandboxes = service.list()
for item in sandboxes:
    print(item.id, item.name, item.phase)
if not sandboxes:
    raise SystemExit("当前工作区没有沙箱")
sandbox = service.get(sandboxes[0].id)
print("详情:", sandbox.id, sandbox.name, sandbox.phase, sandbox.network_mode)
```

::::

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

```go
package main

import (
	"context"
	"fmt"
	"os"

	sdk "github.com/matrixorigin/matrixflow/sdk/go-sdk"
)

func main() {
	ctx := context.Background()
	client, err := sdk.NewWithPersonalAccessToken(os.Getenv("PRODUCT_API_BASE_URL"), os.Getenv("PRODUCT_API_KEY"))
	if err != nil {
		panic(err)
	}
	workspaceID := os.Getenv("WORKSPACE_ID")
	workspace, err := client.Workspace(workspaceID)
	if err != nil {
		panic(err)
	}
	_ = workspace
	service := client.Sandboxes(workspaceID)
	sandboxes, err := service.List(ctx)
	if err != nil {
		panic(err)
	}
	for _, item := range sandboxes {
		fmt.Println(item.GetId(), item.GetName(), item.GetPhase())
	}
	if len(sandboxes) == 0 {
		fmt.Println("当前工作区没有沙箱")
		return
	}
	sandbox, err := service.Get(ctx, sandboxes[0].GetId())
	if err != nil {
		panic(err)
	}
	fmt.Println("详情:", sandbox.GetId(), sandbox.GetName(), sandbox.GetPhase(), sandbox.GetNetworkMode())
}
```

::::

:::::

(sdk-ai-studio-sandbox-limit)=
(sdk-ai-studio-sandbox-next)=
详情返回所选沙箱的名称、当前阶段和网络模式。
