IBM Cloud Docs
GraphiQL 쿼리 작성하기

GraphiQL 쿼리 작성하기

GraphiQL 클라이언트를 사용하여 GraphQL 쿼리를 작성하고 실행할 수 있습니다.

쿼리 설정 및 데이터 집합 선택하기

GraphiQL 의 편집 창을 클릭하고 다음 기본 쿼리를 추가한 다음, zone-id 를 Cloudflare 영역 ID로 대체합니다

GraphiQL 창에 기본 쿼리 추가하기
GraphiQL 창에 기본 쿼리 추가하기

영역의 태그를 찾으려면 Cloudflare 계정에 로그인하고 태그를 가져올 사이트를 선택하세요. Cloudflare 대시보드 개요 페이지에서 오른쪽 사이드바의 API 섹션으로 스크롤합니다. 영역 및 계정 태그가 표시됩니다.

쿼리 작성을 지원하기 위해 GraphiQL 클라이언트에는 단어 완성 기능이 있습니다. 쿼리(이 경우 ' zones 아래 줄)에 커서를 삽입하고 기능을 활성화할 값을 입력하기 시작합니다. 예를 들어 ' firewall'을 입력하면 방화벽 정보를 반환하는 데이터 세트가 팝업 메뉴에 표시됩니다:

쿼리 작성을 위한 GraphiQL 단어 완성 도우미
쿼리 작성을 위한GraphiQL 단어 완성 도우미

목록 하단의 텍스트에는 노드가 반환하는 데이터에 대한 간단한 설명이 표시됩니다.

쿼리하려는 데이터 집합을 선택하고 삽입합니다. 목록에서 항목을 선택하거나 화살표 키를 사용하여 스크롤한 후 Return 키를 누릅니다.

필수 매개변수 제공

필드 위에 마우스를 가져가면 데이터 집합을 설명하는 도구 설명이 표시됩니다. 이 예제에서 ' firewallEventsAdaptive ' 노드 위로 마우스를 가져가면 여기에 표시된 설명이 표시됩니다:

필드 위에 마우스를 올리면 설명이 표시됨
필드 위에 마우스를 올리면 설명이 표시됨

필수 매개변수를 포함하여 데이터 집합에 대한 정보를 표시하려면 데이터 집합 이름(파란색 텍스트)을 선택합니다. 문서 탐색기가 열리고 데이터 집합에 대한 세부 정보가 표시됩니다:

데이터 세트 세부 정보를 표시하는 문서 탐색기 창
데이터 세트 세부 정보를 표시하는 문서 탐색기 창

' filter ' 및 ' limit 인수는 유형 정의(금색 텍스트) 뒤에 느낌표(!)로 표시된 대로 필수입니다. 이 예제에서는 ' orderBy 인수가 필요하지 않지만, 사용할 경우 ' ZoneFirewallEventsAdaptiveOrderBy' 유형의 값이 필요합니다.

지원되는 필터 필드 목록을 찾아보려면 문서 탐색기에서 필터 유형 정의(금색 텍스트)를 선택합니다. 이 예제에서 유형은 ' ZoneFirewallEventsAdaptiveFilter_InputObject' 입니다:

GraphiQL 필터 필드 검색
GraphiQL 필터 필드 검색
'

다음 예제 쿼리는 ' firewallEventsAdaptive '(및 나머지 GraphQL 노드)에 필요한 ' filter ' 및 ' limit ' 인수를 보여줍니다:

GraphiQL 쿼리 인자의 예
GraphiQL 쿼리 인자의 예

쿼리에 사용되는 필드 정의

쿼리에 사용할 수 있는 필드를 찾아보려면 데이터 집합 이름과 표시되는 도구 설명에 커서를 갖다 대면 됩니다. 그런 다음 데이터 유형 정의(금색 텍스트)를 선택합니다:

데이터 세트 위에 마우스를 올리면 사용 가능한 필드가 표시됩니다
' 데이터 세트 위에 마우스를 올리면 사용 가능한 필드가 표시됩니다

문서 탐색기가 열리고 필드 목록이 표시됩니다:

필드 목록을 표시하는 문서 탐색기 창
필드 목록을 표시하는 문서 탐색기 창

읽으려는 데이터 필드를 추가하려면 매개변수의 닫는 괄호 뒤에 여는 중괄호({)를 입력한 다음 가져오려는 필드의 이름을 입력하기 시작합니다. 단어 완성을 사용하여 필드를 선택합니다.

다음 예제 쿼리는 ' action, ' datetime' , ' clientRequestHTTPHost' , ' userAgent ' 필드를 반환합니다:

반환 필드가 있는 쿼리 예시
반환 필드가 있는 쿼리 예시
반환 필드가 있는 쿼리 예시

쿼리하려는 모든 필드를 입력한 후 재생 버튼을 선택하여 쿼리를 제출합니다. 응답 창에는 구성된 GraphQL API 엔드포인트에서 가져온 데이터가 포함됩니다:

GraphiQL 응답 창
GraphiQL 응답 창
'

변수 대체

GraphiQL 클라이언트를 사용하면 값에 자리 표시자를 사용하고 페이로드의 ' variables ' 부분을 통해 값을 제공할 수 있습니다.

자리 표시자 이름은 ' $ 문자로 시작해야 하며 쿼리에서 자리 표시자를 사용할 때는 따옴표로 묶을 필요가 없습니다.

자리 표시자의 값은 ' $ ' 문자 없이 자리 표시자의 주소를 지정하는 JSON 형식으로 제공해야 합니다. 예를 들어, 플레이스홀더 ' $zoneTag'의 경우 GraphQL API는 제공된 변수 객체의 ' zoneTag ' 필드에서 값을 읽습니다.

플레이스홀더에 값을 입력하려면 변수 쿼리 창을 선택하고 변수를 정의하는 JSON 개체를 편집합니다.

이 예제 쿼리에서는 ' zoneTag 쿼리 변수를 사용하여 영역 ID를 나타냅니다:

GraphiQL 쿼리 변수의 예
GraphiQL 쿼리 변수의 예