Accedere al database dei report tramite API
La potente API di Cloud Insights consente agli utenti di eseguire query direttamente nel database dei report di Cloud Insights, senza utilizzare l'ambiente di reporting di Cognos.
|
Questa documentazione fa riferimento alla funzione di creazione di rapporti Cloud Insights, disponibile nell'edizione Premium di Cloud Insights. |
OData
L'API di reporting Cloud Insights segue "OData v4" (Open Data Protocol) standard per la query del database di Reporting. Per ulteriori informazioni o per saperne di più, consulta l'articolo "questo tutorial" Su OData.
Tutte le richieste inizieranno con l'URL /https://<Cloud Insights URL>/REST/v1/dwh-management/odata
Generazione di una apiKey
Scopri di più "API Cloud Insights".
Per generare una chiave API, procedere come segue:
-
Accedere all'ambiente Cloud Insights e selezionare Amministratore > accesso API.
-
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 fino a https://…/odata/ per scopi di visualizzazione piuttosto che per l'intero https://<Cloud Insights URL>/REST/v1/dwh-management/odata/
Prova semplici query come
-
Https://<Cloud Insights URL>/REST/v1/dwh-management/odata/dwh_custom
-
Https://<Cloud Insights URL>/REST/v1/dwh-management/odata/dwh_inventory
-
Https://<Cloud Insights URL>/REST/v1/dwh-management/odata/dwh_inventory/storage
-
Https://<Cloud Insights URL>/REST/v1/gestione dwh/odata/inventario dwh/disco
Esempi di API REST
L'URL per tutte le chiamate è /https://<Cloud Insights URL>/REST/v1/dwh-management/odata.
-
GET /{schema}/** - Recupera i dati dal database dei report.
Formato: /https://<Cloud Insights URL>/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 Cloud 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://<Cloud 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://<Cloud Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncList La risposta ha il seguente formato:
{ "queries" : [ { "Query": "https://<Cloud Insights URL>/rest/v1/dwh-management/odata/dwh_custom/heavy_left_join3?$count=true", "Location": "https://<Cloud Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncStatus/<token>", "Finished": false } ] }