API REST de análisis

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:
  1. Inicie sesión en la interfaz de usuario de API Manager .
  2. En la página de inicio, pulse el mosaico Descargar kit de herramientas .
  3. Descargue las credenciales del kit de herramientas.
  4. 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

  1. 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.
  2. 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.

  3. 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.
  4. 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 elfields 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 elstart yend 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.