Rescale의 API 미리보기

Rescale에서는 최근 몇 가지 흥미로운 기능을 개발하느라 꽤 바빴습니다. 고객이 가장 원하는 항목 중 하나는 프로그래밍 방식으로 작업을 플랫폼에 확장하는 기능이었습니다. 이를 가능하게 하기 위해 우리는 공개 API를 만들기 위해 노력해 왔습니다.

현재 웹 서비스는 Django 앱으로, 이 앱의 끝점은 Javascript 클라이언트 호출을 통해 작업을 생성하고 모니터링합니다. 내부 데이터 모델을 구체화하고 기존 Django 뷰를 공개 RESTful API로 변환하는 것은 상당한 작업이었습니다. 우리는 이 목적을 위해 Django REST Framework를 사용하게 되었습니다.

DRF(Django REST Framework)는 Django를 위한 강력한 툴킷입니다. API에 대한 직렬화, 역직렬화, 인증 및 라우팅을 처리하기 위한 명확하고 쉽게 확장 가능한 인터페이스를 제공합니다. DRF는 다단계 관계형 모델과 매우 잘 작동했으며 Django 양식을 DRF 직렬 변환기로 마이그레이션하는 것은 매우 쉬웠습니다. 실제로 DRF를 사용하면 직렬 변환기 및 뷰 세트의 많은 기능으로 인해 사용자 정의 유효성 검사가 중복되므로 코드가 더 명확하고 간결해졌습니다.

크기 조정 작업 분석
API 엔드포인트에 대해 자세히 알아보기 전에 먼저 Rescale 작업이 정의되는 방식을 살펴보겠습니다. Rescale 작업은 작업 분석과 작업 변수라는 두 가지 유형의 기본 개체로 구성됩니다. 작업에는 하나 이상의 작업 변수가 포함될 수 있습니다. 작업 변수는 사용자가 매개변수 스윕을 실행하기 위해 지정할 수 있는 입력 매개변수입니다. 작업 분석은 해당 작업에 대해 실행하려는 시뮬레이션 소프트웨어 패키지(또는 Rescale 용어로 분석 코드)를 나타냅니다. 각 작업 분석 개체에는 분석 코드, 입력 명령, 하드웨어 선택 및 특정 작업 분석과 관련된 파일이 포함되어 있습니다. 작업을 실행하려면 하나 이상의 작업 분석이 필요합니다.

사용자가 업로드한 바이너리 "run_doe"를 사용하여 '매개변수 스윕'(때때로 실험 설계(DOE)이라고도 함)을 수행하는 작업 예시에 대한 JSON은 다음과 같습니다.

job_data = { '이름':'DOE 테스트 작업', 'jobvariables':[ { 'name':'index', 'variableType':'Param', 'valueGeneratorType':'FixedRange', 'valueGeneratorSettings':{ 'minvalue ':1, 'maxvalue':10, 'increment':1 } } ], 'jobanalyses':[ { 'analytics':{ 'code':'user_included' }, 'command':'./run_doe', ' hardware':{ 'coresPerSlot':1, 'coreType':'standard' }, 'inputFiles':[ { 'id':'pCTmk' } ] } ] }

API 엔드 포인트
API를 사용하여 Rescale 플랫폼에 파일을 업로드한 다음 작업에 대한 JSON Blob을 구성할 수 있습니다. 그런 다음 관련 API 엔드포인트를 사용하여 작업을 생성, 제출 및 모니터링할 수 있습니다. 모든 API 엔드포인트는 웹을 통해 액세스할 수 있지만 현재 다음과 같이 축소된 API 호출 세트를 지원하는 Python 클라이언트를 구축했습니다. upload_file 다운로드_파일 create_job submit_job get_status get_files. API는 현재 비공개 베타 버전입니다.

API에 액세스하기 위한 토큰을 얻는 데 관심이 있으십니까?

우리 전문가에게 연락하시면 Rescale이 어떻게 귀하의 컴퓨팅을 다음 단계로 끌어올릴 수 있는지 보여줄 것입니다.

비슷한 게시물