Analizza i contenuti dei messaggi dell'API utilizzando dati e analisi personalizzati

Stai visualizzando la documentazione di Apigee Edge.
Vai alla sezione Documentazione di Apigee X.
Informazioni

Edge API Analytics raccoglie e analizza un'ampia gamma di informazioni statistiche provenienti da ogni richiesta e risposta API. Queste informazioni vengono raccolte automaticamente e possono quindi essere visualizzate nel o tramite l'API Metrics. Consulta le metriche e dimensione per ulteriori informazioni su queste statistiche.

Potresti anche voler raccogliere dati analitici personalizzati specifici per i proxy API, le app, i prodotti o sviluppatori. Ad esempio, potresti voler raccogliere dati da parametri di query, intestazioni delle richieste il corpo di richieste e risposte o le variabili definite nelle API.

Questo argomento mostra come utilizzare il criterio StatisticsCollector per estrarre i dati analitici personalizzati da una richiesta/risposta API e inviarli ad Edge API Analytics. Quindi, mostra come visualizzare i dati di analisi in un report nell'interfaccia utente di Edge o utilizzando l'API Edge.

Informazioni sull'API Google Book

Questo argomento descrive come acquisire dati analitici personalizzati dalle richieste proxy API al API Google Books. L'API Google Libri ti consente di cercare libri in base a titolo, argomento, autore e altre caratteristiche.

Ad esempio, invia richieste all'endpoint /volumes di eseguire una ricerca per titolo del libro. Trasmetti un singolo parametro di query all'API Books contenente il titolo del libro:

curl https://www.googleapis.com/books/v1/volumes?q=davinci%20code

La chiamata restituisce un array JSON di elementi trovati che corrispondono ai criteri di ricerca. Di seguito è riportato primo elemento array nella risposta (tieni presente che alcuni contenuti sono stati omessi per semplicità):

{
 "kind": "books#volumes",
 "totalItems": 1799,
 "items": [
  {
   "kind": "books#volume",
   "id": "ohZ1wcYifLsC",
   "etag": "4rzIsMdBMYM",
   "selfLink": "https://www.googleapis.com/books/v1/volumes/ohZ1wcYifLsC",
   "volumeInfo": {
    "title": "The Da Vinci Code",
    "subtitle": "Featuring Robert Langdon",
    "authors": [
     "Dan Brown"
    ],
    "publisher": "Anchor",
    "publishedDate": "2003-03-18",
    "description": "MORE THAN 80 MILLION COPIES SOLD ....",
    "industryIdentifiers": [
     {
      "type": "ISBN_10",
      "identifier": "0385504217"
     },
     {
      "type": "ISBN_13",
      "identifier": "9780385504218"
     }
    ],
    "readingModes": {
     "text": true,
     "image": true
    },
    "pageCount": 400,
    "printType": "BOOK",
    "categories": [
     "Fiction"
    ],
    "averageRating": 4.0,
    "ratingsCount": 710,
    "maturityRating": "NOT_MATURE",
    "allowAnonLogging": true,
    "contentVersion": "0.18.13.0.preview.3",
    "panelizationSummary": {
     "containsEpubBubbles": false,
     "containsImageBubbles": false
    },
...
   "accessInfo": {
    "country": "US",
    "viewability": "PARTIAL",
    "embeddable": true,
    "publicDomain": false,
    "textToSpeechPermission": "ALLOWED_FOR_ACCESSIBILITY",
    "epub": {
     "isAvailable": true,
     "acsTokenLink": "link"
    },
    "pdf": {
     "isAvailable": true,
     "acsTokenLink": "link"
    },
...
   }
  }

Nota che diverse aree della risposta sono state evidenziate:

  • Numero di risultati di ricerca
  • Valutazione media del libro
  • Numero di valutazioni
  • Disponibilità di versioni PDF del libro

Le seguenti sezioni descrivono come raccogliere statistiche per queste aree della risposta e anche per il parametro di query q, contenente i criteri di ricerca.

Creare un proxy API per l'API Google Book

Prima di poter raccogliere statistiche per l'API Google Book, devi creare un proxy API Edge che lo chiama. Quindi richiami quel proxy API per effettuare le tue richieste all'API Google Book.

Passaggio 2: crea un proxy API del tutorial per la creazione di un proxy API descrive come creare un proxy che chiama API https://mocktarget.apigee.net. Nota che il proxy descritto in questo tutorial non richiede una chiave API per chiamarla.

Usa la stessa procedura per creare un proxy API per l'endpoint /volumes dell'endpoint API Google Book. Nel passaggio 5 della procedura, quando crei il proxy API, imposta le seguenti proprietà per fare riferimento all'API Google Libri:

  • Nome del proxy: "mybooksearch"
  • Percorso di base del proxy: "/mybooksearch"
  • API esistente: "https://www.googleapis.com/books/v1/volumes"

Dopo aver creato ed eseguito il deployment del proxy, dovresti riuscire a chiamarlo utilizzando un curl comando nel formato:

curl http://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code

dove org_name e env_name specificano l'organizzazione e l'ambiente in cui hai eseguito il deployment del proxy. Ad esempio:

curl http://myorg-test.apigee.net/mybooksearch?q=davinci%20code

Raccogliere dati analitici personalizzati

La raccolta dei dati di analisi da una richiesta API è una procedura in due passaggi:

  1. Estrai i dati di interesse e scrivili in una variabile.

    Tutti i dati passati all'analisi dell'API Edge provengono da valori memorizzati nelle variabili. Alcuni dati vengono archiviati automaticamente nelle variabili flow Edge predefinite, come i valori dei parametri di query passati al proxy API. Consulta la Panoramica delle variabili di flusso per saperne di più sulle variabili di flusso predefinite.

    Utilizza Estrai variabili per estrarre contenuti personalizzati da una richiesta o risposta e scrivere questi dati in una variabile.

  2. Scrivere i dati di una variabile nell'analisi API Edge.

    Utilizzare il criterio di raccolta delle statistiche scrivere dati da una variabile nell'analisi API Edge. I dati possono provenire da Variabili di flusso perimetrale, o variabili create dal criterio Estrai variabili.

Dopo aver raccolto i dati statistici, puoi utilizzare l'interfaccia utente o l'API di gestione Edge per recuperare e filtrare le statistiche. Ad esempio, puoi generare un report personalizzato che mostra la valutazione media per di ogni titolo del libro, dove quest'ultimo corrisponde al valore del parametro di ricerca passato all'API.

Utilizza il criterio Estrai variabili per estrarre dati di analisi

I dati di Analytics devono essere estratti e archiviati in una variabile, ovvero una variabile di flusso predefinita Variabili periferiche o personalizzate da te definite, prima che possano essere trasmesse ad API Analytics. Per scrivere i dati in una variabile, utilizza il criterio Estrai variabili.

Il criterio Estrai variabili può analizzare i payload dei messaggi con espressioni JSONPath o XPath. Per estrarre le informazioni dai risultati di ricerca JSON dell'API Google Book, utilizza un'espressione JSONPath. Ad esempio, per estrarre il valore di averageRating dal primo elemento nel file JSON di risultati, l'espressione JSONPath è:

$.items[0].volumeInfo.averageRating

Dopo che il JSONPath è stato valutato, il criterio Estrai variabili scrive il valore estratto in una variabile.

In questo esempio, viene utilizzato il criterio Estrai variabili per creare quattro variabili:

  • responsejson.totalitems
  • responsejson.ratingscount
  • responsejson.avgrating
  • responsejson.pdf

Per queste variabili, responsejson è la variabile prefisso e totalitems, ratingscount, avgrating e pdf sono i nomi delle variabili.

Il criterio Estrai variabili di seguito mostra come estrarre i dati dalla risposta JSON e scriverli alle variabili personalizzate. Ogni elemento <Variable> utilizza l'attributo name che specifica il nome delle variabili personalizzate e l'espressione JSONPath associata. L'elemento <VariablePrefix> specifica che il prefisso della variabile.

Aggiungi questo criterio al proxy API nella UI di Edge. Se crei il proxy API in XML, aggiungi il criterio a un file in /apiproxy/policies denominato ExtractVars.xml:

<ExtractVariables name="ExtractVars">
    <Source>response</Source>
    <JSONPayload>
        <Variable name="totalitems">
            <JSONPath>$.totalItems</JSONPath>
        </Variable>
        <Variable name="ratingscount">
            <JSONPath>$.items[0].volumeInfo.ratingsCount</JSONPath>
        </Variable>
        <Variable name="avgrating">
            <JSONPath>$.items[0].volumeInfo.averageRating</JSONPath>
        </Variable>
        <Variable name="pdf">
            <JSONPath>$.items[0].accessInfo.pdf.isAvailable</JSONPath>
        </Variable>
    </JSONPayload>
    <VariablePrefix>responsejson</VariablePrefix>
    <IgnoreUnresolvedVariables>true</IgnoreUnresolvedVariables>
</ExtractVariables>

Utilizzare il criterio Raccoglitore statistiche per scrivere dati nel servizio Analytics

Utilizzare il criterio di raccolta delle statistiche scrivere dati da una variabile nell'analisi API Edge. Il criterio della raccolta delle statistiche ha il seguente formato:

<StatisticsCollector>
<DisplayName>Statistics Collector-1</DisplayName>
    <Statistics>
        <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic>
       
    </Statistics>
</StatisticsCollector>

dove:

  • statName specifica il nome che utilizzi per fare riferimento ai dati statistici in un report personalizzato.
  • varName specifica il nome della variabile contenente i dati di analisi da raccogliere. Questa variabile può essere integrata in Edge oppure può essere una variabile personalizzata creata dal criterio Estrai variabili.
  • dataType specifica il tipo di dati registrati come stringa, numero intero, numero in virgola mobile, lungo, doppio o booleano.

    Per i dati di tipo stringa, fai riferimento ai dati statistici come dimensione in un report personalizzato. Per i tipi di dati numerici (numero intero/float/lungo/doppio), fai riferimento al dati statistici come dimensione o una metrica in un report personalizzato.

  • defValue fornisce facoltativamente un valore predefinito per una variabile personalizzata, che viene inviata a Analisi delle API se le variabili non possono essere risolte o se la variabile non è definita.

Nell'esempio riportato di seguito, viene utilizzato il criterio Statistics Collector per raccogliere i dati per le variabili creato dal criterio Estrai variabili. Inoltre, raccogli il valore del parametro di query passato a ogni chiamata API. Fai riferimento ai parametri di query utilizzando il metodo variabile di flusso:

request.queryparam.queryParamName

Per il parametro di query denominato "q" indicalo come:

request.queryparam.q

Aggiungi questo criterio al proxy API nella UI di Edge oppure, se stai creando il proxy API in XML, aggiungi in /apiproxy/policies un file denominato AnalyzeBookResults.xml, con i seguenti contenuti:

<StatisticsCollector name="AnalyzeBookResults">
 <Statistics>
        <Statistic name="totalitems" ref="responsejson.totalitems" type="integer">0</Statistic>
        <Statistic name="ratingscount" ref="responsejson.ratingscount" type="integer">0</Statistic>
        <Statistic name="avgrating" ref="responsejson.avgrating" type="float">0.0</Statistic>
        <Statistic name="pdf" ref="responsejson.pdf" type="boolean">true</Statistic>
        <Statistic name="booktitle" ref="request.queryparam.q" type="string">none</Statistic>
 </Statistics>
</StatisticsCollector>

Collega i criteri al flusso di risposta ProxyEndpoint

Affinché tutto funzioni correttamente, i criteri devono essere collegati al flusso del proxy API nella posizione appropriata. In questo caso d'uso, i criteri devono essere eseguiti dopo che la risposta è stata ricevuta dall'API Google Book. e prima che la risposta venga inviata al cliente richiedente. Di conseguenza, collega i criteri al Risposta ProxyEndpoint PreFlow.

La configurazione di ProxyEndpoint di esempio riportata di seguito esegue prima il criterio denominato ExtractVars per analizzare il messaggio di risposta. Il criterio chiamato AnalyzeBookResults inoltra quindi quelle ad API Analytics:

<ProxyEndpoint name="default">
    ><PreFlow name="PreFlow">
        <Request/>
        <Response>
            <Step>
                <Name>Extract-Vars</Name>
            </Step>
            <Step>
                <Name>AnalyzeBookResults</Name>
            </Step>
        </Response>
    </PreFlow>
 <HTTPProxyConnection>
  <!-- Base path used to route inbound requests to this API proxy -->
  <BasePath>/mybooksearch</BasePath>
  <!-- The named virtual host that defines the base URL for requests to this proxy -->
  <VirtualHost>default</VirtualHost>
 </HTTPProxyConnection>
 <RouteRule name="default">
 <!-- Connects the proxy to the target defined under /targets -->
  <TargetEndpoint>default</TargetEndpoint>
 </RouteRule>
</ProxyEndpoint>

esegui il deployment del proxy API

Dopo aver apportato queste modifiche, devi eseguire il deployment del proxy API che hai configurato.

Compilare i dati di analisi

Dopo aver eseguito il deployment del proxy API, chiama il proxy per compilare i dati in API Analytics. Cosa puoi fare eseguendo questi comandi, ognuno dei quali utilizza un titolo diverso del libro:

Mobey Dick:

curl https://org_name-env_name.apigee.net/mybooksearch?q=mobey%20dick

Il Codice da Vinci:

curl https://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code 

Gone Girl:

curl https://org_name-env_name.apigee.net/mybooksearch?q=gone%20girl  

Il Trono di Spade:

curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones   

Visualizza dati di analisi

Edge offre due modi per visualizzare i dati di analisi personalizzati:

  • La UI di Edge supporta i report personalizzati che ti consentono di visualizzare i dati in un grafico grafico.
  • L'API Metrics ti consente di recuperare i dati di analisi effettuando chiamate REST al l'API Edge. Puoi usare l'API per creare visualizzazioni personalizzate sotto forma di widget personalizzati che che puoi incorporare in portali o app personalizzate.
di Gemini Advanced.

Generare un report di statistiche utilizzando la UI Edge

Report personalizzati ti consentono di visualizzare in dettaglio statistiche dell'API specifiche per vedere i dati esatti che vuoi vedere. Puoi creare un report personalizzato utilizzando una qualsiasi delle metriche e dimensione integrati in Edge. Inoltre, puoi utilizzare qualsiasi dato di analisi che hai estratto utilizzando Criterio StatisticsCollector.

Quando crei un criterio del raccoglitore delle statistiche, devi specificare il tipo di dati raccolti. Per il tipo di dati stringa, fai riferimento ai dati statistici come dimensione in un report personalizzato. Per i tipi di dati numerici (numero intero/float/long/doppio), fai riferimento alla data statistica in un report personalizzato come dimensione o metrica. Per saperne di più, consulta Gestire i report personalizzati.

Generazione di un report personalizzato utilizzando l'UI Edge:

  1. Accedi alla pagina Report personalizzati, come descritto di seguito.

    Edge

    Per accedere alla pagina Report personalizzati utilizzando l'UI Edge:

    1. Accedi a apigee.com/edge.
    2. Seleziona Analizza > Report personalizzati > Report nella barra di navigazione a sinistra.

    Perimetrale classico (Private Cloud)

    Per accedere alla pagina Report personalizzati utilizzando l'UI classica di Edge:

    1. Accedi a http://ms-ip:9000, dove ms-ip è Indirizzo IP o nome DNS del nodo del server di gestione.
    2. Seleziona Analtyics > Report nella barra di navigazione in alto.

  2. Nella pagina Report personalizzati, fai clic su +Report personalizzato.
  3. Specifica un Nome report, ad esempio mybookreport.
  4. Seleziona una metrica integrata, ad esempio Traffico, e una funzione aggregata, come Somma.

    In alternativa, seleziona una delle statistiche di dati numerici create utilizzando il criterio StatisticsCollector. Ad esempio, seleziona ratingscount e una funzione aggregata pari a Somma.

  5. Seleziona una dimensione integrata, ad esempio proxy API o una di la stringa o le statistiche numeriche create mediante il criterio StatisticsCollector.

    Ad esempio, seleziona booktitle. Il report mostrerà la somma di ratingscount per booktitle:

    report personalizzato sui libri
  6. Seleziona Salva. Il report viene visualizzato nell'elenco di tutti i report personalizzati.
  7. Per creare il report, seleziona il nome del report. Per impostazione predefinita, il report mostra i dati relativi all'ultima ora.

  8. Per impostare l'intervallo di tempo, seleziona la visualizzazione della data nell'angolo in alto a destra per aprire il popup del selettore della data.
  9. Seleziona Ultimi 7 giorni. Il report viene aggiornato mostrando la somma delle valutazioni per titolo del libro:

    Grafico report sui libri

Ottieni statistiche utilizzando l'API Edge

Utilizza l'API Edge Metrics alle statistiche sui tuoi dati di analisi personalizzati. Nella richiesta di esempio riportata di seguito:

  • La risorsa dell'URL dopo /stats specifica la dimensione desiderata. In questo esempio, vengono visualizzati i dati per la dimensione booktitle.
  • Il parametro di query select per specificare la metrica da recuperare. Questa richiesta restituisce dati e analisi basati sulla somma di ratingscount.
  • Il parametro timeRange specifica l'intervallo di tempo per i dati restituiti. L'intervallo di tempo è nel formato:

    MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM

La chiamata API completa è:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00" /
-u email:password

Dovresti vedere una risposta nel modulo:

{
  "environments": [
    {
      "dimensions": [
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "5352.0"
              ]
            }
          ],
          "name": "gone girl"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "4260.0"
              ]
            }
          ],
          "name": "davinci code"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "1836.0"
              ]
            }
          ],
          "name": "game of thrones"
        },
        {
          "metrics": [
            {
              "name": "sum(ratingscount)",
              "values": [
                "1812.0"
              ]
            }
          ],
          "name": "mobey dick"
        }
      ],
      "name": "prod"
    }
  ],
  "metaData": {
    "errors": [],
    "notices": [
      "query served by:9b372dd0-ed30-4502-8753-73a6b09cc028",
      "Table used: uap-prod-gcp-us-west1.edge.edge_api_raxgroup021_fact",
      "Source:Big Query"
    ]
  }
}

L'API Edge Metrics ha molte opzioni. Ad esempio, puoi ordinare i risultati in ordine crescente o decrescente. Nell'esempio seguente viene utilizzato l'ordine crescente:

curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&sort=ASC" /
-u email:password

I risultati possono anche essere filtrati specificando i valori delle dimensioni che ti interessano. Nell'esempio riportato di seguito, il report viene filtrato in base ai risultati relativi a "Gone Girl" e "Il Codice da Vinci":

$ curl -X GET "https://api.enterprise.apigee.com/v1/organizations/org_name/environments/env_name/stats/booktitle?select=sum(ratingscount)&timeRange=04/21/2019&2014:00:00~04/22/2019&2014:00:00&filter=(booktitle%20in%20'gone%20girl'%2C%20'davinci%20code')" /
-u email:password

Creazione di variabili di analisi personalizzate con il Generatore di soluzioni

Solution Builder ti consente di creare variabili di analisi personalizzate tramite un nell'interfaccia utente di gestione.

Ti consigliamo di leggere la sezione precedente Raccolta di dati analitici personalizzati, in cui viene spiegato come funzionano le norme relative all'estrazione di variabili e alla raccolta delle statistiche. direttamente per alimentare le variabili personalizzate nell'analisi dell'API Edge. Come vedrai, l'interfaccia utente segue lo stesso pattern, ma offre un modo conveniente per configurare tutto attraverso l'interfaccia utente. Se vuoi, prova l'API Google Books utilizzando l'interfaccia utente anziché modificare e di collegare i criteri manualmente.

La finestra di dialogo Generatore di soluzioni ti consente di configurare le variabili di analisi direttamente nell'interfaccia utente. Questo genera i criteri e li collega automaticamente al proxy API. I criteri estraggono variabili di interesse da richieste o risposte e passare le variabili estratte a Edge e analisi delle API.

Solution Builder crea nuove variabili di estrazione e i criteri del raccoglitore delle statistiche e assegna loro nomi univoci. Solution Builder non consente torna indietro e modifica questi criteri dopo che sono stati creati in una determinata revisione del proxy. A apportare modifiche, modificare i criteri generati direttamente nell'editor dei criteri.

  1. Vai alla pagina Panoramica del proxy nell'interfaccia utente di Edge.
  2. Fai clic su Sviluppa.
  3. Nella pagina Sviluppo, seleziona Raccolta Analytics personalizzata dagli Strumenti. o dal menu Fogli Google. Viene visualizzata la finestra di dialogo Generatore di soluzioni.
  4. Nella finestra di dialogo Solution Builder, devi prima configurare due criteri: Estrai variabili e Raccoglitore delle statistiche. Quindi, configurerai dove collegarli.
  5. Specifica i dati che vuoi estrarre:
    • Tipo di posizione:seleziona il tipo di dati che vuoi raccogliere e dove. da cui raccoglierla. Puoi selezionare i dati dal lato richiesta o risposta. Ad esempio: Richiesta: parametro di query o risposta: corpo XML.
    • Fonte della posizione: identifica i dati che vuoi raccogliere. Ad esempio: il nome del parametro di query o dell'XPath per i dati XML nel corpo della risposta.
  6. Specifica un nome (e un tipo) di variabile per il criterio Statistics Collector per identificare i dati estratti. Consulta le limitazioni di denominazione in questo argomento.

    Il nome utilizzato verrà visualizzato nel menu a discesa per Dimensioni o Metriche nell'interfaccia utente di Report Builder personalizzato.
  7. Scegli dove nel flusso del proxy API vuoi collegare i criteri generati Estrazione Raccoglitore di variabili e statistiche. Come guida, consulta "Collegamento di criteri al flusso di risposta ProxyEndpoint". Affinché tutto funzioni correttamente, i criteri devono essere collegato al flusso del proxy API nella posizione appropriata. Devi allegare norme in una fase del flusso in cui le variabili che stai bloccando rientrano nell'ambito (compilato).
  8. Fai clic su +Raccoglitore per aggiungere altre variabili personalizzate.
  9. Quando hai finito, fai clic su Crea soluzione.

  10. Salva ed esegui il deployment del proxy.

Ora puoi generare un report personalizzato per i dati come descritto sopra.