Cómo acceder a los datos analíticos con la API REST.
Antes de empezar
API Connect Las llamadas a la API REST se autentican utilizando un token de portador en la cabecera de autorización. Utilice las credenciales del kit de herramientas para solicitar una señal portadora. Las credenciales del kit de herramientas se pueden encontrar en la
UI del Gestor de API:
- Inicie sesión en la interfaz de usuario de API Manager .
- En la página de inicio, pulse el mosaico Descargar kit de herramientas .
- Descargue las credenciales del kit de herramientas.
- Abra el archivo
credentials.json descargado:...
"toolkit": {
"endpoint": "https://mgmt.api.example.com/api",
"client_id": "7409693f-f726-48b4-8909-7c0d26f13e81",
"client_secret": "5feeb0be-17f8-41a4-96d6-d40f33d69ef6"
},
...
Tome nota de toolkit.client_id, toolkit.client_secrety toolkit.endpoint de este archivo. Utilice estos valores para obtener la señal portadora.
Procedimiento
- Cree una clave de API. Para obtener más información sobre cómo crear una clave API, consulte Gestión de claves API REST de plataforma.
- Utilice su clave API para solicitar un token de portador:
curl -v -k -X POST -d '{"api_key": "<api_key>", "client_id": "<client_id>", "client_secret": "<client_secret>", "grant_type": "api_key"}' -H 'Content-Type: application/json' -H 'Accept: application/json' https://<management_server_platform_api_endpoint>/api/token
Donde:
<api-key> es la clave API que ha generado.
<client_id> es el ID de cliente de la sección "toolkit" del archivo credentials.json , o el que le proporcione su administrador de la nube API Connect.
<client_secret> es el secreto del cliente de la sección "toolkit" del archivo credentials.json , o el que le proporcione su administrador de la nube API Connect.
La señal portadora se devuelve en la propiedad access_token:
{
"access_token": "<bearer_token>",
"token_type": "Bearer",
"expires_in": 28800
}
Anote el valor expires_in , que es el número de segundos antes de que caduque la señal. Después de la caducidad, debe solicitar una nueva señal portadora.
- Utilice el token de portador devuelto para llamar a la API REST de análisis.
# This call to /orgs/<provider_organization>/events requires a bearer token that was requested with provider org credentials:
curl -k -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<platform api endpoint>/analytics/<analytics_service>/orgs/<provider_organization>/events'
{
"total": 300,
"search_time": 3,
"events": [...]
}
# This call to the consumer API: orgs/<consumer org>/dashboard, requires a bearer token that was requested with consumer org credentials.
curl -k -H 'X-IBM-Consumer-Context: <provider org>.<catalog>' -H 'Authorization: Bearer <bearer_token>' -X GET --url 'https://<consumer api endpoint>/consumer-analytics/orgs/<consumer org>/dashboard'
{
"search_time": 16,
"status_codes": {
"total": 300,
"data": [...]
},
"min_response_time": {
"data": ...
...
Donde:
<platform api endpoint> es el toolkit.endpoint, pero con el /api al final que se sustituye por /analytics para acceder a las API analíticas.
<analytics_service> es el nombre del servicio de análisis.
- <bearer_token> es el token del paso 2. No encierre la señal entre comillas.
- Utilice parámetros de consulta para filtrar sus resultados y mostrar solo ciertos campos.
Si desea buscar registros de eventos de análisis específicos, añada los parámetros de consulta a la llamada a la API. Por ejemplo, para obtener solo datos de eventos para llamadas a una API y un producto específicos:
/events?api_name=<api name>&product_name=<product name>
Para obtener solo ciertos campos de registro de eventos de API en la salida, agregue el
fields parámetro de consulta. Por ejemplo, para obtener solo el nombre de la API y la hora de la llamada:
/events?fields=api_name,datetime
Para solicitar solo eventos antes o después de un tiempo determinado, utilice el
start y
end parámetros. Por ejemplo:
/events?start=2024-07-11T10:01:00.000Z&end=2024-07-11T10:02:00.000Z
Qué hacer a continuación
La documentación completa de la API REST de análisis se encuentra aquí: API REST de análisis.