피드로 돌아가기
Power Pages Client API: Building with $pages.webAPI and $pages.agent
Dev.toDev.to
Frontend

Power Pages Client API 기반의 Dataverse CRUD 및 Agent 연동 아키텍처 구현

Power Pages Client API: Building with $pages.webAPI and $pages.agent

Ateina2026년 4월 13일7intermediate

Context

기존 Power Pages 환경에서 서버 사이드 렌더링 중심의 제한적인 상호작용 구조를 개선하여 동적인 사용자 경험을 제공하려는 요구 발생. 특히 Dataverse 레코드의 실시간 조회 및 생성, AI Agent와의 비동기 통신을 클라이언트 사이드에서 직접 처리하는 구조적 전환 필요.

Technical Solution

  • onPagesClientApiReady 함수를 통한 API 초기화로 브라우저 환경에 따른 Callback 및 Promise/await 기반의 유연한 진입점 확보
  • webAPI.retrieveMultipleRecords 메서드에 $filter$expand 쿼리 옵션을 적용하여 연관 테이블의 데이터를 한 번의 요청으로 최적화하여 호출
  • webAPI.createRecord를 통한 클라이언트 사이드 데이터 생성 로직 구현 및 Site Settings 설정을 통한 테이블별 접근 권한 제어
  • $pages.agent.SendActivity 인터페이스를 활용하여 Agent Schema Name 기반의 비동기 메시지 전송 및 Response/Error Subscriber를 통한 상태 관리 설계
  • Liquid 템플릿 엔진을 통한 user.id 주입으로 클라이언트 API 호출 시 사용자 컨텍스트를 유지하는 하이브리드 데이터 바인딩 적용

- Dataverse API 호출 전 Webapi/<table name>/enabled 및 fields 설정 확인 - EntitySetName 사용 시 Logical Name과의 차이점 인지 및 정확한 스키마 명칭 적용 - AI Agent 연동 시 라이선스 및 게시 권한 설정의 사전 검토 - 비동기 API 호출 시 사용자 경험 유지를 위한 Loading 상태 처리 및 Error Subscriber 구현

원문 읽기