Sie lesen gerade die Apigee Edge -Dokumentation.
Zur
Apigee X -Dokumentation. info
Version 1.6.1
Einträge in Cloud Logging-Logs schreiben.
Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung.
Vorbereitung
Bevor Sie diese Erweiterung über einen API-Proxy verwenden können, müssen Sie Folgendes tun:
Weisen Sie in IAM dem Projektmitglied, das Ihre Erweiterung im Cloud Logging-System repräsentiert, die Rolle Logging > Logs-Autor zu. Eine Anleitung zum Zuweisen von Rollen finden Sie unter Rollen einem Dienstkonto für bestimmte Ressourcen zuweisen. Weitere Informationen zu Logging-Rollen finden Sie im Leitfaden zur Zugriffssteuerung.
Generieren Sie in der Google Cloud Console einen Schlüssel für das Dienstkonto.
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mithilfe der Konfigurationsreferenz hinzufügen und konfigurieren.
Diese Erweiterung kann von einer ExtensionCallout-Richtlinie in PostClientFlow aufgerufen werden.
Wenn Sie die ExtensionCallout-Richtlinie verwenden möchten, um diese Erweiterung über einen
PostClientFlow aufzurufen, muss das Flag
auf true in Ihrer Organisation gesetzt sein.features.allowExtensionsInPostClientFlow
Wenn Sie Apigee Edge for Public Cloud-Kunde sind, müssen Sie sich an den Apigee Edge-Support wenden, um sicherzustellen, dass das
features.allowExtensionsInPostClientFlowFlag in Ihrer Organisation auftruegesetzt ist.Wenn Sie Apigee Edge for Private Cloud-Kunde sind, legen Sie das Flag zum Aktualisieren von Organisationseigenschaften API auf
features.allowExtensionsInPostClientFlowfest.true
Cloud Logging
Cloud Logging ist Teil der Operations-Suite von Google Cloud. Dazu gehören ein Speicher für Logs, eine Benutzeroberfläche namens Logs Explorer sowie eine API für die programmatische Verwaltung von Logs. Mit Cloud Logging können Sie Logeinträge lesen und schreiben, Logs suchen und filtern, Logs exportieren und logbasierte Messwerte erstellen.
Die Cloud Logging-Erweiterung schreibt derzeit Einträge in das Log. Weitere Informationen finden Sie in der Cloud Logging-Dokumentation.
Beispiele
Die folgenden Beispiele veranschaulichen, wie Sie die Unterstützung für Cloud Logging Erweiterungsaktionen mit der ExtensionCallout-Richtlinie konfigurieren.
Globales Log
Die folgende Richtlinie schreibt die Nachricht This is a test in ein Log namens
example-log in der globalen Ressource von Cloud. In der Praxis würde die Nachricht wahrscheinlich
in einer Ablaufvariablen enthalten sein, deren Wert Sie an einer anderen Stelle
im API-Proxy festlegen.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Logging-Extension">
<DisplayName>Logging Connector</DisplayName>
<Connector>cloud-extension-sample</Connector>
<Action>log</Action>
<Input><![CDATA[{
"logName": "example-log",
"metadata": {
"resource": {
"type": "global",
"labels": {
"project_id": "my-test"
}
}
},
"message": "This is a test."
}]]></Input>
</ConnectorCallout>
Dieser Inhalt enthält eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung. Eine Anleitung zum Konfigurieren einer Erweiterung mit der Apigee-Konsole finden Sie unter Erweiterung hinzufügen und konfigurieren.
Aktionen
log
Schreibt eine Nachricht in das Log.
Diese Aktion schreibt einen Cloud Logging-Logeintrag. Logeinträge bestehen aus Metadaten
und den Eintragsdaten. Weitere Informationen zu Logeinträgen finden Sie in der
Referenz zu Einträgen.
Informationen zum Inhalt des Att0/ributs metadata finden Sie im Objekt
LogEntry
in der Cloud Logging-Dokumentation.
Syntax
<Action>log</Action>
<Input><![CDATA[{
"logName" : "cloud-log-name-to-use",
"metadata" : JSON-structured-metadata,
"message" : "data-to-log-as-entry"
}]]></Input>
Beispiel: String
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message": "This is a test."
}]]></Input>
Beispiel: JSON
<Action>log</Action>
<Input><![CDATA[{
"logName" : "example-log",
"metadata" : { "resource" : { "type" : "global" } },
"message" : { "info" : "This is a test." }
}]]></Input>
Anfrageparameter
| Parameter | Beschreibung | Typ | Standard | Erforderlich |
|---|---|---|---|---|
logName |
Der Name des Logs, zu dem dieser Eintrag gehört. | String | Keine | Ja |
metadata |
Metadaten zum Logeintrag. Weitere Informationen und Optionen zum Festlegen von type und labels in metadata finden Sie unter MonitoredResource. |
JSON | Keine | Nein |
message |
Daten, die als Wert für diesen Logeintrag verwendet werden sollen. Sie können einen einfachen String angeben oder JSON verwenden, um eine strukturiertere Nachricht zu protokollieren. | String oder JSON | Keine | Ja |
Antwort
None Keine, wenn die Nachricht in das Log geschrieben wurde. Andernfalls gibt die Anfrage einen Fehler zurück. Weitere Informationen finden Sie unter Erweiterung debuggen.
Konfigurationsreferenz
Verwenden Sie die folgenden Informationen, wenn Sie diese Erweiterung für die Verwendung in API-Proxys konfigurieren und bereitstellen.
Allgemeine Erweiterungseigenschaften
Für jede Erweiterung sind die folgenden Eigenschaften vorhanden.
| Attribut | Beschreibung | Standard | Erforderlich |
|---|---|---|---|
name |
Der Name, den Sie dieser Konfiguration der Erweiterung zuweisen. | – | Ja |
packageName |
Name des Erweiterungspakets, wie von Apigee Edge angegeben. | – | Ja |
version |
Versionsnummer für das Erweiterungspaket, von dem Sie eine Erweiterung konfigurieren. | – | Ja |
configuration |
Konfigurationswert speziell für die Erweiterung, die Sie hinzufügen. Weitere Informationen finden Sie unter Eigenschaften für dieses Erweiterungspaket. | – | Ja |
Eigenschaften für dieses Erweiterungspaket
Geben Sie Werte für die folgenden Konfigurationseigenschaften an, die speziell für diese Erweiterung gelten.
| Attribut | Beschreibung | Standard | Erforderlich |
|---|---|---|---|
projectId |
Die Google Cloud-Projekt-ID, unter der Logs erstellt werden sollen. | Keine | Ja |
credentials |
Wenn in der Apigee Edge-Konsole eingegeben, ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn über die Verwaltungs-API gesendet, ist es ein base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wurde. | Keine | Ja |