Foundry 함수
함수(Functions)는 대시보드나 업무 앱에서 사용할 로직을 서버의 격리된 실행 환경에서 수행합니다. TypeScript와 Python으로 객체 속성을 읽고 링크를 탐색하거나 온톨로지 편집을 정의할 수 있습니다.
사용 목적
Workshop 변수에 객체 집합이나 계산값을 제공하고, 표의 함수 기반 열이나 차트 집계를 구성할 수 있습니다. 여러 객체를 바꾸는 편집 로직은 함수 기반 액션으로 연결합니다.
Slate의 화면에 반환할 정보를 서버에서 계산하거나 Quiver의 사용자 지정 지표 및 집계를 제공할 수도 있습니다. 외부 시스템으로 객체 정보를 보강하고, 언어 모델 등의 결과를 점진적으로 스트리밍하는 용도로 사용할 수 있습니다. Python 함수는 Pipeline Builder의 사이드카 컨테이너에서도 사용할 수 있습니다.
개발 시작
언어별 지원과 입출력 자료형을 확인한 뒤 공통 개발 절차와 TypeScript v1, TypeScript v2 또는 Python 시작 절차를 따릅니다. VS Code 작업 공간에서는 Palantir 확장으로 가져오기, 미리보기와 게시를 관리할 수 있습니다.
TypeScript v2와 Python의 로컬 OSDK는 리소스 가져오기에 맞춰 코드 바인딩을 생성합니다. TSv1에서 TSv2로 이전할 때는 객체 식별, 검색 조건과 집계 결과의 차이를 반영해야 합니다. 권한은 작성 저장소와 실행 사용자를 나누어 확인해야 합니다.
쿼리 함수는 API 이름으로 읽기 전용 로직을 공개합니다. 소비 코드의 입력 이름과 게시 버전을 맞추고, 결과 스트리밍, 사용자에게 보여 줄 오류와 실행 계측을 구성할 수 있습니다.
별칭으로 환경별 문자열 설정, 모델과 소스를 참조할 수 있습니다. 외부 API와 웹훅의 인증 및 전송 설정, Platform SDK와 언어 모델 프록시의 호출 조건도 함께 구성합니다.
단위 테스트에서 객체와 검색 응답, 시각 및 UUID를 준비하여 함수 로직과 편집을 검사합니다. 오류 유형과 값 누락을 구분하고 디버거의 중단점 및 변수 조회로 실패한 경로를 조사할 수 있습니다.
모델 함수는 게시한 온라인 추론을 호출하며, 함수 인터페이스는 소비 앱이 요구하는 입력과 출력 계약을 정의합니다. 알림 함수는 액션의 메시지 내용과 수신자를 각각 구성합니다.
첨부 파일은 파일을 읽어 객체 편집에 사용하거나 새 파일을 객체에 연결할 때 사용합니다. 미디어 API는 미디어 집합의 내용과 메타데이터를 읽고 이미지 변환, PDF 처리와 OCR을 수행합니다.
플랫폼 활용과 운영
함수 사용에서 Workshop, 액션, Slate와 Quiver 및 Automate의 호출 차이를 확인합니다. 게시 후에는 런타임과 한도, 지표와 모니터링을 관리하고 성능과 자원 사용량을 점검합니다. 액션 호출과 확장 토큰 등의 권한은 Functions settings의 별도 허용 목록을 사용합니다.
버전 관리에서는 호환되는 변경의 범위와 브랜치의 목표 버전을 정합니다. 전용 배포는 저장소의 함수들이 공유할 실행 자원을 구성하며, Marketplace에서는 설치 시 버전과 API 이름의 충돌 및 소비 앱의 업그레이드를 관리합니다.
기초 실습으로 Palantir Learning의 Your first Ontology function 과정을 사용할 수 있습니다.