Aperçu public
La Blob Storage API pour les notebooks est actuellement en version préliminaire publique. Cette fonctionnalité est fournie conformément à nos politiques de version préliminaire.
L’API New Relic Notebooks vous permet de créer, lire, mettre à jour et supprimer des notebooks par programmation, y compris le contenu complet de leurs blocs (NRQL requêtes, texte). Les notebooks sont stockés sous forme de blobs versionnés, ce qui signifie que chaque sauvegarde produit une nouvelle révision immuable que vous pouvez récupérer plus tard.
Utilisez cette API pour :
- Automatiser la création de notebooks à partir de modèles d'incident, de runbooks ou de pipelines CI/CD
- Synchroniser le contenu du notebook à partir du contrôle de version ou d'outils de création externes
- Créer des intégrations qui remplissent les notebooks de manière programmatique lors des investigations
Important
Notebooks utiliser plusieurs API
La surface de l’API Notebooks est divisée entre deux systèmes :
Blob Storage API gère le contenu des notebooks (blocs, historique des versions)
NerdGraph gère les opérations au niveau de l'entité (liste, renommage, tags, métadonnées d'organisation)
Cette séparation est intentionnelle. Le Blob Storage API est optimisé pour le transfert de contenu de fichiers et le versioning ; NerdGraph est optimisé pour les requêtes d'entité structurées et les mutations.
Prérequis
- Un compteNew Relic avec une clé d'API utilisateur
- Votre ID d’organisation New Relic
- Les permissions appropriées pour gérer les notebooks
Authentification
Toutes les requêtes d'API Notebooks nécessitent une authentification à l'aide d'une clé d'API utilisateur New Relic.
Générer une clé d'API :
- Allez sur one.newrelic.com
- Cliquez sur votre nom dans le coin supérieur droit
- Select API Keys
- Créez une clé User (et non une clé Browser ou clé de licence)
Inclure dans les en-têtes de requête :
$Api-Key: NRAK-YOUR-USER-API-KEYConseil
Le Blob Storage API prend également en charge le contexte de connexion, de sorte que lors de l’appel de l’API depuis une interface utilisateur authentifiée en tant qu’utilisateur New Relic, l’en-tête Api-Key n’est pas requis.
Point de terminaison de base
https://blob-api.service.newrelic.com/v1/ePour les comptes de la région UE, utilisez :
https://blob-api.service.eu.newrelic.com/v1/eOpérations sur le contenu du notebook
Opérations sur les entités (NerdGraph)
Les opérations au niveau de l’entité telles que le listage, le renommage et le tag utilisent NerdGraph plutôt que Blob Storage API.
Lister tous les notebooks
query listAllNotebooks { actor { entityManagement { entitySearch(query: "type='NOTEBOOK'") { entities { id name } } } }}Conseil
La création d’entité est entièrement transactionnelle, un notebook est donc immédiatement disponible via l’API. Cependant, si vous listez les notebooks via la requête actor.entitySearch legacy, il peut y avoir un court délai de propagation entre la création et l’apparition du notebook dans les résultats de la liste.
Renommer un notebook
mutation changeNotebookName { entityManagementUpdateNotebook( id: "<entity guid>" notebookEntity: { name: "<new name>" } ) { entity { name } }}Mettre à jour les tags du notebook
Important
Les mises à jour de tags sont une opération de remplacement. Vous devez inclure l’ensemble complet des tags, même ceux qui ne changent pas — tout tag omis de la mutation sera supprimé.
mutation updateNotebookTags { entityManagementUpdateNotebook( id: "<entity guid>" notebookEntity: { tags: [ { key: "<key>", values: "<value>" } { key: "<key>", values: "<value>" } ] } ) { entity { name tags { key values } } }}Récupérez votre identifiant d'organisation
Vous aurez besoin de l’ID de votre organisation pour tous les appels Blob Storage API :
query getOrgId { actor { organization { id } }}Meilleures pratiques
- Stockez les GUID d’entité : enregistrez le
entityGuidrenvoyé par les opérations de création. Vous en aurez besoin pour lire, mettre à jour et supprimer des notebooks. - Valider le JSON avant le téléversement : assurez-vous que la charge de votre notebook est un JSON valide et conforme au schéma
versionavant l’envoi. - Utilisez des noms descriptifs : les noms de notebooks doivent être uniques au sein d’une organisation, choisissez donc des noms qui indiquent clairement leur objectif (par exemple,
prod-checkout-investigationplutôt quenotebook-1). - Inclure tous les tags lors de la mise à jour : les mises à jour de tags remplacent l'ensemble complet de tags. Lisez toujours les tags existants avant de les modifier.
- Récupérez rapidement : l'historique des versions n'est conservé que pendant 1 jour. Si vous avez besoin d'un historique à long terme, archivez le contenu du notebook dans votre propre stockage à chaque mise à jour.
- Sécurisez votre clé d'API : N'exposez jamais votre clé d'API utilisateur dans du code côté client ou des dépôts publics.
- Vérifiez les codes d'état HTTP : L'API renvoie 2xx pour les opérations réussies, 404 pour non trouvé, et d'autres codes d'état pour les erreurs.
Réponses d'erreur courantes
Code d'état | Description | Solution |
|---|---|---|
| Paramètres de requête invalides, JSON malformé dans le corps ou l’en-tête
, ou le nom du notebook existe déjà dans cette organisation | Vérifiez le format de la requête, les valeurs d’en-tête et que le nom du notebook est unique au sein de votre organisation |
| Clé API manquante ou invalide | Vérifiez que votre clé API utilisateur est valide et incluse dans l'en-tête
|
| Notebook ou version introuvable | Vérifiez que le GUID de l'entité est correct |
| En-tête
incorrect | Utiliser
|
Ressources supplémentaires
- Aperçu des notebooks — comment utiliser les notebooks dans l’interface utilisateur New Relic
- Introduction à NerdGraph — Référence de l'API GraphQL
- API Blob Storage pour les configurations d’agent — API sœur utilisée par Fleet Control
- Clés API New Relic — types de clés et gestion