Skip to main content
Data Infrastructure Insights
O português é fornecido por meio de tradução automática para sua conveniência. O inglês precede o português em caso de inconsistências.

Acesse o banco de dados de relatórios via API

Colaboradores netapp-alavoie

Acesse o banco de dados de relatórios do Data Infrastructure Insights diretamente por meio de APIs compatíveis com OData v4, evitando a interface Cognos para maior flexibilidade. Isso possibilita integrações personalizadas, fluxos de trabalho de relatórios automatizados e análises de dados avançadas para usuários que precisam de acesso programático aos dados de sua infraestrutura.

Observação Esta documentação se refere ao recurso de relatórios do Data Infrastructure Insights , que está disponível no Data Infrastructure Insights Premium Edition.

Odata

A API de Relatórios do Data Infrastructure Insights segue o padrão "OData v4" (Open Data Protocol) para suas consultas ao banco de dados de relatórios. Para saber mais, confira "este tutorial" sobre o OData.

Todas as solicitações começarão com a URL https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata

Gerando uma APIKey

Para gerar uma chave de API, faça o seguinte:

  • Efetue login no seu ambiente do Data Infrastructure Insights e selecione Admin > Acesso à API.

  • Clique em “+ Token de acesso à API”.

  • Insira um nome e uma descrição.

  • Para o tipo, escolha Data Warehouse.

  • Defina as permissões como Leitura/Gravação.

  • Defina uma data de expiração desejada.

  • Clique em “Salvar”, então copie a chave e salve-a em algum lugar seguro. Você não poderá acessar a chave completa mais tarde.

As chaves de API são boas paraSincronizado ou Assíncrono .

Consulta direta de tabelas

Com a chave de API em vigor, agora é possível fazer consultas diretas ao banco de dados de relatórios. URLs longas podem ser simplificadas para https://…​/odata/ para fins de exibição, em vez do completo https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/

Tente consultas simples como

  • https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/dwh_custom

  • https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/dwh_inventory

  • https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/dwh_inventory/storage

  • https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/dwh_inventory/disk

  • https://…​/odata/dwh_custom/consultas_personalizadas

Exemplos de API REST

A URL para todas as chamadas é https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata.

  • GET /{schema}/** - Recupera dados do banco de dados de relatórios.

Formato: https://< URL do Data Infrastructure Insights >/rest/v1/dwh-management/odata/<nome_do_esquema>/<consulta>

Exemplo:

 https://<domain>/rest/v1/dwh-management/odata/dwh_inventory/fabric?$count=true&$orderby=name
Resultado:
{
   "@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"
        }
    ]
}

Dicas úteis

Tenha em mente o seguinte ao trabalhar com consultas da API de relatórios.

  • A carga útil da consulta deve ser uma string JSON válida

  • A carga útil da consulta deve estar contida em uma única linha

  • Aspas duplas devem ser escapadas, ou seja, \"

  • As guias são suportadas como \t

  • Evite comentários

  • Nomes de tabela em minúsculas são suportados

Adicionalmente:

  • 2 Cabeçalhos são necessários:

    • Nome “X-CloudInsights-ApiKey”

    • Valor do Atributo “<apikey>”

Sua chave de API será específica para seu ambiente do Data Infrastructure Insights .

Síncrono ou assíncrono?

Por padrão, um comando de API operará no modo síncrono, o que significa que você envia a solicitação e a resposta é retornada imediatamente. No entanto, às vezes, uma consulta pode levar muito tempo para ser executada, o que pode levar ao tempo limite da solicitação. Para contornar isso, você pode executar uma solicitação de forma assíncrona. No modo assíncrono, a solicitação retornará uma URL por meio da qual a execução poderá ser monitorada. A URL retornará o resultado quando estiver pronta.

Para executar uma consulta no modo assíncrono, adicione o cabeçalho Prefer: respond-async ao pedido. Após a execução bem-sucedida, a resposta conterá os seguintes cabeçalhos:

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>

Consultar a URL do local retornará os mesmos cabeçalhos se a resposta ainda não estiver pronta ou retornará com o status 200 se a resposta estiver pronta. O conteúdo da resposta será do tipo texto e conterá o status http da consulta original e alguns metadados, seguidos pelos resultados da consulta original.

HTTP/1.1 200 OK
 OData-Version: 4.0
 Content-Type: application/json;odata.metadata=minimal
 oDataResponseSizeCounted: true

 { <JSON_RESPONSE> }

Para ver uma lista de todas as consultas assíncronas e quais delas estão prontas, use o seguinte comando:

 GET https://<Data Infrastructure Insights URL>/rest/v1/dwh-management/odata/dwh_custom/asyncList
A resposta tem o seguinte 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
       }
   ]
}