- 공유 설정으로 여러 샌드박스를 생성할 때
- 샌드박스에서 Python 함수를 실행할 때
- 고아 샌드박스의 자동 정리를 원할 때
속성
sandbox_count
메서드
log_metrics
step(int | None): 메트릭과 연결할 트레이닝 step입니다. 지정하면 메트릭이 wandb에서 이 step 번호로 로깅됩니다.reset(bool): True(기본값)이면 로깅에 성공한 후 누적된 메트릭을 재설정합니다. log()가 실패하면(활성 wandb run이 없는 경우) 메트릭이 유지됩니다. 로깅 여부와 관계없이 계속 누적하려면 False로 설정하세요.
bool: 메트릭이 로깅된 경우 True, reporter가 설정되지 않았거나bool: 활성 wandb run이 없는 경우 False입니다.
get_metrics
dict[str, Any]: cwsandbox/* 접두사가 붙은 메트릭 이름과 값이 포함된 딕셔너리입니다.dict[str, Any]: reporter가 설정되지 않은 경우 빈 딕셔너리입니다.
close
OperationRef[None]: OperationRef[None]: 모든 샌드박스가 중단될 때까지 대기하려면 .result()를 사용하세요.
SandboxError: 실행 중인 샌드박스 중 하나 이상을 중지하지 못한 경우 발생합니다.
sandbox
command(str | None): 샌드박스에서 실행할 명령args(list[str] | None): 명령의 인수container_image(str | None): 사용할 컨테이너 이미지tags(list[str] | None): 샌드박스의 태그(세션 기본값과 병합되며,template_id가 설정된 경우에도 병합되므로list()/adopt로 샌드박스를 찾을 수 있음). 환경 변수와 어노테이션은 템플릿 경로에서 병합되지 않음(template-owned spec).profile_ids: 1.x에서 제거됨. 값을 전달하면TypeError가 발생합니다.profile_names: 1.x에서 제거됨. 값을 전달하면TypeError가 발생합니다.runner_ids(list[str] | None): 선택적 CKS 러너 고정(serverless 및placement_spillover='serverless_then_cks'와 호환되지 않음)resources(ResourceOptions | dict[str, Any] | None): 리소스 설정. 요청/제한을 분리하려면 ResourceOptions를, 하위 호환되는 Guaranteed QoS를 사용하려면 평면 dict를 전달합니다.mounted_files(list[dict[str, Any]] | None): 시작 시 샌드박스에 마운트할 파일. 각 dict에는mount_path(str)와file_content(bytes)가 있어야 합니다. 참고: 마운트된 파일은 런타임에 읽기 전용입니다. 파일을 수정하려면 샌드박스가 실행된 후sandbox.write_file()을 사용하세요.s3_mount: 1.x에서 제거됨. 값을 전달하면TypeError가 발생합니다.ports: 1.x에서 제거됨. 대신services=[Service(...)]를 사용하세요.network(NetworkOptions | dict[str, Any] | None): 거부 플래그와 생성 시점의 선택적 호스트 이름 허용 설정을 포함하는NetworkOptions(또는 dict). 포트 노출에는services=를 사용합니다.file_system_snapshot(FileSystemSnapshotOptions | dict[str, Any] | None): 단일 마운트용 간편 FSS 옵션(FileSystemSnapshotOptions또는 dict). 다중 볼륨 구성에는volumes=를 사용하는 것이 좋습니다.max_timeout_seconds: 1.x에서 제거됨.request_timeout_seconds를 사용하세요.request_timeout_seconds(float | None): 샌드박스 RPC에 대한 클라이언트 측 HTTP timeout. 기본값은 세션의SandboxDefaults.request_timeout_seconds입니다.data_plane_mode(DataPlaneMode | str | None): 세션의 데이터 플레인 전송 정책을 재정의합니다.auth(AuthConfig | None): 인증 전략, 확인된 헤더 또는 공급자. 이 샌드박스에 한해 세션 기본값을 재정의합니다.environment_variables(dict[str, str] | None): 샌드박스에 주입할 환경 변수. 세션 기본값과 병합되며, 키가 겹치면 이 값이 우선합니다. 민감하지 않은 설정에만 사용하세요.annotations(dict[str, str] | None): 샌드박스의 Kubernetes 파드 어노테이션. 세션 기본값과 병합되며, 키가 겹치면 이 값이 우선합니다. 민감하지 않은 메타데이터에만 사용하세요.secrets(Sequence[Secret | dict[str, Any]] | None): 환경 변수로 주입할 시크릿. 세션 기본값과 병합됩니다(기본값이 먼저, 그다음 이 목록).containers(Sequence[Container | Mapping[str, Any]] | None): 다중 컨테이너 사양. 단일 컨테이너용 kwargs와 함께 사용할 수 없습니다. 세션의defaults.secrets,environment_variables,security_context,working_dir을 대체하므로 이러한 값은 각Container에 지정하세요.@session.function()에서는 사용되지 않습니다.
Sandbox: 세션에 등록된, 아직 시작되지 않은 Sandbox.
SandboxError: 세션이 이미 닫힌 경우.
목록
show_terminated=True로 설정하면 검색 범위가 넓어져 종료 상태의
샌드박스(completed, failed, terminated)도 포함됩니다.
종료 상태 필터(예: status="completed")를 지정해도 검색 범위가
자동으로 넓어집니다.
매개변수
tags(list[str] | None): 필터링에 사용할 추가 태그(세션의 기본 태그와 병합됨)status(str | None): 상태로 필터링profile_ids(list[str] | None): 1.x에서 제거되었습니다. 값을 전달하면TypeError가 발생합니다.profile_names(list[str] | None): 1.x에서 제거되었습니다. 값을 전달하면TypeError가 발생합니다.runner_ids(list[str] | None): 러너 ID로 필터링(설정된 경우 세션의 runner_ids가 기본값)volume_ids(list[str] | tuple[str, ...] | None): 지정한 registered Volume ID에 연결된 샌드박스로 필터링show_terminated(bool): True이면 종료 상태의 샌드박스(completed, failed, terminated)를 포함합니다. 기본값은 False입니다.adopt(bool): True이면 검색된 샌드박스를 이 세션에 등록하여 세션이 닫힐 때 함께 중단되도록 합니다.
OperationRef[list[Sandbox]]: OperationRef[list[Sandbox]]: .result()를 사용하여 결과가 나올 때까지 블로킹하거나,OperationRef[list[Sandbox]]: async 컨텍스트에서는 직접 await하세요.
from_id
sandbox_id(str): 기존 샌드박스의 IDadopt(bool): True(기본값)이면 샌드박스를 이 세션에 등록합니다
OperationRef[Sandbox]: OperationRef[Sandbox]: .result()를 사용해 Sandbox 인스턴스가 반환될 때까지 block하거나,OperationRef[Sandbox]: 비동기 컨텍스트에서는 직접 await하세요.
adopt
sandbox(Sandbox): 추적할 샌드박스 인스턴스
SandboxError: 세션이 닫힌 경우ValueError: 샌드박스에 sandbox_id가 없는 경우
function
container_image(str | None): 이 함수에 사용할 이미지로 세션의 기본 이미지를 재정의합니다temp_dir(str | None): 샌드박스 내 페이로드/결과 파일용 임시 디렉터리를 재정의합니다. 기본값은 세션 기본값입니다. 디렉터리가 없으면 생성됩니다.profile_ids: 1.x에서 제거되었습니다. 값을 전달하면TypeError가 발생합니다.profile_names: 1.x에서 제거되었습니다. 값을 전달하면TypeError가 발생합니다.runner_ids(list[str] | None): 특정 CKS 러너에 고정합니다(선택). serverless 및placement_spillover='serverless_then_cks'와 함께 사용할 수 없습니다.resources(ResourceOptions | dict[str, Any] | None): 리소스 설정입니다. 요청/제한을 따로 지정하려면 ResourceOptions를, 하위 호환되는 Guaranteed QoS를 사용하려면 평면 dict를 전달하세요.mounted_files(Sequence[dict[str, Any]] | None): 시작 시 샌드박스에 마운트할 파일입니다. 각 dict에는mount_path(str)와file_content(bytes)가 있어야 합니다. 참고: 마운트된 파일은 런타임에 읽기 전용입니다. 파일을 수정하려면 샌드박스가 실행된 후sandbox.write_file()을 사용하세요.s3_mount: 1.x에서 제거되었습니다. 값을 전달하면TypeError가 발생합니다.ports: 1.x에서 제거되었습니다. 대신services=[Service(...)]를 사용하세요.network(NetworkOptions | dict[str, Any] | None): 거부 플래그와 생성 시점 호스트 이름 grants(선택)를 포함하는NetworkOptions(또는 dict)입니다. 포트 노출에는services=를 사용하세요.file_system_snapshot(FileSystemSnapshotOptions | dict[str, Any] | None): 단일 마운트용 간편 FSS 옵션(FileSystemSnapshotOptions또는 dict)입니다. 다중 볼륨 구성에는volumes=를 사용하는 것이 좋습니다.max_timeout_seconds: 1.x에서 제거되었습니다.request_timeout_seconds를 사용하세요.request_timeout_seconds(float | None): 샌드박스 RPC에 대한 클라이언트 측 HTTP timeout입니다. 기본값은 세션의SandboxDefaults.request_timeout_seconds입니다.data_plane_mode(DataPlaneMode | str | None): 세션의 데이터 플레인 전송 정책을 재정의합니다.environment_variables(dict[str, str] | None): 샌드박스에 주입할 환경 변수입니다. 세션 기본값과 병합되며, 키가 겹치면 이 값이 우선합니다. 민감하지 않은 설정에만 사용하세요.annotations(dict[str, str] | None): 샌드박스의 Kubernetes 파드 어노테이션입니다. 세션 기본값과 병합되며, 키가 겹치면 이 값이 우선합니다. 민감하지 않은 메타데이터에만 사용하세요.
Callable[[Callable[P, R]], RemoteFunction[P, R]]: 함수를 RemoteFunction으로 래핑하는 데코레이터