Stai visualizzando la documentazione di Apigee Edge.
Consulta la
documentazione di Apigee X. info
Edge API Analytics raccoglie e analizza una vasta gamma di informazioni statistiche da ogni richiesta API e risposta. Queste informazioni vengono raccolte automaticamente e possono essere visualizzate nell'interfaccia utente di Edge o utilizzando l'API Metrics. Per ulteriori informazioni su queste statistiche, consulta Metriche e dimensioni.
Potresti anche voler raccogliere dati di analisi personalizzati specifici per i proxy API, le app, i prodotti o gli sviluppatori. Ad esempio, potresti voler raccogliere dati da parametri di query, intestazioni delle richieste, corpi delle richieste e delle risposte o variabili che definisci nelle tue API.
Questo argomento mostra come utilizzare il criterio StatisticsCollector per estrarre dati di analisi personalizzati da una richiesta API/risposta e inserirli in Edge API Analytics. Poi, mostra come visualizzare i dati di analisi in un report nell'interfaccia utente di Edge o utilizzando l'API Edge.
Informazioni sull'API Google Books
Questo argomento descrive come acquisire dati di analisi personalizzati dalle richieste dei proxy API all' API Google Books. L'API Google Libri consente di cercare libri per titolo, argomento, autore e altre caratteristiche.
Ad esempio, effettua richieste all'endpoint /volumes per 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 il primo elemento dell'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" }, ... } }
Tieni presente che diverse aree della risposta sono state evidenziate:
- Numero di risultati di ricerca
- Valutazione media del libro
- Numero di valutazioni
- Disponibilità delle versioni PDF del libro
Le sezioni seguenti 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 Books
Prima di poter raccogliere statistiche per l'API Google Books, devi creare un proxy API Edge che la chiami. Poi, invoca il proxy API per effettuare le richieste all'API Google Books.
Passaggio 2: creare un proxy API del tutorial per la creazione di un proxy API descrive come creare un proxy che chiama l'API https://mocktarget.apigee.net. Tieni presente che il proxy descritto in questo tutorial non richiede una chiave API per essere chiamato.
Utilizza la stessa procedura per creare un proxy API per l'endpoint /volumes dell'API Google Books. Nel passaggio 5 della procedura, quando crei il proxy API, imposta le seguenti proprietà in modo che facciano riferimento all'API Google Libri:
- Nome 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 essere in grado di chiamarlo utilizzando un comando curl 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 di analisi personalizzati
La raccolta dei dati di analisi da una richiesta API è una procedura in due passaggi:
Estrai i dati di interesse e scrivili in una variabile.
Tutti i dati passati a Edge API Analytics provengono da valori archiviati nelle variabili. Alcuni dati vengono archiviati automaticamente nelle variabili di flusso predefinite di Edge, ad esempio i valori dei parametri di query passati al proxy API. Per ulteriori informazioni sulle variabili di flusso predefinite, consulta Panoramica delle variabili di flusso.
Utilizza il criterio Estrai variabili per estrarre contenuti personalizzati da una richiesta o una risposta e scrivere questi dati in una variabile.
Scrivi i dati da una variabile in Edge API Analytics.
Utilizza il criterio Statistics Collector per scrivere i dati da una variabile in Edge API Analytics. I dati possono provenire da variabili di flusso Edge predefinite o da variabili create dal criterio Estrai variabili.
Dopo aver raccolto i dati statistici, puoi utilizzare l'interfaccia utente di gestione di Edge o l'API per recuperare e filtrare le statistiche. Ad esempio, potresti generare un report personalizzato che mostra la valutazione media per ogni titolo del libro, dove il titolo del libro corrisponde al valore del parametro di query passato all'API.
Utilizzare il criterio Estrai variabili per estrarre i dati di analisi
Prima di poter essere passati ad API Analytics, i dati di analisi devono essere estratti e archiviati in una variabile, ovvero una variabile di flusso predefinita da Edge o variabili personalizzate che definisci. 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 Books, utilizza un'espressione JSONPath.
Ad esempio, per estrarre il valore di averageRating dal primo elemento dell'array dei risultati JSON, l'espressione JSONPath è:
$.items[0].volumeInfo.averageRating
Dopo aver valutato JSONPath, il criterio Estrai variabili scrive il valore estratto in una variabile.
In questo esempio, utilizzi il criterio Estrai variabili per creare quattro variabili:
responsejson.totalitemsresponsejson.ratingscountresponsejson.avgratingresponsejson.pdf
Per queste variabili, responsejson è il prefisso della variabile e totalitems,
ratingscount, avgrating e pdf sono i nomi delle variabili.
Il criterio Estrai variabili riportato di seguito mostra come estrarre i dati dalla risposta JSON e scriverli in variabili personalizzate. Ogni <Variable> elemento utilizza l'attributo name che
specifica il nome delle variabili personalizzate e l'espressione JSONPath associata.
L'elemento <VariablePrefix> specifica il prefisso della variabile.
Aggiungi questo criterio al proxy API nell'interfaccia utente di Edge. Se stai creando 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 Statistics Collector per scrivere i dati nel servizio di analisi
Utilizza il criterio Statistics Collector per scrivere i dati da una variabile in Edge API Analytics. Il criterio Statistics Collector 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 o può essere una variabile personalizzata creata dal criterio Estrai variabili.
dataType specifica il tipo di dati dei dati registrati come stringa, numero intero, numero in virgola mobile, numero intero lungo, numero in virgola mobile a doppia precisione o valore booleano.
Per i dati di tipo stringa, fai riferimento ai dati statistici come una dimensione in un report personalizzato. Per i tipi di dati numerici (numero intero/numero in virgola mobile/numero intero lungo/numero in virgola mobile a doppia precisione), fai riferimento ai dati statistici come dimensione o metrica in un report personalizzato.
- defValue (facoltativo) fornisci un valore predefinito per una variabile personalizzata, che viene inviato ad API Analytics se le variabili non possono essere risolte o se la variabile non è definita.
Nell'esempio seguente, utilizzi il criterio Statistics Collector per raccogliere i dati per le variabili create dal criterio Estrai variabili. Raccogli anche il valore del parametro di query passato a ogni chiamata API. Fai riferimento ai parametri di query utilizzando la variabile di flusso predefinita flow variable:
request.queryparam.queryParamName
Per il parametro di query denominato "q", fai riferimento a:
request.queryparam.q
Aggiungi questo criterio al proxy API nell'interfaccia utente di Edge o, se stai creando il proxy API in XML, aggiungi un file in /apiproxy/policies 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>
Collegare 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 aver ricevuto la risposta dall'API Google Books e prima che la risposta venga inviata al client richiedente. Pertanto, collega i criteri al PreFlow di risposta ProxyEndpoint.
La configurazione di esempio di ProxyEndpoint riportata di seguito esegue prima il criterio denominato ExtractVars per analizzare il messaggio di risposta. Il criterio denominato AnalyzeBookResults inoltra quindi questi valori 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>Eseguire il deployment del proxy API
Dopo aver apportato queste modifiche, devi eseguire il deployment del proxy API che hai configurato.
Inserire dati di analisi
Dopo aver eseguito il deployment del proxy API, chiamalo per inserire i dati in API Analytics. Puoi farlo eseguendo i seguenti comandi, ognuno dei quali utilizza un titolo del libro diverso:
Moby 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
Visualizzare dati di analisi
Edge offre due modi per visualizzare i dati di analisi personalizzati:
- L'interfaccia utente di Edge supporta i report personalizzati che consentono di visualizzare i dati in un grafico.
- L'API Metrics consente di recuperare i dati di analisi effettuando chiamate REST all' API Edge. Puoi utilizzare l'API per creare visualizzazioni personalizzate sotto forma di widget personalizzati che puoi incorporare in portali o app personalizzate.
Generare un report di statistiche utilizzando l'interfaccia utente di Edge
I report personalizzati consentono di eseguire il drill-down in statistiche API specifiche per visualizzare i dati esatti che ti interessano. Puoi creare un report personalizzato utilizzando una qualsiasi delle metriche e delle dimensioni integrate in Edge. Inoltre, puoi utilizzare tutti i dati di analisi estratti utilizzando il criterio StatisticsCollector.
Quando crei un criterio Statistics Collector, devi specificare il tipo di dati dei 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/numero in virgola mobile/numero intero lungo/numero in virgola mobile a doppia precisione), fai riferimento alla data statistica in un report personalizzato come dimensione o metrica. Per ulteriori informazioni, consulta Gestire i report personalizzati.
Generare un report personalizzato utilizzando l'interfaccia utente di Edge:
- Accedi alla pagina Report personalizzati, come descritto di seguito.
Edge
Per accedere alla pagina Report personalizzati utilizzando l'interfaccia utente di Edge:
- Accedi a apigee.com/edge.
- Seleziona Analizza > Report personalizzati > Report nella barra di navigazione a sinistra.
Classic Edge (Private Cloud)
Per accedere alla pagina Report personalizzati utilizzando l'interfaccia utente di Classic Edge:
- Accedi a
http://ms-ip:9000, dove ms-ip è l' indirizzo IP o il nome DNS del nodo del server di gestione. Seleziona Analisi > Report nella barra di navigazione in alto.
- Nella pagina Report personalizzati, fai clic su +Report personalizzato.
- Specifica un nome del report, ad esempio mybookreport.
Seleziona una metrica integrata, ad esempio Traffico, e una funzione di aggregazione, ad esempio Somma.
In alternativa, seleziona una delle statistiche sui dati numerici create utilizzando il criterio StatisticsCollector. Ad esempio, seleziona ratingscount e una funzione di aggregazione di Somma.
Seleziona una dimensione integrata, ad esempio Proxy API, o una qualsiasi delle statistiche stringa o numeriche create utilizzando il criterio StatisticsCollector.
Ad esempio, seleziona booktitle. Il report ora mostra la somma di ratingscount per booktitle:

- Seleziona Salva. Il report viene visualizzato nell'elenco di tutti i report personalizzati.
Per eseguire il report, seleziona il nome del report. Per impostazione predefinita, il report mostra i dati dell'ultima ora.
- Per impostare l'intervallo di tempo, seleziona la visualizzazione della data nell'angolo in alto a destra per aprire il popup Selettore della data.
Seleziona Ultimi 7 giorni. Il report viene aggiornato per mostrare la somma delle valutazioni per titolo del libro:

Ottenere statistiche utilizzando l'API Edge
Utilizza l'API Metrics di Edge per ottenere statistiche sui dati di analisi personalizzati. Nella richiesta di esempio riportata di seguito:
- La risorsa nell'URL dopo
/statsspecifica la dimensione desiderata. In questo esempio, ottieni i dati per la dimensionebooktitle. - Il parametro di query
selectspecifica le metriche da recuperare. Questa richiesta restituisce i dati di analisi in base alla somma diratingscount. Il parametro
timeRangespecifica 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 formato:
{
"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 Metrics di Edge offre molte opzioni. Ad esempio, puoi ordinare i risultati in ordine crescente o decrescente. Nell'esempio seguente, utilizzi 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 di interesse. Nell'esempio seguente, il report viene filtrato in base ai risultati per "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
Creare variabili di analisi personalizzate con il generatore di soluzioni
Il generatore di soluzioni consente di creare variabili di analisi personalizzate tramite una finestra di dialogo dell'interfaccia utente di gestione facile da usare.
Ti consigliamo di leggere la sezione precedente Raccogliere dati di analisi personalizzati, che spiega come i criteri Estrai variabili e Statistics Collector funzionano in tandem per inserire variabili personalizzate in Edge API Analytics. Come vedrai, l'interfaccia utente segue lo stesso pattern, ma offre un modo pratico per configurare tutto tramite l'interfaccia utente. Se vuoi, prova l'esempio dell'API Google Libri utilizzando l'interfaccia utente anziché modificare e collegare i criteri manualmente.
La finestra di dialogo del generatore di soluzioni consente di configurare le variabili di analisi direttamente nell'interfaccia utente. Questo strumento genera i criteri e li collega al proxy API. I criteri estraggono le variabili di interesse dalle richieste o dalle risposte e le passano a Edge API Analytics.
Il generatore di soluzioni crea nuovi criteri Estrai variabili e Statistics Collector e assegna loro nomi univoci. Il generatore di soluzioni non consente di tornare indietro e modificare questi criteri una volta creati in una determinata revisione del proxy. Per apportare modifiche, modifica i criteri generati direttamente nell'editor dei criteri.
- Vai alla pagina Panoramica del proxy nell'interfaccia utente di Edge.
- Fai clic su Sviluppa.
- Nella pagina Sviluppa, seleziona Raccolta di analisi personalizzate dal menu Strumenti menu. Viene visualizzata la finestra di dialogo del generatore di soluzioni.
- Nella finestra di dialogo del generatore di soluzioni, configura prima due criteri: Estrai variabili e Statistics Collector. Poi, configura dove collegare questi criteri.
- Specifica i dati che vuoi estrarre:
- Tipo di posizione: seleziona il tipo di dati che vuoi raccogliere e da dove raccoglierli. Puoi selezionare i dati dal lato della richiesta o della risposta. Ad esempio, Richiesta: parametro di query o Risposta: corpo XML.
- Origine posizione: identifica i dati che vuoi raccogliere. Ad esempio, il nome del parametro di query o l'XPath per i dati XML nel corpo della risposta.
- Specifica un nome (e un tipo) di variabile che il criterio Statistics Collector
utilizzerà per identificare i dati estratti. Consulta le limitazioni di denominazione in questo argomento.
Il nome che utilizzi verrà visualizzato nel menu a discesa per Dimensioni o Metriche nell'interfaccia utente del generatore di report personalizzati. - Scegli dove nel flusso del proxy API vuoi collegare i criteri generati Estrai variabili e Statistics Collector. Per indicazioni, consulta "Collegare i criteri al flusso di risposta ProxyEndpoint". Affinché tutto funzioni correttamente, i criteri devono essere collegati al flusso del proxy API nella posizione appropriata. Devi collegare i criteri in una fase del flusso in cui le variabili che stai intercettando sono nell'ambito (inserite).
- Fai clic su +Raccoglitore per aggiungere altre variabili personalizzate.
Al termine, fai clic su Crea soluzione.

- Salva ed esegui il deployment del proxy.
Ora puoi generare un report personalizzato per i dati come descritto sopra.