Diese Seite gilt für Apigee und Apigee Hybrid.
Apigee Edge-Dokumentation aufrufen
Apigee Analytics bietet zahlreiche interaktive Dashboards, benutzerdefinierte Berichtsgeneratoren und zugehörige Funktionen. Diese Funktionen sind jedoch für die Interaktion gedacht: Sie senden entweder eine API- oder UI-Anfrage, und die Anfrage wird blockiert, bis der Analyseserver eine Antwort sendet.
Bei Analytics-Anfragen kann es jedoch zu einer Zeitüberschreitung kommen, wenn deren Verarbeitung zu lange dauert. Wenn eine Abfrageanfrage eine große Datenmenge verarbeiten muss (z. B. 100 GB), kann dies aufgrund einer Zeitüberschreitung fehlschlagen.
Bei der asynchronen Abfrageverarbeitung können Sie sehr große Datasets abfragen und die Ergebnisse zu einem späteren Zeitpunkt abrufen. Sie könnten eine Offline-Abfrage in Betracht ziehen, wenn Sie feststellen, dass bei Ihren interaktiven Abfragen eine Zeitüberschreitung auftritt. Einige Situationen, in denen die asynchrone Abfrageverarbeitung eine gute Alternative darstellt, sind:
- Analysieren und Erstellen von Berichten, die große Zeitintervalle umfassen.
- Analysieren von Daten mit einer Vielzahl von Gruppierungsdimensionen und anderen Einschränkungen, die die Abfrage komplexer machen
- Verwalten von Abfragen, wenn Sie feststellen, dass die Datenmengen für einige Nutzer oder Organisationen erheblich gestiegen sind.
In diesem Dokument wird beschrieben, wie Sie eine asynchrone Abfrage mithilfe der API initiieren. Sie können auch die UI verwenden, wie unter Benutzerdefinierten Bericht ausführen beschrieben.
Reports API mit der Benutzeroberfläche vergleichen
In Benutzerdefinierte Berichte erstellen und verwalten wird erläutert, wie Sie mit der Apigee UI benutzerdefinierte Berichte erstellen und ausführen. Sie können diese Berichte synchron oder asynchron ausführen.
Die meisten Konzepte zum Erstellen benutzerdefinierter Berichte mit der Benutzeroberfläche gelten für die Verwendung der API. Das heißt, wenn Sie benutzerdefinierte Berichte mit der API erstellen, geben Sie Messwerte, Dimensionen und Filter an, die in Apigee eingebunden sind.
Der Hauptunterschied zwischen den mit der API generierten Berichten und nicht der Benutzeroberfläche besteht darin, dass erstere in CSV- oder JSON-Dateien (durch Zeilenumbruch getrennt) geschrieben werden, während letztere in der Benutzeroberfläche angezeigt werden.
Zeitlimit für Abfragen
Apigee erzwingt maximal 365 Tage für den Zeitraum für eine asynchrone Abfrage.
So erstellen Sie eine asynchrone Analyseabfrage
Sie führen asynchrone Analyseabfragen in drei Schritten aus:
Schritt 1: Abfrage senden
Sie müssen eine POST-Anfrage an die Queries API senden. Diese API weist Apigee an, Ihre Anfrage im Hintergrund zu verarbeiten. Wenn die Übermittlung der Abfrage erfolgreich war, gibt die API den Status 201 und eine ID zurück, mit der Sie in späteren Schritten auf die Abfrage verweisen.
Beispiel:
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @json-query-file
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Der Anfragetext ist eine JSON-Beschreibung der Abfrage. Geben Sie im JSON-Text die Messwerte, Dimensionen und Filter an, die den Bericht definieren.
Hier sehen Sie eine Beispieldatei für json-query-file
:
{
"metrics": [
{
"name": "message_count",
"function": "sum",
"alias": "sum_txn"
}
],
"dimensions": ["apiproxy"],
"timeRange": "last24hours",
"limit": 14400,
"filter":"(message_count ge 0)"
}
Eine vollständige Beschreibung der Syntax des Anfragetexts finden Sie unter Informationen zum Anfragetext.
Beispielantwort:
Beachten Sie, dass die Abfrage-ID 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd
in der Antwort enthalten ist. Neben dem HTTP-Status 201 bedeutet der state
von enqueued
, dass die Anfrage erfolgreich war.
HTTP/1.1 201 Created
{
"self":"/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
"created":"2018-05-10T07:11:10Z",
"state":"enqueued",
"error":"false",
}
Schritt 2: Abfragestatus abrufen
Wenn Sie den Status der Abfrage anfordern möchten, senden Sie eine GET-Anfrage an die Queries API. Sie geben die Abfrage-ID an, die vom POST-Aufruf zurückgegeben wurde. Beispiel:
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries/QUERY_ID" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Beispielantworten:
Wenn die Abfrage noch in Bearbeitung ist, erhalten Sie eine Antwort wie die folgende, wobei state
running
ist:
{
"self": "/organizations/myorg/environments/myenv/queries/1577884c-4f48-4735-9728-5da4b05876ab",
"state": "running",
"created": "2018-02-23T14:07:27Z",
"updated": "2018-02-23T14:07:54Z"
}
Nachdem die Abfrage erfolgreich abgeschlossen wurde, wird eine Antwort wie die folgende angezeigt, wobei state
auf completed
gesetzt ist:
{
"self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd",
"state": "completed",
"result": {
"self": "/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result",
"expires": "2017-05-22T14:56:31Z"
},
"resultRows": 1,
"resultFileSize": "922KB",
"executionTime": "11 sec",
"created": "2018-05-10T07:11:10Z",
"updated": "2018-05-10T07:13:22Z"
}
Schritt 3: Abfrageergebnisse abrufen
Sobald der Abfragestatus completed
lautet, können Sie die Abfrageergebnisse mit zwei Methoden abrufen:
getResulturl
(empfohlen): Dies ist eine neuere Methode, die eine URL zurückgibt, unter der Sie die Abfrageergebnisse aufrufen können. Bei dieser Methode gibt es keine Größenbeschränkung für die Ergebnisse einer Abfrage.getResult
: Dies ist eine ältere Methode, die eine ZIP-Datei mit den Abfrageergebnissen herunterlädt. Diese Methode erzwingt eine Größenbeschränkung von 32 MB für die Ergebnisse einer Abfrage.
Auf den folgenden Tabs finden Sie API-Aufrufe zum Abrufen der Abfrageergebnisse mit einer der beiden Methoden. Wie oben erwähnt, lautet die Abfrage-ID 9cfc0d85-0f30-46d6-ae6f-318d0cb961bd
.
getResulturl
(empfohlen).
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries/QUERY_ID/resulturl" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen findet sich unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Hier eine Beispielantwort auf den Aufruf:
{ "urls": [ "uri": "https://storage.googleapis.com/example-bucket/cat.jpeg?X-Goog-Algorithm=GOOG4-RSA-SHA256&X-Goog-Credential=example%40example-project.iam.gserviceaccount.com%2F20181026%2Fus-central1%2Fstorage%2Fgoog4_request&X-Goog-Date=20181026T181309Z&X-Goog-Expires=900&X-Goog-SignedHeaders=host&X-Goog-Signature=247a2aa45f169edf4d187d54e7cc46e4731b1e6273242c4f4c39a1d2507a0e58706e25e3a85a7dbb891d62afa8496def8e260c1db863d9ace85ff0a184b894b117fe46d1225c82f2aa19efd52cf21d3e2022b3b868dcc1aca2741951ed5bf3bb25a34f5e9316a2841e8ff4c530b22ceaa1c5ce09c7cbb5732631510c20580e61723f5594de3aea497f195456a2ff2bdd0d13bad47289d8611b6f9cfeef0c46c91a455b94e90a66924f722292d21e24d31dcfb38ce0c0f353ffa5a9756fc2a9f2b40bc2113206a81e324fc4fd6823a29163fa845c8ae7eca1fcf6e5bb48b3200983c56c5ca81fffb151cca7402beddfc4a76b133447032ea7abedc098d2eb14a7", "md5": "23db6982caef9e9152f1a5b2589e6ca3", "sizeBytes": 1024 ] }
Die Antwort enthält eine Liste urls[]
mit den folgenden Feldern:
uri
: ein String, der die signierte URL der JSON-Daten für den Bericht ist. Sie können den Bericht unter der URL anzeigen.md5
: der MD5-Hash der JSON-Daten.sizeBytes
: die Größe der zurückgegebenen Datei in Byte.
Unter Informationen zu Abfrageergebnissen finden Sie ein Beispielergebnis im JSON-Format.
getResult
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries/QUERY_ID/result" \ -X GET \ -H "Authorization: Bearer $TOKEN"
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Zum Abrufen der heruntergeladenen Datei müssen Sie das von Ihnen verwendete Tool so konfigurieren, dass eine heruntergeladene Datei auf Ihrem System gespeichert wird. Beispiel:
- Wenn Sie cURL verwenden, können Sie die Optionen
-O -J
wie oben gezeigt verwenden. - Wenn Sie Postman verwenden, müssen Sie die Schaltfläche Speichern und herunterladen anklicken. In diesem Fall wird eine ZIP-Datei mit dem Namen
response
heruntergeladen. - Wenn Sie den Chrome-Browser verwenden, wird der Download automatisch akzeptiert.
Wenn die Anfrage erfolgreich ist und die Ergebnismenge ungleich null ist, wird das Ergebnis als gezippte JSON-Datei (durch Zeilenumbruch getrennt) an den Client heruntergeladen. Der Name der heruntergeladenen Datei lautet OfflineQueryResult-
.
Beispiel: OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
.
Die ZIP-Datei enthält eine .gz-Archivdatei der JSON-Ergebnisse. Entpacken Sie die Download-Datei und extrahieren Sie die JSON-Datei mit dem Befehl gzip
, um auf die JSON-Datei zuzugreifen:
unzip OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip
gzip -d QueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd-000000000000.json.gz
Informationen zum Anfragetext
In diesem Abschnitt werden alle Parameter beschrieben, die Sie im JSON-Anfragetext für eine Abfrage verwenden können. Einzelheiten zu Messwerten und Dimensionen, die Sie in Ihrer Abfrage verwenden können, finden Sie im Referenzmaterial zu Analysen.
{ "metrics":[ { "name":"metric_name", "function":"aggregation_function", "alias":"metric_display_name_in_results", "operator":"post_processing_operator", "value":"post_processing_operand" }, ... ], "dimensions":[ "dimension_name", ... ], "timeRange":"time_range", "limit":results_limit, "filter":"filter", "groupByTimeUnit": "grouping", "outputFormat": "format", "csvDelimiter": "delimiter" }
Attribut | Beschreibung | Erforderlich? |
---|---|---|
metrics
|
Array von Messwerten. Sie können einen oder mehrere Messwerte für eine Abfrage angeben, in der jeder Messwert enthalten ist. Nur der Name des Messwerts ist erforderlich:
Die Attribute "metrics":[ { "name":"response_processing_latency", "function":"avg", "alias":"average_response_time_in_seconds", "operator":"/", "value":"1000" } ] Weitere Informationen finden Sie unter Referenz zu Analysemetriken, Dimensionen und Filtern. |
Ja |
dimensions
|
Array von Dimensionen zum Gruppieren der Messwerte. Weitere Informationen finden Sie in der Liste der unterstützten Dimensionen. Sie können mehrere Dimensionen angeben. | Ja |
timeRange
|
Zeitraum für die Abfrage.
Sie können die folgenden vordefinierten Strings verwenden, um den Zeitraum anzugeben:
Alternativ können Sie "timeRange": { "start": "2018-07-29T00:13:00Z", "end": "2018-08-01T00:18:00Z" } |
Ja |
limit
|
Maximale Anzahl von Zeilen, die im Ergebnis zurückgegeben werden können. | Nein |
filter
|
Boolescher Ausdruck, der zum Filtern von Daten verwendet werden kann. Filterausdrücke können mit UND/ODER-Begriffen kombiniert werden und sollten vollständig von Klammern umschlossen sein, um Mehrdeutigkeiten zu vermeiden. Weitere Informationen zu den Feldern, nach denen gefiltert werden kann, finden Sie im Referenzmaterial zu Analysemesswerten, -dimensionen und -filtern. Weitere Informationen zu den Tokens, die Sie zum Erstellen von Filterausdrücken verwenden, finden Sie unter Filterausdruckssyntax. | Nein |
groupByTimeUnit
|
Zeiteinheit, die zum Gruppieren der Ergebnisse verwendet wird. Gültige Werte sind: second , minute , hour , day , week oder month .
Wenn eine Abfrage |
Nein |
outputFormat
|
Ausgabeformat. Gültige Werte sind: csv oder json . Standardwert ist json entsprechend dem durch Zeilenumbruch abgegrenzten JSON.
Hinweis: Konfigurieren Sie das Trennzeichen für die CSV-Ausgabe mit dem Attribut |
Nein |
csvDelimiter
|
Trennzeichen in der CSV-Datei, wenn outputFormat auf csv gesetzt ist. Die Standardeinstellung ist das Zeichen , (Komma). Zu den unterstützten Trennzeichen gehören das Komma (, ), der senkrechte Strich (| ) und das Tabulatorzeichen (\t ).
|
Nein |
Filterausdruckssyntax
In diesem Referenzabschnitt werden die Tokens beschrieben, mit denen Sie Filterausdrücke im Anfragetext erstellen können. Der folgende Ausdruck verwendet beispielsweise das Token „ge“ (größer oder gleich):
"filter":"(message_count ge 0)"
Token | Beschreibung | Beispiele |
---|---|---|
in
|
In Liste aufnehmen | (apiproxy in 'ethorapi','weather-api') (apiproxy in 'ethorapi') (apiproxy in 'Search','ViewItem') (response_status_code in 400,401,500,501) Hinweis: Strings müssen in Anführungszeichen stehen. |
notin
|
Von Liste ausschließen | (response_status_code notin 400,401,500,501) |
eq
|
Gleich (==)
|
(response_status_code eq 504) (apiproxy eq 'non-prod') |
ne
|
Nicht gleich (!=)
|
(response_status_code ne 500) (apiproxy ne 'non-prod') |
gt
|
Größer als (>)
|
(response_status_code gt 500) |
lt
|
Kleiner als (<)
|
(response_status_code lt 500) |
ge
|
Größer als oder gleich (>=)
|
(target_response_code ge 400) |
le
|
Kleiner als oder gleich (<=)
|
(target_response_code le 300) |
like
|
Gibt "true" zurück, wenn das Zeichenfolgenmuster mit dem angegebenen Muster übereinstimmt.
Das Beispiel rechts stimmt so überein: - jeder Wert, der das Wort "buy" enthält - jeder Wert, der auf „item“ endet - jeder Wert, der mit „Prod“ beginnt – jeder Wert, der mit 4 beginnt, "response_status_code" ist numerisch
|
(apiproxy like '%buy%') (apiproxy like '%item') (apiproxy like 'Prod%') |
not like
|
Gibt "false" zurück, wenn das Zeichenfolgenmuster mit dem angegebenen Muster übereinstimmt. | (apiproxy not like '%buy%') (apiproxy not like '%item') (apiproxy not like 'Prod%') |
and
|
Ermöglicht die Verwendung von "und"-Logik, um mehr als einen Filterausdruck einzubeziehen. Der Filter enthält Daten, die alle Bedingungen erfüllen. | (target_response_code gt 399) and (response_status_code ge 400) |
or
|
Ermöglicht die Verwendung von 'oder' Logik, um verschiedene mögliche Filterausdrücke auszuwerten. Der Filter enthält Daten, die mindestens eine der Bedingungen erfüllen. | (response_size ge 1000) or (response_status_code eq 500) |
Einschränkungen und Standardwerte
Im Folgenden finden Sie eine Liste mit Einschränkungen und Standardeinstellungen für die asynchrone Abfrageverarbeitungsfunktion.
Einschränkung | Standardwert | Beschreibung |
---|---|---|
Limit für Abfrageaufrufe | Siehe: Beschreibung | Sie können bis zu sieben Aufrufe pro Stunde an die Apigee API /queries senden, um einen asynchronen Bericht zu erstellen. Wenn Sie das Aufrufkontingent überschreiten, gibt die API den HTTP-Fehler 429 zurück. |
Aktives Abfragelimit | 10 | Es sind bis zu zehn aktive Abfragen für eine Organisation/Umgebung möglich. |
Zeitraum für das Ausführen der Abfrage | 6 Stunden | Abfragen, die länger als sechs Stunden dauern, werden beendet. |
Abfragezeitraum | Siehe: Beschreibung | Der maximal zulässige Zeitraum für eine Abfrage beträgt 365 Tage. |
Limits für Dimensionen und Messwerte | 25 | Die maximale Anzahl an Dimensionen und Messwerten, die Sie in der Nutzlast der Abfrage angeben können. |
Informationen zu Abfrageergebnissen
Das folgende Beispiel zeigt ein Ergebnis im JSON-Format. Wie Sie die Ergebnisse anzeigen, hängt davon ab, welche Methode Sie zum Abrufen der Abfrageergebnisse verwendet haben:
- Wenn Sie die Methode
getResulturl
verwendet haben, können Sie die Ergebnisse unter der URL anzeigen, die im Felduri
des Ergebnisses angegeben wurde. Bei dieser Methode gibt es keine Größenbeschränkung für die Ergebnisse einer Abfrage. Wenn Sie die Methode
getResult
verwendet haben, werden die Ergebnisse in einer ZIP-Datei heruntergeladen.Die Methode
getResult
erzwingt eine Größenbeschränkung von 32 MB für die Ergebnisse einer Abfrage. Wenn die Ergebnisse 32 MB überschreiten, gibt die Abfrage den Statuscode 400 mit der Meldung „Abfrageergebnis ist größer als 32 MB zurück” zurück. Verwenden Sie die MethodegetReulturl
wie unter Abfrageergebnisse abrufen beschrieben, um dieses Limit zu vermeiden.
Die Ergebnisse bestehen aus JSON-Zeilen, die durch einen Zeilenumbruch getrennt sind, wie im folgenden Beispiel gezeigt:
{"message_count":"10209","apiproxy":"guest-auth-v3","hour":"2018-08-07 19:26:00 UTC"}
{"message_count":"2462","apiproxy":"carts-v2","hour":"2018-08-06 13:16:00 UTC"}
…
Sie können die Ergebnisse von der URL abrufen, bis die Daten im Repository abgelaufen sind. Weitere Informationen finden Sie unter Einschränkungen und Standardwerte.
Beispiele
Beispiel 1: Summe der Nachrichtenanzahl
Abfrage der Summe der Nachrichtenanzahl in den letzten 60 Minuten.
Abfrage
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @last60minutes.json
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Anfragetext von last60minutes.json anfordern
{
"metrics":[
{
"name":"message_count",
"function":"sum"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":"last60minutes"
}
Beispiel 2: Benutzerdefinierter Zeitraum
Abfrage mit einem benutzerdefinierten Zeitraum.
Abfrage
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @custom-timerange.json
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Anfragetext von custom-timerange.json
{
"metrics":[
{
"name":"message_count",
"function":"sum"
},
{
"name":"total_response_time",
"function":"avg",
"alias":"average_response_time"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-11-01T11:00:00Z",
"end":"2018-11-30T11:00:00Z"
}
}
Beispiel 3: Transaktionen pro Minute
Abfrage des Messwerts für Transaktionen pro Minute (tpm).
Abfrage
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @tpm.json
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Anfragetext von tpm.json
{
"metrics":[
{
"name":"tpm"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-07-01T11:00:00Z",
"end":"2018-07-30T11:00:00Z"
}
}
Beispielergebnis
Auszug aus der Ergebnisdatei:
{"tpm":149995.0,"apiproxy":"proxy_1","minute":"2018-07-06 12:16:00 UTC"} {"tpm":149998.0,"apiproxy":"proxy_1","minute":"2018-07-09 15:12:00 UTC"} {"tpm":3.0,"apiproxy":"proxy_2","minute":"2018-07-11 16:18:00 UTC"} {"tpm":148916.0,"apiproxy":"proxy_1","minute":"2018-07-15 17:14:00 UTC"} {"tpm":150002.0,"apiproxy":"proxy_1","minute":"2018-07-18 18:11:00 UTC"} ...
Beispiel 4: Filterausdruck verwenden
Abfrage mit einem Filterausdruck, der einen booleschen Operator verwendet.
Abfrage
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @filterCombo.json
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Anfragetext von filterCombo.json
{
"metrics":[
{
"name":"message_count",
"function":"sum"
},
{
"name":"total_response_time",
"function":"avg",
"alias":"average_response_time"
}
],
"filter":"(apiproxy ne \u0027proxy_1\u0027) and (apiproxy ne \u0027proxy_2\u0027)",
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":1000,
"timeRange":{
"start":"2018-11-01T11:00:00Z",
"end":"2018-11-30T11:00:00Z"
}
}
Beispiel 5: Übergabe des Ausdrucks im Messwertparameter
Abfrage mit einem Ausdruck, der als Teil des Messwerts übergeben wird. Sie können nur einfache Ein-Operator-Ausdrücke verwenden.
Abfrage
curl "https://apigee.googleapis.com/v1/organizations/ORG/environments/ENV/queries" \ -X POST \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d @metricsExpression.json
Dabei ist $TOKEN
auf Ihr OAuth 2.0-Zugriffstoken festgelegt. Weitere Informationen hierzu finden Sie unter OAuth 2.0-Zugriffstoken abrufen. Informationen zu den in diesem Beispiel verwendeten curl
-Optionen finden Sie unter curl verwenden. Eine Beschreibung der verwendeten Umgebungsvariablen finden Sie unter Umgebungsvariablen für Apigee API-Anfragen festlegen.
Anfragetext von metricsExpression.json anfordern
{
"metrics":[
{
"name":"message_count",
"function":"sum",
"operator":"/",
"value":"7"
}
],
"dimensions":[
"apiproxy"
],
"groupByTimeUnit":"minute",
"limit":10,
"timeRange":"last60minutes"
}