GraphQL API
Panther GraphQL API를 사용하여 Panther 엔터티와 상호작용하기
개요
Panther는 공개 GraphQL-over-HTTP API를 제공하므로 일반적인 HTTP 요청을 사용해 GraphQL 쿼리를 작성하고 API를 호출할 수 있습니다. GraphQL에 대한 자세한 내용은 GraphQL 문서.
현재 GraphQL API를 통해 다음 엔터티들과 상호작용할 수 있습니다:
추가 작업은 REST API.
GraphQL 쿼리 이해하기
Panther GraphQL 스키마 발견
GraphQL 스키마를 찾는 방법은 세 가지가 있습니다:
옵션 1 (가장 빠름): 공개적으로 제공되는 GraphQL 스키마 파일 다운로드
옵션 2 (가장 사용자 친화적): Panther의 API 플레이그라운드
옵션 3 (도구 및 서비스에 가장 적합): 인트로스펙션 쿼리 를 GraphQL 엔드포인트에 대해 수행
옵션 1: 공개적으로 제공되는 GraphQL 스키마 파일 다운로드
GraphQL 스키마 파일의 최신 버전을 다운로드할 수 있습니다 여기.
옵션 2: GraphQL Playground 사용
Panther의 API Playground는 API에서 지원하는 내용을 탐색하고 확인하는 데 사용자 친화적인 방법입니다. 사용 방법에 대해서는 API Playground 문서 를 참조하세요. 이를 발견성 메커니즘으로 사용하는 방법에 대한 정보가 있습니다.
옵션 3: 인트로스펙션 쿼리 수행하기
인트로스펙션 쿼리는 대부분의 서드파티 라이브러리가 파싱할 수 있는 형식으로 모든 GraphQL API의 엔터티를 반환합니다. 이 발견성 옵션은 다른 라이브러리나 서비스가 Panther API가 지원하는 작업과 타입을 인식하게 하고자 할 때 유용합니다. 이러한 라이브러리들은 일반적으로 자체 버전의 인트로스펙션 쿼리를 발행하므로 API URL만 가리키면 됩니다.
보안상의 이유로 인트로스펙션 쿼리는 권한이 필요한 작업입니다. 즉, 인트로스펙션이 작동하려면 HTTP 호출에 X-API-Key 헤더를 추가하고 그 값으로 API 토큰 를 제공해야 합니다.
인트로스펙션 쿼리의 실제 형태는 사용자 정의할 수 있습니다. 제한된 엔터티 집합을 요청하거나 스키마에 대한 모든 가능한 정보를 요청할 수 있습니다. 예를 들어 다음과 같은 쿼리는 스키마 정보의 모든 조각을 반환합니다:
Panther GraphQL API 사용 방법
1단계: Panther GraphQL API URL 식별하기
GraphQL API URL을 찾으려면:
Panther 콘솔 오른쪽 상단에서 톱니바퀴 아이콘을 클릭한 다음, API 토큰.
페이지 상단에서 API URL.
GraphQL API URL 구조는 Panther 배포 모델에 따라 다릅니다:
SaaS 배포:
https://api.{YOUR_PANTHER_DOMAIN}.runpanther.net/public/graphqlCloud Connected 와 셀프 호스팅 배포:
https://{YOUR_PANTHER_DOMAIN}/v1/public/graphql

2단계: API 토큰 생성하기
3단계: Panther GraphQL API 호출하기
를 사용해 테스트하는 것 외에도, GraphQL-over-HTTP API를 호출하는 방법은 두 가지가 있습니다: API 플레이그라운드옵션 1 (권장): 전송 관련 복잡성을 추상화해주는 GraphQL 클라이언트를 설치하고 사용하기
옵션 2: 수동으로 HTTP 호출 구성하기
GraphQL 클라이언트
(권장) 모든 GraphQL 작업은 본질적으로 단순한 HTTP 호출이지만, GraphQL 클라이언트를 사용하면 더 사용자 친화적이라는 장점이 있습니다.
다음 사용을 권장합니다:
graphql-request
NodeJS 프로젝트용gqlPython 프로젝트용go-graphql-clientGo 프로젝트용아래는 시스템에서 첫 페이지의 경보를 가져오기 위해 GraphQL 쿼리를 구성하는 예제들입니다:
// npm install graphql graphql-request
예시 요청:
curl 'YOUR_PANTHER_GRAPHQL_API_URL' \
엔드포인트는 하나뿐입니다.
HTTP 작업은 항상
POST입니다.
API 작업은 요청 본문에 정의됩니다.
한 후 Panther에서 볼 수 있기까지 몇 분 기다려야 할 수 있습니다.요청 본문은작업
한 후 Panther에서 볼 수 있기까지 몇 분 기다려야 할 수 있습니다.다음 키들을 포함합니다: 항상 query- 실행되어야 하는 GraphQL 작업을 정의하는 GraphQL 문자열variables- 쿼리에 전달될 수 있는 선택적 변수 집합operationName- 이 작업에 대한 선택적 "별칭"작업이 데이터를 반환하는 경우 항상 반환할 필드 집합을 선택해야 합니다.
참고: 한 GraphQL 작업에서 다른 작업으로 변경되는 유일한 부분은 HTTP의 본문뿐입니다.
Note: The only thing that would change from one GraphQL operation to another is the body of the HTTP 한 후 Panther에서 볼 수 있기까지 몇 분 기다려야 할 수 있습니다..
Last updated
Was this helpful?

