이 예시에서는 CWSANDBOX_API_KEY에 CoreWeave API 액세스 토큰을 사용합니다. Forge API 키 인증은 시작하기를 참조하세요. CKS 요구 사항은 배치 모드를 참조하세요.
이 가이드에서는 CWSandbox 인스턴스에서 환경 변수를 설정하고 관리하는 방법을 설명합니다. 환경 변수를 사용하면 로그 수준이나 프로젝트 식별자 같은 민감하지 않은 설정 값을 샌드박스에 전달할 수 있습니다. 환경 변수는 개별 샌드박스에 설정하거나, 세션 내 여러 샌드박스에서 공유하거나, 원격 함수 범위로 한정할 수 있습니다.
API 키, 비밀번호 또는 기타 자격 증명을 environment_variables에 하드코딩하거나 로그에 출력하지 마세요. 원시 자격 증명을 직접 전달하기보다는 시크릿 참조를 사용하는 것이 좋습니다. Forge 시크릿 주입을 사용할 수 없는 경우에도 민감한 값은 시크릿 관리자에 보관하세요. 이 지침은 serverless 샌드박스와 CKS 샌드박스 모두에 적용됩니다.
Forge로 인증된 serverless 샌드박스에서는 Forge 시크릿을 사용하세요. 서버가 이 참조를 확인한 뒤 해당 값을 환경 변수로 주입합니다. CKS 배치를 사용하거나 CoreWeave API 액세스 토큰으로 인증된 샌드박스에서는 Forge 시크릿 주입을 사용할 수 없습니다. CKS에서는 조직에서 승인한 방법으로 워크로드에 시크릿을 전달하세요.
기본 사용법
샌드박스 내부에서 실행되는 process에 값을 사용 가능하게 하려면 environment_variables 딕셔너리를 Sandbox.run에 전달하세요:
세션 수준 기본값
여러 샌드박스에서 동일한 변수를 필요로 할 때, 각 샌드박스마다 반복해서 정의하는 대신 세션에 한 번 정의하세요. 개별 샌드박스는 세션 기본값을 재정의하거나 자체 변수를 추가할 수 있습니다:
원격 함수
원격 함수는 세션에서 환경 변수를 상속받으며 @session.function 데코레이터를 통해 자체 환경 변수를 선언할 수 있습니다. SDK는 호출 시점에 함수 수준의 환경 변수와 세션 기본값을 병합합니다:
환경 변수는 참조로 전달됩니다. 데코레이션 이후 딕셔너리의 변경 사항은 후속 함수 호출에 반영됩니다. 다음 예시에서 볼 수 있듯이.