Skip to main content
Data Infrastructure Insights
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Accedere al database dei report tramite API

Collaboratori

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.

Nota 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
       }
   ]
}