Accedere al database dei report tramite API
La potente API di Data Infrastructure Insights consente agli utenti di interrogare direttamente il database di Data Infrastructure Insights Reporting, senza passare attraverso l'ambiente Cognos Reporting.
Questa documentazione fa riferimento alla funzionalità di reporting di approfondimento sull'infrastruttura dati, disponibile in Data Infrastructure Insights Premium Edition. |
OData
L'API di report di Data Infrastructure Insights segue "OData v4"lo standard (Open Data Protocol) per la query del database di report. Per ulteriori informazioni o per saperne di più, consulta "questo tutorial"OData.
Tutte le richieste iniziano con l'URL https://<Data Infrastructure Insights URL>/REST/v1/dwh-management/odata
Generazione di una apiKey
Ulteriori informazioni su "API Data Infrastructure Insights".
Per generare una chiave API, procedere come segue:
-
Accedere all'ambiente Data Infrastructure Insights e selezionare Admin > API Access.
-
Fare clic su "+ API Access Token".
-
Immettere un Nome e una Descrizione.
-
Per tipo, scegliere Data Warehouse.
-
Impostare le autorizzazioni come lettura/scrittura.
-
Impostare una data di scadenza desiderata.
-
Fare clic su "Save" (Salva), quindi copiare la chiave e salvarla in un luogo sicuro. Non sarà possibile accedere alla chiave completa in un secondo momento.
Gli APIkeys sono buoni per Sync o Async.
Query diretta delle tabelle
Con la chiave API in uso, sono ora possibili query dirette del database di Reporting. Gli URL lunghi possono essere semplificati in https://…/odata/ per scopi di visualizzazione, anziché l'URL completo di approfondimento dell'infrastruttura https://<Data>/REST/v1/dwh-management/odata/
Prova semplici query come
-
URL di approfondimento sull'infrastruttura https://<Data>/REST/v1/dwh-management/odata/dwh_custom
-
URL di approfondimento sull'infrastruttura https://<Data>/REST/v1/dwh-management/odata/dwh_inventory
-
URL di approfondimento sull'infrastruttura https://<Data>/REST/v1/dwh-management/odata/dwh_inventory/storage
-
URL di approfondimento sull'infrastruttura https://<Data>/REST/v1/gestione dwh/odata/dwh_inventari/disco
-
https://…/odata/dwh_custom/custom_queries
Esempi di API REST
L'URL per tutte le chiamate è URL di approfondimento dell'infrastruttura https://<Data>/REST/v1/dwh-management/odata.
-
GET /{schema}/** - Recupera i dati dal database dei report.
Formato: URL di approfondimento sull'infrastruttura https://<Data>/REST/v1/dwh-management/odata/<schema_name>/<query>
Esempio:
https://<domain>/rest/v1/dwh-management/odata/dwh_inventory/fabric?$count=true&$orderby=name Risultato:
{ "@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" } ] }
Suggerimenti utili
Quando si utilizzano le query API di reporting, tenere presente quanto segue.
-
Il payload della query deve essere una stringa JSON valida
-
Il payload della query deve essere contenuto in una singola riga
-
Le virgolette doppie devono essere escapate, ad esempio "
-
Le schede sono supportate come
-
Evitare i commenti
-
Sono supportati i nomi delle tabelle in minuscolo
Inoltre:
-
Sono richieste 2 intestazioni:
-
Nome "X-CloudInsights-apiKey"
-
Valore attributo "<apikey>"
-
La chiave API sarà specifica per l'ambiente Data Infrastructure Insights.
Sincrono o asincrono?
Per impostazione predefinita, un comando API funziona in modalità sincrona, il che significa che si invia la richiesta e la risposta viene restituita immediatamente. Tuttavia, a volte l'esecuzione di una query potrebbe richiedere molto tempo, con conseguente timeout della richiesta. Per aggirare questo problema, è possibile eseguire una richiesta in modo asincrono. In modalità asincrona, la richiesta restituirà un URL attraverso il quale è possibile monitorare l'esecuzione. L'URL restituirà il risultato quando sarà pronto.
Per eseguire una query in modalità asincrona, aggiungere l'intestazione Prefer: respond-async
alla richiesta. Una volta eseguita correttamente, la risposta conterrà le seguenti intestazioni:
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>
L'interrogazione dell'URL della posizione restituirà le stesse intestazioni se la risposta non è ancora pronta o restituirà lo stato 200 se la risposta è pronta. Il contenuto della risposta sarà di tipo text e contiene lo stato http della query originale e alcuni metadati, seguiti dai risultati della query originale.
HTTP/1.1 200 OK OData-Version: 4.0 Content-Type: application/json;odata.metadata=minimal oDataResponseSizeCounted: true { <JSON_RESPONSE> }
Per visualizzare un elenco di tutte le query asincrone e di quali sono pronte, utilizzare il seguente comando:
GET https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncList La risposta ha il seguente formato:
{ "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 } ] }