NerdGraph는 데이터를 쿼리하고 New Relic 기능에서 구성을 변경하는 데 사용할 수 있는 GraphQL API입니다. 다양한 방법으로 GraphQL을 NerdGraph API로 보낼 수 있습니다. 코드, curl 또는 CLI 요청, NerdGraph API 탐색기에서. 탐색기는 NerdGraph에서 쿼리 및 변형(변경)을 실험할 수 있는 GUI GraphQL 도구(GraphiQL 기반)입니다.
GraphQL을 처음 사용하는 경우 NerdGraph API 탐색기를 통해 GraphQL API에 익숙해지십시오. 이 튜토리얼을 시작하기 전에 API에 대한 개요가 필요한 경우 NerdGraph 만나기: GraphQL API를 확인하십시오.
1단계. NerdGraph API 탐색기 설정
one.newrelic.com > All capabilities > Apps > (NerdGraph API explorer)[https://api.newrelic.com/graphiql] 로 이동합니다.
API 키 드롭다운에서 기존 API 사용자 키를 선택하거나 새 키를 추가합니다.
2단계. 이름 검색을 위한 쿼리 작성
GraphQL API에서 이름을 검색하는 간단한 NerdGraph 쿼리부터 시작하겠습니다.
아래에 기본 쿼리가 표시되지 않으면 쿼리 편집기에서 모든 항목을 지우고 쿼리 탐색기에서 actor
, user
, name
순서대로 필드를 선택합니다.
{ actor { user { name } }}
이 쿼리를 사용하면 user
필드 내에 중첩된 name
필드를 검색하도록 NerdGraph에 요청합니다. user
필드는 사용자 키 의 소유자를 나타내며 user
actor
(API 사용자의 액세스 수준으로 범위가 지정된 모든 데이터의 최상위 항목) 내에 중첩됩니다.
3단계. 쿼리 실행
빨간색 Execute query [쿼리 실행] 버튼을 클릭합니다. 결과는 요청과 거의 동일한 모양을 가집니다. 쿼리 빌더의 모든 필드는 사용 가능한 모든 데이터 유형과 속성을 설명하는 GraphQL 스키마를 구성합니다. 각 필드에 대해 자세히 알아보려면 필드 옆에 있는 돋보기 아이콘을 클릭하십시오.
4단계. 쿼리에 더 많은 필드 추가
이제 쿼리에 더 많은 필드를 추가할 수 있습니다. 가장 간단한 방법은 쿼리 빌더에서 필드를 클릭하는 것입니다. 탐색기는 쿼리에 속성을 넣을 위치를 알고 있습니다. 예제에서 다음 필드를 추가합니다.
- 계정
id
(왼쪽 하단에서 이름을 클릭한 다음 API Keys [API 키를] 클릭하면 이에 대한 값을 찾을 수 있음) email
쿼리를 실행하면 데이터를 과도하게 가져오거나 적게 가져오지 않고 필요한 데이터만 반환됩니다. id
필드에는 인수가 있습니다. 인수 전달은 NerdGraph 쿼리를 맞춤설정하는 강력한 방법입니다. 모든 필드와 객체는 인수를 포함할 수 있으므로 여러 쿼리를 실행하는 대신 필요한 쿼리를 구성하기만 하면 됩니다.
{ actor { user { name email } account(id: INSERT_YOUR_OWN_ACCOUNT_ID) }}
5단계. 돌연변이 실험
GraphQL에서 돌연변이 는 객체를 생성, 업데이트 또는 삭제하여 데이터를 변경할 수 있는 부작용이 있는 쿼리를 실행하는 방법입니다(REST API에서는 일반적으로 CRUD 작업이라고 함).
첫 번째 돌연변이에 대한 준비가 되셨습니까?
편집기에 있는 내용을 지웁니다.
쿼리 빌더를 아래로 스크롤하여
mutation
을 확장합니다.tagging
까지 아래로 스크롤하고taggingAddTagsToEntity
) 선택합니다.다음 필드를 선택합니다.
guid!:
( All entities [모든 엔터티를] 열고 엔터티 레코드에서 ... 아이콘을 클릭한 다음 메타데이터 및 태그 보기를 클릭하여 찾을 수 있습니다.)tags!:
key!:
values:
오류
- 메시지
- 유형
이 경우 엔터티에 사용자 지정 태그를 추가합니다. errors
선택하지 않으면 편집기에서 불평할 것입니다. 변경에는 백엔드에서 작업이 수행되는 방식을 알려주는 방법이 있어야 합니다(실패한 요청은 null 응답을 초래함).
팁
REST와 달리 NerdGraph와 같은 GraphQL API는 부분 응답을 반환할 수 있습니다.예를 들어 여러 엔터티에 태그를 추가하려고 하면 일부 변형은 실패하고 다른 변형은 성공할 수 있습니다. 모두 당신이 얻는 GraphQL 응답에 기록됩니다.
6단계. 터미널에서 NerdGraph 쿼리 시도
만족하는 NerdGraph 쿼리를 구축했으며 다른 곳에서 테스트하려고 한다고 가정해 보겠습니다.코드 준비 쿼리 및 변형을 캡처하려면:
- 도구 메뉴를 선택합니다.
- 쿼리를 curl 호출 또는 New Relic CLI 명령으로 복사합니다.
$# curl version$curl https://api.newrelic.com/graphql \> -H 'Content-Type: application/json' \> -H 'Api-Key: API_KEY_REDACTED' \> --data-binary '{"query":"{\n actor {\n user {\n name\n email\n }\n account(id: 12345678)\n }\n}\n", "variables":""}'$
$# New Relic CLI version$newrelic nerdgraph query '{$ actor {$ user {$ name$ email$ }$ account(id: 12345678)$ }$}'
다음 단계
이제 NerdGraph 쿼리를 작성하고 테스트하는 기본 사항을 알았습니다. 하지만 이를 클라이언트 또는 서버 코드로 변환하는 방법은 무엇입니까?GraphQL 코드 생성기 와 같은 솔루션은 NerdGraph 쿼리를 구현을 위한 코드로 변환하는 데 도움이 될 수 있습니다.
쿼리 작성기에서 필드를 클릭하고 개체를 확장하여 더 복잡한 쿼리를 만들어 보십시오(변이는 계정에 변경 사항을 초래할 수 있으므로 주의).아래 섹션에서 몇 가지 예시 요청을 확인하세요.
NerdGraph에 대한 자세한 내용과 개발자 커뮤니티의 다른 프로젝트를 탐색하려면 Explorer의 Hub 게시물 을 확인하세요.
기타 예시 요청
다음은 도움이 될 수 있는 NerdGraph 요청의 몇 가지 다른 예입니다.