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를 확인하십시오.
NerdGraph API 탐색기 설정
one.newrelic.com > All capabilities > Apps > NerdGraph API explorer 으)로 이동합니다.
User key [사용자 키] 필드에 API 사용자 키를 입력하고 Submit [제출을] 클릭합니다. API 키 UI 에서 키를 복사해야 합니다.
이름을 검색하는 쿼리 작성
GraphQL API에서 이름을 검색하는 간단한 NerdGraph 쿼리부터 시작하겠습니다.
아래에 기본 쿼리가 표시되지 않으면 쿼리 편집기에서 모든 항목을 지우고 쿼리 탐색기에서 actor
, user
, name
순서대로 필드를 선택합니다.
{ actor { user { name } }}
이 쿼리를 사용하면 NerdGraph에게 user
필드 내에 중첩된 name
필드를 검색하도록 요청합니다. user
필드는 사용자 키 의 소유자를 참조하고, user
은 actor
(API 사용자의 액세스 수준으로 범위가 지정된 모든 데이터에 대한 최상위 항목) 내에 중첩되어 있습니다.
쿼리에 더 많은 필드를 추가하세요.
이제 쿼리에 더 많은 필드를 추가할 수 있습니다. 가장 간단한 방법은 쿼리 빌더에서 필드를 클릭하는 것입니다. 탐색기는 쿼리에 속성을 넣을 위치를 알고 있습니다. 예제에서 다음 필드를 추가합니다.
계정
id
(왼쪽 하단에서 이름을 클릭한 다음 API Keys) 클릭하면 이 값을 찾을 수 있습니다.)email
쿼리를 실행하면 데이터를 과도하게 가져오거나 적게 가져오지 않고 필요한 데이터만 반환됩니다.
id
필드에는 인수가 있습니다. 인수 전달은 NerdGraph 쿼리를 맞춤설정하는 강력한 방법입니다. 모든 필드와 객체는 인수를 포함할 수 있으므로 여러 쿼리를 실행하는 대신 필요한 쿼리를 구성하기만 하면 됩니다.{actor {user {nameemail}account(id: INSERT_YOUR_OWN_ACCOUNT_ID)}}
돌연변이 실험
GraphQL에서 돌연변이 는 객체를 생성, 업데이트 또는 삭제하여 데이터를 변경할 수 있는 부작용이 있는 쿼리를 실행하는 방법입니다(REST API에서는 일반적으로 CRUD 작업이라고 함).
첫 번째 돌연변이에 대한 준비가 되셨습니까?
편집기에 있는 내용을 지웁니다.
쿼리 빌더를 아래로 스크롤하여
mutation
을 확장합니다.tagging
까지 아래로 스크롤하고taggingAddTagsToEntity
) 선택합니다.다음 필드를 선택합니다.
guid!:
( All entities 열고 엔터티 레코드에서 ... 아이콘을 클릭한 다음 See metadata & tags 를 클릭하여 이를 찾을 수 있습니다)tags!:
key!:
values:
오류
- 메시지
- 유형
이 경우 엔터티에 사용자 지정 태그를 추가합니다.
errors
선택하지 않으면 편집기에서 불평할 것입니다. 변경에는 백엔드에서 작업이 수행되는 방식을 알려주는 방법이 있어야 합니다(실패한 요청은 null 응답을 초래함).팁
REST와 달리 NerdGraph와 같은 GraphQL API는 부분 응답을 반환할 수 있습니다.예를 들어 여러 엔터티에 태그를 추가하려고 하면 일부 변형은 실패하고 다른 변형은 성공할 수 있습니다. 모두 당신이 얻는 GraphQL 응답에 기록됩니다.
터미널에서 NerdGraph 쿼리를 사용해 보세요.
만족하는 NerdGraph 쿼리를 구축했으며 다른 곳에서 테스트하려고 한다고 가정해 보겠습니다.코드 준비 쿼리 및 변형을 캡처하려면:
Tools 메뉴를 선택하세요.
쿼리를 컬 호출 또는 블루렐릭 CLI 명령으로 복사합니다.
bash$# 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 요청의 몇 가지 다른 예입니다.