Accéder à la base de données de rapports via l'API
La puissante API de Data Infrastructure Insights permet aux utilisateurs d'interroger directement la base de données de rapports Data Infrastructure Insights, sans passer par l'environnement de reporting Cognos.
Cette documentation fait référence à la fonctionnalité de reporting Data Infrastructure Insights, disponible dans Data Infrastructure Insights Premium Edition. |
OData
L'API de génération de rapports Data Infrastructure Insights suit "OData v4"la norme (Open Data Protocol) pour l'interrogation de la base de données Reporting. Pour plus d'informations ou pour en savoir plus, consultez "ce tutoriel"OData.
Toutes les demandes commenceront par l'url https://<Data Infrastructure Insights URL>/REST/v1/dwh-management/odata
Génération d'une clé APIKey
En savoir plus sur "API Data Infrastructure Insights".
Pour générer une clé API, procédez comme suit :
-
Connectez-vous à votre environnement Data Infrastructure Insights et sélectionnez Admin > API Access.
-
Cliquez sur "+ jeton d'accès à l'API ".
-
Entrez un nom et une description.
-
Pour le type, choisissez Data Warehouse.
-
Définir les autorisations comme lecture/écriture.
-
Définissez une date d'expiration de désirs.
-
Cliquez sur “Enregistrer”, puis copiez la clé et enregistrez-la quelque part en toute sécurité. Vous ne pourrez plus accéder à la clé complète ultérieurement.
Les APIkeys sont bons pour Sync ou Async.
Requête directe des tables
Une fois la clé API en place, les requêtes directes de la base de données de rapports sont désormais possibles. Les URL longues peuvent être simplifiées vers https://…/odata/ pour l'affichage plutôt que l'URL complète https://<Data Infrastructure Insights>/REST/v1/dwh-management/odata/
Essayez des requêtes simples comme
-
URL d'informations sur l'infrastructure https://<Data>/REST/v1/dwh-management/odata/dwh_custom
-
URL d'informations sur l'infrastructure https://<Data>/REST/v1/dwh-management/odata/dwh_Inventory
-
URL d'informations sur l'infrastructure https://<Data>/REST/v1/dwh-management/odata/dwh_Inventory/Storage
-
URL de https://<Data Infrastructure Insights>/REST/v1/dwh-management/odata/dwh_Inventory/disk
-
https://…/odata/dwh_custom/custom_queries
Exemples d'API REST
L'URL de tous les appels est https://<Data Infrastructure Insights URL>/REST/v1/dwh-management/odata.
-
OBTENIR /{schema}/** - récupère les données de la base de données de rapports.
Format : URL de l'analyse de l'infrastructure https://<Data>/REST/v1/dwh-management/odata/<schema_name>/<query>
Exemple :
https://<domain>/rest/v1/dwh-management/odata/dwh_inventory/fabric?$count=true&$orderby=name Résultat :
{ "@odata.context": "$metadata#fabric", "@odata.count": 2, "value": [ { "id": 851, "identifier": "10:00:50:EB:1A:40:3B:44", "wwn": "10:00:50:EB:1A:40:3B:44", "name": "10:00:50:EB:1A:40:3B:44", "vsanEnabled": "0", "vsanId": null, "zoningEnabled": "0", "url": "https://<domain>/web/#/assets/fabrics/941716" }, { "id": 852, "identifier": "10:00:50:EB:1A:40:44:0C", "wwn": "10:00:50:EB:1A:40:44:0C", "name": "10:00:50:EB:1A:40:44:0C", "vsanEnabled": "0", "vsanId": null, "zoningEnabled": "0", "url": "https://<domain>/web/#/assets/fabrics/941836" } ] }
Conseils utiles
Gardez à l'esprit les éléments suivants lorsque vous utilisez des requêtes de l'API de reporting.
-
La charge utile de la requête doit être une chaîne JSON valide
-
La charge utile de la requête doit être contenue dans une seule ligne
-
Les guillemets doivent être échappés, par exemple \"
-
Les onglets sont pris en charge sous la forme \t
-
Évitez les commentaires
-
Les noms de tables en minuscules sont pris en charge
En outre :
-
2 en-têtes sont nécessaires :
-
Nom « X-CloudInsights-ApiKey »
-
Attribut valeur «<apikey> »
-
Votre clé d'API sera spécifique à votre environnement Data Infrastructure Insights.
Synchrone ou asynchrone ?
Par défaut, une commande API fonctionne en mode synchrone, ce qui signifie que vous envoyez la demande et que la réponse est immédiatement renvoyée. Cependant, l'exécution d'une requête peut parfois prendre un certain temps, ce qui peut entraîner la temporisation de la requête. Pour contourner ce problème, vous pouvez exécuter une requête de manière _asynchrone. En mode asynchrone, la demande renvoie une URL par laquelle l'exécution peut être surveillée. L'URL renvoie le résultat lorsqu'il est prêt.
Pour exécuter une requête en mode asynchrone, ajoutez l'en-tête Prefer: respond-async
à la requête. Une fois l'exécution réussie, la réponse contiendra les en-têtes suivants :
Status Code: 202 (which means ACCEPTED) preference-applied: respond-async location: https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncStatus/<token>
Si vous interrogez l'URL de l'emplacement, les mêmes en-têtes seront retournés si la réponse n'est pas encore prête ou si l'état 200 est prêt. Le contenu de la réponse sera de type texte et contient l'état http de la requête d'origine et certaines métadonnées, suivies des résultats de la requête d'origine.
HTTP/1.1 200 OK OData-Version: 4.0 Content-Type: application/json;odata.metadata=minimal oDataResponseSizeCounted: true { <JSON_RESPONSE> }
Pour afficher la liste de toutes les requêtes asynchrones et savoir lesquelles sont prêtes, utilisez la commande suivante :
GET https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncList La réponse a le format suivant :
{ "queries" : [ { "Query": "https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/heavy_left_join3?$count=true", "Location": "https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncStatus/<token>", "Finished": false } ] }