FileMaker 2024 Data API를 사용하여 REST 및 cURL 사용 살펴보기

FileMaker 2024(v21)를 통해 Claris는 데이터 관리 효율성과 보안을 강화하는 데 목적을 둔 강력한 기능과 개선 사항을 공개했습니다. 이 블로그 게시물 시리즈는 REST와 cURL에 초점을 맞춘 FileMaker의 데이터 API(FM DAPI)의 발전을 다루며, 이는 개발자에게 애플리케이션에서 더 큰 제어력과 유연성을 제공합니다.


FileMaker의 Data API를 사용하여 다양한 REST 및 cURL 함수를 배우고 실험하는 데 도움이 되는 튜토리얼 파일(bzTrainer-FMDAPI)을 제공합니다. 탐험을 즐기세요!

FileMaker Data API: 간략한 역사

이 블로그 게시물 시리즈와 포함된 튜토리얼 파일은 Darren Burgess 와 Siroos Jafary를 포함한 여러 Beezwax 개발자가 함께 만들었습니다 . Darren과 저희 팀은 FileMaker 16에서 처음 소개된 이후부터 최신 버전까지 FileMaker Data API를 배우고 사용하기 위한 리소스를 공유해 왔습니다.

다음은 이 블로그 게시물 시리즈에 대한 링크입니다. FileMaker를 처음 사용하든 모든 것이 어떻게 작동하는지 다시 보고 싶든, 이를 통해 FileMaker Data API(FM DAPI)의 지난 몇 년 간의 진화를 검토하는 데 도움이 될 수 있습니다.

  • FileMaker 16 – “베타”의 FM DAPI
  • FileMaker 17 – 10개 엔드포인트를 갖춘 FM DAPI 공식 릴리스
  • FileMaker 18 – 5개의 새로운 메타데이터 엔드포인트와 더욱 향상된 설명서
  • FileMaker 19 – 1개의 새로운 인증 엔드포인트; Execute FileMaker Data API스크립트 단계
  • FileMaker 2023(v20) – 날짜 형식; Save Records as PDF버그 수정
  • FileMaker 2024(v21)Execute FileMaker Data API – 향상된 유효성 검사, 관리, 오류 처리 및 cURL을 통한 CRUD ; 사용 제한이 제거되었습니다.

FileMaker Data API를 처음 사용하는 경우 FileMaker Server 내의 Connectors > FileMaker Data API – General Settings 에서 “Enabled” 설정을 전환하는 것을 잊지 마세요 . 이렇게 하면 서버에 호스팅된 파일에 대해 HTTP 요청을 할 수 있습니다.

REST 데이터 API 향상

FileMaker 2024의 REST Data API는 기능과 사용성을 향상시키는 몇 가지 중요한 업데이트를 받았습니다. 새로운 기능을 자세히 살펴보겠습니다.

Execute FileMaker Data API 스크립트 단계를 사용하여 레코드 데이터를 수정하는 작업 쓰기

스크립트 Execute FileMaker Data API단계는 이제 다양한 쓰기 작업을 지원하여 개발자가 레코드를 생성, 업데이트, 삭제 또는 복제할 수 있습니다. 작업 키를 원하는 작업으로 설정하면 개발자는 API를 통해 직접 레코드 데이터를 효율적으로 관리할 수 있습니다. 이 향상 기능은 데이터 조작 프로세스를 간소화하여 레이아웃 간에 전환할 필요 없이 프로그래밍 방식으로 데이터베이스를 유지 관리하고 업데이트하는 것을 더 쉽게 만듭니다.

참고: metaData actionin은 Execute FileMaker Data API테이블과 레이아웃에 대한 정보를 검색하는 데만 사용됩니다.

데이터 입력 검증 재정의

데이터를 쓸 때 새로운 선택 사항인 ” options.entrymode” 키를 사용하면 개발자가 “데이터 입력 검증 중 사용자가 재정의할 수 있도록 허용” 옵션을 재정의할 수 있습니다. 이 키를 “user”로 설정하여 필드의 데이터 검증 요구 사항을 따르거나 “script”로 설정하여 필드의 데이터 검증 요구 사항을 무시합니다. 마찬가지로 ” options.prohibitmode” 키는 “데이터 입력 중 값 수정 금지” 설정을 준수할지 또는 우회할지 여부를 결정합니다. “script”를 사용하여 자동 데이터 입력 규칙을 무시하거나 “user”를 사용하여 규칙을 준수합니다. 개발자는 데이터 입력 작업 중에 검증이 처리되는 방식을 제어할 수 있습니다. 이 기능은 데이터 무결성 및 사용자 입력을 관리하는 데 유연성을 제공합니다.

향상된 오류 정보

오류 처리가 디버깅과 스크립트의 원활한 실행을 보장하는 데 필수적입니다. 업데이트된 Execute FileMaker Data API 스크립트 단계는 이제 Get(LastError), Get(LastErrorDetail), Get(LastErrorLocation) 함수를 통해 적절한 오류 정보를 반환합니다. 이러한 함수는 오류에 대한 자세한 통찰력을 제공하여 개발자가 문제를 신속하게 식별하고 해결할 수 있도록 합니다.

위의 개선 사항 외에도 이제 FileMaker Data API와 FileMaker WebDirect에서 실행하는 스크립트에서 “오류 로깅 설정” 스크립트 단계가 지원되어 문제를 빠르게 식별하고 해결할 수 있습니다.

관리 콘솔 개선

이제 관리 콘솔의 대시보드 탭에 FileMaker Data API 연결 수가 표시되고 Windows 성능 모니터에 FileMaker Data API에 대한 클라이언트 카운터가 추가되었습니다.

제한 없는 연간 API 사용 한도

FileMaker Data API와 OData API의 연간 사용 제한이 제거되었습니다.

FileMaker Server v21.1.1 부터 API 사용에 대한 제한이 전혀 없습니다.

해결된 문제

이 버전에서는 안정성과 기능을 개선하기 위해 여러 가지 문제가 해결되었습니다.

  • 날짜 형식 오류: 이전에는 Execute FileMaker Data API 스크립트 단계에서 생성 또는 업데이트 작업을 사용할 때 ” ” 키에 대한 값을 지정하면 dateformats오류가 반환되었습니다. 이 문제는 해결되어 더 매끄러운 날짜 처리가 보장됩니다.
  • 예기치 않은 종료: 콜론으로 끝나는 필드를 참조하는 Execute FileMaker Data API 스크립트 단계를 실행할 때 FileMaker Pro가 예기치 않게 종료되는 문제가 수정되었습니다. 이 개선 사항은 애플리케이션의 안정성을 향상시킵니다.
  • 서버에서 스크립트 수행: FileMaker Data API에서 호출한 스크립트에서 Perform Script on Server(PSoS) 단계는 데이터베이스 액세스를 잃었고 해당 단계가 완료되기 전에 API 세션이 종료되면 실패했습니다. 이 문제는 이제 해결되었습니다.
  • 파일 크기 단위: FileMaker Data API 사용 통계는 일관된 파일 크기 단위를 사용하지 않고 “x TB 또는 y GB”와 같이 일치하지 않는 단위로 표시되는 경우가 종종 있었습니다.
  • HTTP 오류 처리: 이전 버전에서 FileMaker Data API는 레코드 찾기 요청이 FileMaker 오류 401(“요청과 일치하는 레코드가 없습니다”)을 트리거했을 때 HTTP 500 상태를 잘못 반환했습니다. 이제 대신 빈 결과 집합이 있는 HTTP 200 상태를 올바르게 반환합니다.
  • SSL 인증서의 호스트 이름이 일치하지 않습니다. URL 스크립트 단계에서 ” ” cURL 옵션을 사용하여 삽입했을 때 location, 다른 호스트 이름으로 리디렉션하는 호스트에서 SSL 인증서의 호스트 이름이 지정된 URL과 일치하지 않는다는 오류가 발생했습니다.
  • fmdapi.log 헤더 문제: fmdapi.log 파일의 헤더가 레코드 열과 일치하지 않았습니다. FileMaker Server를 업그레이드할 때 수정 사항이 적용되도록 하려면 기존 fmdapi.log 파일을 삭제하거나 이름을 바꾸세요.
  • Windows 및 macOS: 활성 Data API 클라이언트 연결이 있을 때 FileMaker Data API 프로세스를 중지하면 fmwipd FileMaker Server 프로세스가 예기치 않게 종료되었습니다.

cURL 향상

FileMaker 2024에서는 스크립트 단계에서 사용할 수 있는 cURL 옵션이 개선되어 Insert from URL안전한 파일 전송과 AWS 통합 기능이 확장되었습니다.

보안 파일 전송 프로토콜(SFTP) 지원

cURL 옵션은 이제 SFTP를 지원하여 안전한 파일 전송이 가능합니다. 또한 SFTP 공개 키 인증을 위한 pubkey 옵션이 포함되어 파일 전송 작업의 보안을 강화합니다. 이 기능은 서버와 FileMaker 애플리케이션 간의 안전한 통신이 필요한 개발자에게 필수적입니다.

AWS Signature 버전 4 인증

URL 스크립트에서 삽입 단계는 이제 ” --aws-sigv4” cURL 옵션을 지원하여 HTTPS 헤더에서 Amazon Web Services(AWS) V4 서명 인증을 활성화합니다. 이 옵션은 특히 AWS 서비스를 사용하는 개발자에게 유용합니다. 안전하고 인증된 통신을 보장하기 때문입니다. 그러나 이 옵션은 Ubuntu 20에서 FileMaker Server가 파일을 호스팅하는 경우 지원되지 않는다는 점에 유의하는 것이 중요합니다.

자세한 내용은 지원되는 cURL 옵션 | Claris FileMaker Pro 도움말을 참조하세요 .

AWS V4 서명 인증을 사용하려면 공급자에 대한 문자열과 선택적으로 지역 및 서비스를 지정합니다. 또한 “ —user”를 사용하여 “ ”를 지정합니다 access_key_id:secret_access_key. 사용 가능한 매개변수는 “ <provider1[:provider2[:region[:service]]]>”입니다.

bBox 플러그인 의 사용자 정의 함수 예시

FileMaker의 기능을 활용하기 위해 bBox 유틸리티 플러그인에 사용자 정의 함수를 도입했습니다. 이 함수는 FileMaker Server에서 지원하는 세 가지 API인 Admin API, Data API, OData API에 필요한 URL을 계산하도록 설계되어 통합 작업을 보다 원활하고 효율적으로 수행할 수 있습니다.

더 자세히 알아보려면 다양한 코드 라이브러리 사용을 용이하게 하여 FileMaker 솔루션을 확장하는 무료 유틸리티 플러그인인 bBox에 대한 자세한 블로그 게시물을 확인하세요 . macOS와 Ubuntu Linux를 모두 지원하며 Python, JavaScript, PHP, Ruby, AppleScript, Bash/Zsh/sh, XPath 및 DuckDB를 사용하는 기능이 포함되어 있습니다.

튜토리얼 파일: REST 및 cURL을 사용하는 FileMaker 2024(v21) 데이터 API

대화형 예제는 튜토리얼 파일에서 확인하세요.

bzTrainer-FMDAPI-2024 다운로드

사용자 이름:  admin
비밀번호:  admin

모든 기능을 사용하려면 데모 파일이 FileMaker Server 2024(v21.x 이상)에 호스팅되어야 합니다.

이는 FileMaker 2024의 데이터 API와 cURL 옵션에 대한 이해를 돕기 위해 디자인된 간단한 데모 파일입니다.

이 파일은 자체로 REST 요청을 보내므로 Data API와 cURL 기능에 대한 좋은 데모가 됩니다. 데모를 최대한 활용하려면 스크립트, 특히 execute rest request.을 확인하세요. 각 레이아웃의 오른쪽에 있는 필드에서 요청 결과를 연구할 수도 있습니다.

이 데모에서는 FileMaker 2024의 스크립트 단계를 사용합니다. 데이터 API를 쿼리하는 대체 방법으로 스크립트를 Execute FileMaker Data API확인하세요 .execute data api

이 스크립트 단계에 대한 자세한 내용은 FileMaker 데이터 API 실행 | Claris FileMaker Pro 도움말을 참조하세요 .

시작하기

  • 1. FileMaker Server 2024(v21.x 이상)에서 이 파일을 호스팅합니다.
  • 2. 서버의 URL 또는 IP 주소를 입력하세요. 예: 192.168.1.50 또는 hostname.your-domain.com
  • 3. API에 액세스할 FileMaker 사용자 계정의 계정 이름과 비밀번호를 입력합니다. 이 파일의 기본값은 이미 입력되어 있습니다.
  • 4. .fmp12 확장자를 제외하고 액세스하려는 파일 이름을 입력하세요(기본값은 이 파일입니다).

자세한 내용은 다운로드에 포함된 README 파일을 참조하세요.


FileMaker Data API와 OData 비교

FileMaker Data API(FMDAPI)는 출시 이후 많은 발전을 이루었지만, 이를 대체할 수 있는 OData도 있습니다. 이에 대해서는 다른 블로그 게시물에서도 다루겠습니다 .

FMDAPI와 FileMaker OData API는 모두 웹 서비스와의 인터페이싱을 위한 방법을 제공하지만, 서로 다른 기능과 사용 사례가 있습니다. 현재 버전을 기준으로 한 간단한 비교는 다음과 같습니다.

FileMaker 데이터 API(FM DAPI)

FileMaker Data API는 웹 서비스가 FileMaker Server 또는 FileMaker Cloud에 호스팅된 데이터베이스와 상호 작용할 수 있도록 하는 RESTful 서비스입니다. 레코드 생성, 업데이트 및 삭제, 웹 애플리케이션에 널리 사용되는 JSON 형식의 데이터 검색과 같은 데이터베이스 작업을 수행하도록 설계되었습니다. 이 API는 FileMaker 자체 환경과의 통합이 특히 강력하여 FileMaker 스크립트와 레이아웃을 사용하여 데이터베이스 상호 작용을 구성하고 자동화할 수 있습니다.

FileMaker OData API

반면 FileMaker OData API를 사용하면 다른 OData 호환 데이터 소스와 함께 FileMaker 데이터에 액세스할 수 있습니다 .

  • OData는 HTTP와 같은 표준 웹 기술을 사용하여 CRUD 작업(생성, 읽기, 업데이트, 삭제)을 통해 데이터 세트를 쿼리하고 조작하는 균일한 방법을 제공합니다.
  • OData를 사용하면 FileMaker 스키마를 수정하여 테이블과 인덱스를 만들고 삭제할 수도 있습니다. 이는 계정에 정의된 액세스 권한에 따라 달라집니다.
  • OData는 필터링, 정렬, 데이터 페이징과 같은 다양한 기능을 지원하여 다른 서비스 및 플랫폼과의 통합을 포함하여 다양한 유형의 애플리케이션에 다양하게 사용할 수 있습니다.
  • FileMaker OData는 여러 데이터베이스 시스템과 상호 작용해야 하거나 ODBC 및 JDBC와 같은 기존 데이터베이스 연결 옵션을 대체해야 하는 애플리케이션에 적합합니다.
  • FileMaker OData API는 클라이언트에 추가 드라이버나 소프트웨어를 설치할 필요가 없으므로 배포와 유지 관리가 간소화됩니다.

전반적으로 FileMaker OData API는 여러 데이터베이스 시스템과 상호 작용해야 하거나 ODBC 및 JDBC와 같은 기존 데이터베이스 연결 옵션을 대체해야 하는 애플리케이션에 적합합니다.

다른 블로그 게시물에서는 OData와 FileMaker OData API에 대해 더 자세히 다루고 있습니다 .


FMDAPI와 FileMaker OData API의 기능을 설명했습니다.

성능은 사용된 방법(FMDAPI 대 OData), 호출되거나 쿼리되는 API나 시스템, 데이터가 전송, 거래 또는 변환되는 방식 등 여러 요인에 따라 달라질 수 있습니다.

질문이 있으시거나 도움이 필요하시면 언제든지 Beezwax로 문의해 주시기 바랍니다 .

Leave a Reply

Your email address will not be published. Required fields are marked *

Scroll to top