NerdGraph est notre que GraphQL API vous pouvez utiliser pour interroger des données et apporter configuration des modifications dans la New Relic fonctionnalité . Vous pouvez envoyer GraphQL à l'API NerdGraph de différentes manières : à partir de votre code, avec curl ou CLI requests et dans API l'explorateur NerdGraph. L'explorateur est un outil GUI GraphQL (basé sur GraphiQL) où vous pouvez expérimenter des requêtes et des mutations (changements) dans NerdGraph.
Si vous êtes nouveau sur GraphQL, familiarisez-vous avec l'API GraphQL via l'explorateur d'API NerdGraph. Si vous avez besoin d'un aperçu de l'API avant de commencer ce tutoriel, consultez Meet NerdGraph : notre API GraphQL.
Configurer l'explorateur d'API NerdGraph
Allez à one.newrelic.com > All capabilities > Apps > NerdGraph API explorer.
Dans le champ User key , entrez une clé utilisateurAPI et cliquez sur Submit. Vous devrez copier une clé depuis l'UI de clé d'API.
Créez une requête pour récupérer votre nom
Commençons par une simple requête NerdGraph pour rechercher votre nom dans l'API GraphQL.
Si vous ne voyez pas la requête par défaut ci-dessous, effacez tout dans l'éditeur de requête et sélectionnez ces champs dans l'explorateur de requête dans cet ordre : actor
, user
, name
:
{ actor { user { name } }}
Avec cette requête, vous demandez à NerdGraph de récupérer le champ name
, qui est imbriqué dans le champ user
. Le champ user
fait référence au propriétaire de la clé utilisateur et user
est imbriqué dans actor
(l'entrée de niveau supérieur dans toutes les données limitées au niveau d'accès de l'utilisateur de l'API).
Exécuter la requête
Cliquez sur le bouton rouge Execute query . Notez que les résultats ont presque la même forme que la demande. Tous les champs du générateur de requêtes constituent le schéma GraphQL , qui décrit tous les types de données disponibles et leurs attributs. Pour en savoir plus sur chaque champ, cliquez sur l’icône en forme de loupe à côté du champ.

Ajoutez plus de champs à votre requête
Vous pouvez maintenant essayer d’ajouter plus de champs à votre requête. Le moyen le plus simple est de cliquer sur les champs dans le générateur de requêtes. L'explorateur sait où placer l'attribut dans la requête. Dans l'exemple, ajoutez les champs suivants :
Compte
id
(Vous pouvez trouver la valeur de celui-ci en cliquant sur votre nom dans le coin inférieur gauche, puis en cliquant sur API Keys)email
Lorsque vous exécutez la requête, elle renvoie uniquement les données dont vous avez besoin, sans sur-récupération ni sous-récupération des données. Notez que le champ
id
a un argument : passer des arguments est un moyen puissant de personnaliser votre requête NerdGraph. Chaque champ et objet peut contenir des arguments, donc au lieu d'exécuter plusieurs requêtes, vous composez simplement celle dont vous avez besoin.{actor {user {nameemail}account(id: INSERT_YOUR_OWN_ACCOUNT_ID)}}
Expérimenter avec des mutations
Dans GraphQL, les mutations sont un moyen d'exécuter des requêtes avec des effets secondaires qui peuvent modifier les données en créant, en mettant à jour ou en supprimant des objets (dans API REST, elles sont communément appelées opérations CRUD).
Prêt pour votre première mutation ?
Effacer ce qui se trouve dans l'éditeur.
Faites défiler le générateur de requêtes et développez
mutation
.Faites défiler jusqu’à
tagging
et sélectionneztaggingAddTagsToEntity
.Sélectionnez les champs suivants :
guid!:
(Vous pouvez le trouver en ouvrant All entities, en cliquant sur l'icône ... dans votre enregistrement d'entité, puis en cliquant sur See metadata & tags)tags!:
key!:
values:
errors
message
type
Dans ce cas, vous ajoutez une tag personnalisée à une entité. L'éditeur se plaindra si vous ne sélectionnez pas
errors
: les mutations doivent avoir un moyen de vous indiquer comment l'opération a été effectuée dans le backend ( requests ayant échoué entraînent des réponses nulles).Conseil
Contrairement à REST, les API GraphQL comme NerdGraph peuvent renvoyer des réponses partielles. Par exemple, si vous essayez d'ajouter une balise à plusieurs entités, certaines mutations peuvent échouer et d'autres réussir ; tout est enregistré dans la réponse GraphQL que vous obtenez.
Essayez votre requête NerdGraph dans le terminal
Disons que vous avez créé une requête NerdGraph qui vous convient et que vous souhaitez la tester ailleurs. Pour capturer les requêtes et les mutations prêtes pour le code :
Sélectionnez le menu Tools .
Copiez la requête sous forme d’appel curl ou sous forme de commande CLI New Relic .
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)$}$}'
Prochaines étapes
Vous connaissez maintenant les bases de la composition et du test des requêtes NerdGraph, mais comment les transformer en code client ou serveur ? Des solutions telles que le générateur de codeGraphQL peuvent vous aider à transformer la requête NerdGraph en code pour votre implémentation.
Essayez de créer des requêtes plus complexes en cliquant sur des champs et en développant des objets dans le générateur de requêtes (soyez toutefois prudent avec les mutations, car elles pourraient entraîner des modifications de votre compte). Consultez quelques exemples de requests dans la section ci-dessous.
Pour plus d'informations sur NerdGraph et explorer d'autres projets de la communauté des développeurs, consultez les publications d'Explorer's Hub.
Autres exemples requests
Voici quelques autres exemples de requests NerdGraph qui peuvent être utiles :