查看沙箱列表和详情¶
查询工作区沙箱,从列表取得沙箱 ID 后读取详情。
准备¶
选择沙箱并读取详情¶
示例列出沙箱 ID、名称和阶段,再读取首个沙箱的详情。
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)
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())
}
详情返回所选沙箱的名称、当前阶段和网络模式。
最后更新于