Functions의 핵심 기능 중 하나는 Foundry 온톨로지에 통합된 데이터에 쉽게 액세스할 수 있다는 점입니다. 온톨로지는 그룹의 데이터에 대한 의미론적 모델링을 제공하여, 구조화된 데이터에 쉽게 액세스하고 로직을 유즈케이스 간에 재사용하는 것을 쉽게 만듭니다.
:::callout{title=사전 준비 사항} 이 튜토리얼은 TypeScript 저장소를 생성하고 설정했다고 가정합니다. 아직 하지 않았다면, 먼저 시작하기 튜토리얼을 완료하세요. :::
Function에서 사용하려는 모든 오브젝트 또는 링크 유형은 저장소가 포함된 프로젝트로 가져와야 합니다. 리소스 가져오기 사이드바를 클릭하면 프로젝트로 가져온 오브젝트 유형이 표시됩니다.
그룹에 Airport와 Flight 오브젝트가 없을 수 있습니다. 따라서 사용 가능한 오브젝트 유형을 이용해 실습하세요.
추가적인 오브젝트 유형을 가져오려면, 리소스 가져오기 사이드바에서 추가 버튼을 선택해야 합니다. 온톨로지가 선택되지 않았다면 온톨로지를 선택하도록 요청받게 됩니다. 적어도 하나의 온톨로지 유형을 가져왔다면, 선택된 온톨로지는 자동으로 해결됩니다.
온톨로지가 선택되면 검색 모달이 나타납니다. 온톨로지는 그룹에서 사용 가능한 오브젝트 유형에 따라 다릅니다. 연결되는 몇 가지 오브젝트 유형과 링크 유형을 선택해보세요. 이 예에서는 Airport와 Flight 오브젝트를 가져올 뿐만 아니라 그 사이의 링크 유형도 가져옵니다.
선택 확인을 선택하여 온톨로지 유형을 프로젝트로 가져옵니다. Code Assist가 자동으로 재시작되어 가져온 새로운 오브젝트와 링크 유형을 반영하여 코드 바인딩을 재생성합니다.
이제 코드에서 @foundry/ontology-api
패키지에서 온톨로지 유형을 가져올 수 있습니다. 비공개 온톨로지를 사용하는 경우, 패키지 이름은 대신 @foundry/ontology-api/<ontology-api-name>
이 됩니다.
비공개 온톨로지를 사용하는 경우, 다음 예제에서 모든 @foundry/ontology-api
를 @foundry/ontology-api/your-private-ontology-api-name-here
로 바꾸세요.
다음으로, 방금 가져온 오브젝트 유형을 사용하여 Function을 작성해봅시다. 코드는 사용 가능한 오브젝트 유형, 속성, 링크 유형에 따라 달라집니다. 코드 탭으로 다시 전환하고 방금 추가한 오브젝트 유형 중 하나를 가져와 보세요:
Copied!1 2
// "@foundry/ontology-api"에서 Airport를 import(불러오기) 합니다. import { Airport } from "@foundry/ontology-api";
그런 다음, 해당 오브젝트를 입력으로 받는 Function을 작성합니다:
Copied!1 2 3 4 5
@Function() // 공항 객체에 대한 함수를 정의합니다. public myObjectFunction(airport: Airport) { airport. // airport 객체에 대한 조작을 여기에 작성하세요. }
Code Assist가 시작되면, 사용 가능한 속성 및 링크 유형에 대한 자동완성을 보려면 간단히 airport.
을 입력하십시오:
이 예시에서는, Airport의 city
와 country
필드를 사람이 읽을 수 있는 위치로 결합하기 위해 템플릿 문자열을 사용합니다:
Copied!1 2 3 4 5 6
@Function() public airportLocation(airport: Airport): string { // 공항의 위치를 반환하는 함수입니다. // 이 함수는 주어진 공항의 도시와 국가를 문자열 형식으로 반환합니다. return `${airport.city}, ${airport.country}`; }
자체 온톨로지를 기반으로 API를 실험하고 오브젝트 유형에 따라 값을 반환하는 Function을 작성하세요.
Functions 도우미를 열고, Live Preview로 전환한 다음 위에서 작성한 Function을 선택하세요. 오브젝트 기반의 Function을 Live Preview에서 실행하려면 오브젝트 유형에 대한 지원 데이터소스를 가져와야 합니다. Run 버튼 옆의 경고 아이콘을 클릭하세요:
그런 다음 대화 상자를 사용하여 오브젝트 유형에 대한 지원 데이터소스를 가져옵니다:
데이터소스를 가져온 후 오브젝트를 선택하고 Run을 클릭하여 결과를 확인하세요:
Live Preview에서 오브젝트 유형의 권한은 TypeScript 저장소의 오브젝트 유형별 기본 데이터소스에 대한 권한에 의해 결정됩니다. 알림을 생성하는 Functions을 테스트하는 경우, 수신자의 권한이 적용되지 않습니다. 이 때문에 알림을 생성하는 Function은 Live Preview에서는 성공할 수 있지만 Foundry에서 액션으로 사용될 때 실패할 수 있습니다.
액션용 알림 구성에 대해 자세히 알아보세요.
코드를 커밋하고 Branches 탭을 사용하여 새 태그를 게시하여 새 Function을 게시하세요. Function이 게시되면 Functions 도우미를 사용하여 테스트할 수 있습니다.
Function이 게시되면 플랫폼 전체의 다른 애플리케이션에서 사용할 수 있습니다.
이 튜토리얼은 오브젝트에서 Functions를 사용하여 할 수 있는 작업의 일부분만을 다룹니다. 자세한 내용은 다음 리소스를 참고하세요: