Przeglądasz dokumentację Apigee Edge.
Przejdź do
Dokumentacja Apigee X. informacje.
Edge API Analytics gromadzi i analizuje szeroką gamę informacji statystycznych z każdego Żądanie i odpowiedź do interfejsu API. Informacje te są zbierane automatycznie i mogą być wyświetlane Edge UI lub interfejs Metrics API. Zobacz dane i wymiar, aby dowiedzieć się więcej o tych statystykach.
Możesz też zbierać niestandardowe dane analityczne dotyczące serwerów proxy interfejsów API, aplikacji, usług, lub programistów. Możesz na przykład zbierać dane z parametrów zapytań, nagłówków żądań, treści żądań i odpowiedzi lub zmiennych zdefiniowanych w interfejsach API.
W tym artykule omawiamy sposób korzystania z zasady StatisticsCollector. do wyodrębniania niestandardowych danych analitycznych z żądania/odpowiedzi interfejsu API i przekazania ich do narzędzia Edge API Analytics. Następnie pokazuje, jak wyświetlić dane analityczne w raporcie w interfejsie Edge lub za pomocą interfejsu Edge API.
Informacje o interfejsie Google Book API
Z tego artykułu dowiesz się, jak przechwytywać niestandardowe dane analityczne z żądań serwera proxy interfejsu API wysyłanych Interfejs API Książek Google. Interfejs API Książek Google umożliwia wyszukiwanie książek według tytułu, tematu, autora i innych cech.
Możesz na przykład wysłać żądania do punktu końcowego /volumes
, aby przeprowadzić wyszukiwanie według tytułu książki.
Przekaż do interfejsu Books API jeden parametr zapytania zawierający tytuł książki:
curl https://www.googleapis.com/books/v1/volumes?q=davinci%20code
Wywołanie zwraca tablicę JSON znalezionych elementów pasujących do kryteriów wyszukiwania. Poniżej przedstawiono pierwszego elementu tablicy w odpowiedzi (dla uproszczenia dla uproszczenia pominięto niektóre treści):
{ "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" }, ... } }
Zwróć uwagę, że wyróżniono kilka obszarów odpowiedzi:
- Liczba wyników wyszukiwania
- Średnia ocena książki
- Liczba ocen
- Dostępność książek w formacie PDF
W poniższych sekcjach opisano, jak zbierać statystyki dotyczące tych obszarów odpowiedzi, a także
dla parametru zapytania (q
), który zawiera kryteria wyszukiwania.
Tworzenie serwera proxy dla interfejsu Google Book API
Zanim będzie można zbierać statystyki dla interfejsu Google Book API, musisz utworzyć serwer proxy interfejsu Edge API, który właśnie na to. Następnie wywołujesz ten serwer proxy, aby przesłać żądania do interfejsu Google Book API.
Krok 2. Utwórz serwer proxy interfejsu API samouczka do tworzenia serwera proxy interfejsu API opisuje sposób tworzenia serwera proxy, który wywołuje metodę interfejsu API https://mocktarget.apigee.net. Zwróć uwagę, że serwer proxy opisane w tym samouczku nie wymaga klucza interfejsu API do jego wywołania.
W ten sam sposób utwórz serwer proxy interfejsu API dla punktu końcowego /volumes
Interfejs API Książek Google. W kroku 5 procedury, podczas tworzenia serwera proxy interfejsu API, ustaw te właściwości
, aby odwołać się do interfejsu API Książek Google:
- Nazwa serwera proxy: „mybooksearch”
- Ścieżka podstawowa serwera proxy: „/mybooksearch”
- Istniejący interfejs API: „https://www.googleapis.com/books/v1/volumes”
Po utworzeniu i wdrożeniu serwera proxy powinno być możliwe jego wywołanie za pomocą curl
w formularzu:
curl http://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
gdzie org_name i env_name określają organizację i środowisko, w którym został wdrożony serwer proxy. Na przykład:
curl http://myorg-test.apigee.net/mybooksearch?q=davinci%20code
Zbieranie niestandardowych danych analitycznych
Zbieranie danych analitycznych z żądania do interfejsu API przebiega dwuetapowo:
Wyodrębnij interesujące Cię dane i zapisz je w zmiennej.
Wszystkie dane przekazywane do Edge API Analytics pochodzą z wartości zapisanych w zmiennych. Niektóre dane są automatycznie zapisywane we wstępnie zdefiniowanych zmiennych przepływu Edge, takich jak wartości parametrów zapytania przekazywanych do serwera proxy interfejsu API. Zobacz Omówienie zmiennych przepływu .
Korzystając z opcji Wyodrębnij zmienne. do wyodrębniania niestandardowej treści z żądania lub odpowiedzi i zapisania tych danych w zmiennej.
Zapisywanie danych ze zmiennej w Edge API Analytics.
Użyj zasady kolektora statystyk. do zapisywania danych ze zmiennej w Edge API Analytics. Dane mogą pochodzić ze wstępnie zdefiniowanych zmienne przepływu brzegowego, lub zmiennych utworzonych przez zasadę wyodrębniania zmiennych.
Po zebraniu danych statystycznych możesz użyć interfejsu użytkownika lub interfejsu API do zarządzania brzegiem, aby pobrać i filtrować statystyki. Można na przykład wygenerować raport niestandardowy, który pokazuje średnią ocenę każdego tytułu książki, gdzie tytuł odpowiada wartości parametru zapytania przekazywanego do interfejsu API.
Używanie zasady Wyodrębnianie zmiennych wyodrębniania danych analitycznych
Dane Analytics należy wyodrębnić i zapisać w zmiennej (zmiennej przepływu zdefiniowanej wcześniej przez funkcję Zdefiniowane przez Ciebie zmienne brzegowe lub niestandardowe, zanim będzie można je przekazać do API Analytics. Do zapisywania danych w zmiennej służy zasada wyodrębniania zmiennych.
Zasada wyodrębniania zmiennych może analizować ładunki wiadomości za pomocą wyrażeń JSONPath lub XPath.
Aby wyodrębnić informacje z wyników wyszukiwania w formacie JSON w interfejsie Google Book API, użyj wyrażenia JSONPath.
Aby na przykład wyodrębnić wartość pola averageRating
z pierwszego elementu w pliku JSON
wyników w tablicy wyników, wyrażenie JSONPath to:
$.items[0].volumeInfo.averageRating
Po sprawdzeniu ścieżki JSONPath zasada Wyodrębnianie zmiennych zapisuje wyodrębnioną wartość w zmiennej.
W tym przykładzie używamy zasady Wyodrębnianie zmiennych, aby utworzyć 4 zmienne:
responsejson.totalitems
responsejson.ratingscount
responsejson.avgrating
responsejson.pdf
W przypadku tych zmiennych responsejson
jest prefiksem zmiennej, a totalitems
ratingscount
, avgrating
i pdf
to nazwy zmiennych.
Poniższa zasada Wyodrębnianie zmiennych pokazuje, jak wyodrębnić dane z odpowiedzi JSON i je zapisać
do zmiennych niestandardowych. Każdy element <Variable>
korzysta z atrybutu name
, który
określa nazwę zmiennych niestandardowych i powiązane wyrażenie JSONPath.
Element <VariablePrefix>
określa, że prefiks zmiennej.
Dodaj tę zasadę do serwera proxy interfejsu API w interfejsie Edge. Jeśli tworzysz serwer proxy interfejsu API w formacie XML,
dodaj zasadę do pliku w jednostce /apiproxy/policies
o nazwie 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>
Używaj zasady kolektora statystyk do zapisywania danych w usłudze Analytics
Użyj zasady kolektora statystyk. do zapisywania danych ze zmiennej w Edge API Analytics. Zasada kolektora statystyk wygląda tak:
<StatisticsCollector> <DisplayName>Statistics Collector-1</DisplayName> <Statistics> <Statistic name="statName" ref="varName" type="dataType">defVal</Statistic> … </Statistics> </StatisticsCollector>
gdzie:
- statName określa nazwę, która służy do odwoływania się do danych statystycznych w raporcie niestandardowym.
- varName określa nazwę zmiennej zawierającej dane analityczne do zbierania. Ta zmienna może być wbudowana w Edge lub niestandardowa utworzona przez zasadę Wyodrębnianie zmiennych.
dataType określa typ danych zarejestrowanych danych w postaci ciągu znaków, liczby całkowitej, liczby zmiennoprzecinkowej, liczby zmiennoprzecinkowej, liczby zmiennoprzecinkowej, liczby zmiennoprzecinkowej lub wartości logicznej.
W przypadku danych typu ciąg znaków odnosi się do danych statystycznych jako wymiarów. w raporcie niestandardowym. W przypadku typów danych liczbowych (liczba całkowita/zmiennoprzecinkowa/długi/liczba zmiennoprzecinkowa) odwołuje się do argumentu dane statystyczne jako wymiar. lub dane w raporcie niestandardowym.
- defValue opcjonalnie podaje wartość domyślną zmiennej niestandardowej, która jest wysyłana do API Analytics, jeśli nie można znaleźć zmiennych lub zmienna jest niezdefiniowana.
W poniższym przykładzie użyto zasady Kolektora statystyk do zbierania danych dla zmiennych utworzony przez zasadę Wyodrębnianie zmiennych. Zbierasz też wartość przekazanego parametru zapytania do każdego wywołania interfejsu API. Odwołuj się do parametrów zapytania, korzystając ze wstępnie zdefiniowanego zmienna przepływu:
request.queryparam.queryParamName
Dla parametru zapytania o nazwie „q” podaj go jako:
request.queryparam.q
Dodaj tę zasadę do serwera proxy interfejsu API w interfejsie Edge lub, jeśli tworzysz serwer proxy interfejsu API w języku XML,
dodaj w usłudze /apiproxy/policies
plik o nazwie AnalyzeBookResults.xml,
z tą zawartością:
<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>
Dołącz zasady do przepływu odpowiedzi ProxyEndpoint
Aby wszystko działało prawidłowo, do procesu serwera proxy interfejsu API w odpowiedniej lokalizacji muszą być dołączone zasady. W tym przypadku zasady muszą być wykonywane po otrzymaniu odpowiedzi z interfejsu Google Book API. oraz przed wysłaniem odpowiedzi do klienta, który wysłał żądanie. W związku z tym należy dołączyć te zasady do PreFlow odpowiedzi ProxyEndpoint.
Przykładowa konfiguracja ProxyEndpoint poniżej najpierw wykonuje zasadę o nazwie ExtractVars
aby przeanalizować wiadomość z odpowiedzią. Następnie zasada o nazwie AnalyzeBookResults
przekazuje te
do 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>
Wdrażanie serwera proxy interfejsu API
Po wprowadzeniu tych zmian musisz wdrożyć skonfigurowany serwer proxy interfejsu API.
Wypełnij dane analityczne
Po wdrożeniu serwera proxy interfejsu API wywołaj go, aby wypełnić dane w interfejsie API Analytics. Możesz zrobić W tym celu uruchom następujące polecenia, które będą miały inny tytuł książki:
Mobey Dicka:
curl https://org_name-env_name.apigee.net/mybooksearch?q=mobey%20dick
Kod Leonarda da Vinci:
curl https://org_name-env_name.apigee.net/mybooksearch?q=davinci%20code
Zaginiona dziewczyna:
curl https://org_name-env_name.apigee.net/mybooksearch?q=gone%20girl
Gra o tron:
curl https://org_name-env_name.apigee.net/mybooksearch?q=game%20of%20thrones
Dostęp do danych analitycznych
Edge umożliwia wyświetlanie niestandardowych danych analitycznych na 2 sposoby:
- Interfejs Edge obsługuje raporty niestandardowe, które umożliwiają wyświetlanie danych na wykresie graficznym.
- Interfejs API wskaźników umożliwia pobieranie danych analitycznych przez wywoływanie interfejsu REST Interfejs Edge API. Interfejs API umożliwia tworzenie własnych wizualizacji w postaci widżetów niestandardowych, które można umieścić w portalach lub aplikacjach niestandardowych.
Generowanie raportu ze statystykami za pomocą interfejsu Edge
Raporty niestandardowe pozwalają analizować statystyki interfejsu API i wyświetlać dokładnie te dane, które są dla Ciebie ważne. Możesz utworzyć raport niestandardowy, korzystając z dowolnych danych i wymiar wbudowane w Edge. Poza tym możesz używać dowolnych danych analitycznych wyodrębnionych za pomocą metody StatystykiCollector.
Tworząc zasadę kolektora statystyk, określasz typ danych zbieranych danych. W przypadku typu danych „Ciąg znaków” dane statystyczne mogą być wymiarem w raporcie niestandardowym. W przypadku typów danych liczbowych (liczba całkowita/zmiennoprzecinkowa/długi/liczba zmiennoprzecinkowa) podaj w raporcie niestandardowym datę statystyczną. jako wymiar lub dane. Więcej informacji znajdziesz w artykule Zarządzanie raportami niestandardowymi.
Generowanie raportu niestandardowego za pomocą interfejsu Edge:
- Przejdź na stronę Raporty niestandardowe w sposób opisany poniżej.
Edge
Aby uzyskać dostęp do strony Raporty niestandardowe za pomocą interfejsu Edge:
- Zaloguj się na stronie apigee.com/edge.
- Wybierz Analizuj > Raporty niestandardowe > Raporty na lewym pasku nawigacyjnym.
Classic Edge (Private Cloud)
Aby uzyskać dostęp do strony Raporty niestandardowe za pomocą interfejsu użytkownika klasycznej wersji Edge:
- Zaloguj się w aplikacji
http://ms-ip:9000
, gdzie ms-ip to adres Adres IP lub nazwa DNS węzła serwera zarządzania. Wybierz Analytics > Raporty na górnym pasku nawigacyjnym.
- Na stronie Raporty niestandardowe kliknij + Raport niestandardowy.
- Podaj Nazwę raportu, np. mojraport.
Wybierz wbudowane Dane, np. Ruch, i funkcję agregacji, np. Suma.
Można też wybrać jedną ze statystyk danych liczbowych utworzonych przy użyciu zasady StatisticsCollector. Na przykład wybierz ratingscount, a jako funkcję agregacji wybierz Suma.
Wybierz wbudowany wymiar, taki jak Serwer proxy interfejsu API lub dowolny z ciągi lub statystyki liczbowe utworzone przy użyciu zasady StatisticsCollector.
Na przykład wybierz booktitle. W raporcie pojawi się teraz suma wartości ratingscount według atrybutu booktitle:
- Kliknij Zapisz. Raport pojawi się na liście wszystkich raportów niestandardowych.
Aby wygenerować raport, wybierz jego nazwę. Domyślnie ten raport zawiera dane z ostatniej godziny.
- Aby ustawić zakres czasu, kliknij wyświetlanie daty w prawym górnym rogu. Otworzy się wyskakujące okienko selektora daty.
Wybierz Ostatnie 7 dni. Raport zostanie zaktualizowany i będzie zawierać sumę ocen poszczególnych tytułów książek:
Pobieranie statystyk za pomocą interfejsu Edge API
Użyj interfejsu Edge API. do statystyk niestandardowych danych analitycznych. W przykładowym żądaniu poniżej:
- Zasób prowadzący do adresu URL po
/stats
określa odpowiedni wymiar. W tym przykładzie uzyskujesz dane dla wymiarubooktitle
. - Parametr zapytania
select
do określania danych. aby pobrać. To żądanie zwraca statystyki na podstawie sumy tych danych:ratingscount
. Parametr
timeRange
określa przedział czasu, z którego pochodzą zwracane dane. Zakres czasowy ma następujący format:MM/DD/YYYY%20HH:MM~MM/DD/YYYY%20HH:MM
Pełne wywołanie interfejsu API:
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
Odpowiedź powinna mieć następujący format:
{ "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" ] } }
Interfejs Edge API ma wiele opcji. Możesz na przykład posortować wyniki rosnąco lub malejąco. W tym przykładzie użyto kolejności rosnącej:
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
Wyniki można też filtrować, określając wartości interesujących Cię wymiarów. W przykładzie poniżej raport jest filtrowany według wyników wyszukiwania hasła „Gone Girl” i „Kod 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
Tworzenie niestandardowych zmiennych analityki za pomocą Kreatora rozwiązań
Kreator rozwiązań umożliwia tworzenie niestandardowych zmiennych analitycznych za pomocą łatwego w użyciu interfejsu zarządzania.
Przeczytaj poprzednią sekcję Zbieranie niestandardowych danych analitycznych, Wyjaśniono w nim, jak działają zasady wyodrębniania zmiennych i kolektora statystyk. bezpośrednio przesyłając zmienne niestandardowe do Edge API Analytics. Jak widać, interfejs użytkownika według tego samego wzorca, ale zapewnia wygodny sposób na całkowitą konfigurację. za pośrednictwem interfejsu użytkownika. Jeśli chcesz, możesz wypróbować przykładowy interfejs API Książek Google, używając interfejsu zamiast edycji i ręcznie dołączając zasady.
Okno Kreatora rozwiązań umożliwia konfigurowanie zmiennych Analytics bezpośrednio w interfejsie użytkownika. Ten Narzędzie generuje zasady i dołącza je do serwera proxy interfejsu API. Wyodrębnianie zasad zmiennych zainteresowań z żądań lub odpowiedzi i przekazywać wyodrębnione zmienne do Edge API Analytics.
Kreator rozwiązań tworzy nowe zmienne wyodrębniania i zasady kolektora statystyk i nadają im unikalne nazwy. Kreator rozwiązań nie umożliwia wróć i zmień te zasady po ich utworzeniu w danej wersji serwera proxy. Do wprowadzić zmiany, edytować wygenerowane zasady bezpośrednio w edytorze zasad.
- W interfejsie Edge otwórz stronę z informacjami o serwerze proxy.
- Kliknij Develop.
- Na stronie Programowanie z menu Narzędzia wybierz Custom Analytics Collection (Niestandardowy zbiór danych Analytics). . Pojawi się okno Kreator rozwiązań.
- W oknie Kreatora rozwiązań musisz najpierw skonfigurować 2 zasady: Wyodrębnij zmienne i Gromadzący statystyki. Następnie skonfigurujesz, gdzie chcesz dołączyć te zasady.
- Określ dane, które chcesz wyodrębnić:
- Typ lokalizacji:wybierz typ danych, które chcesz gromadzić, i miejsce, w którym chcesz je zbierać. aby ją odebrać. Możesz wybrać dane po stronie żądania lub odpowiedzi. Przykład: Żądanie: parametr zapytania lub odpowiedź: treść XML.
- Źródło lokalizacji:określ dane, które chcesz gromadzić. Przykład: nazwa parametru zapytania lub ścieżka XPath dla danych XML w treści odpowiedzi.
- Określ nazwę (i typ) zmiennej, które będzie wykorzystywana przez zasadę kolektora statystyk
posłuży do identyfikowania wyodrębnionych danych. Zapoznaj się z ograniczeniami dotyczącymi nazw w tym temacie.
Użyta nazwa będzie widoczna w menu Wymiary lub Dane w interfejsie Kreatora raportów niestandardowych. - Wybierz miejsce w procesie serwera proxy interfejsu API, w którym chcesz dołączyć wygenerowane zasady i wyodrębnić Zmienne i kolektor statystyk. Jeśli potrzebujesz pomocy, zapoznaj się z sekcją „Dołącz zasady do przepływu odpowiedzi ProxyEndpoint”. Aby wszystko działało prawidłowo, zasady muszą być podłączony do przepływu serwera proxy API w odpowiedniej lokalizacji. Do zasadami na etapie procesu, na którym objęte są blokowane zmienne (wypełniono).
- Aby dodać więcej zmiennych niestandardowych, kliknij + kolektor.
Gdy skończysz, kliknij Utwórz rozwiązanie.
- Zapisz i wdróż serwer proxy.
Możesz teraz wygenerować raport niestandardowy dla tych danych w sposób opisany powyżej.