Sie lesen gerade die Dokumentation zu Apigee Edge.
Zur Dokumentation zu Apigee X info
Version 2.0.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, müssen Sie Folgendes tun:
Weisen Sie in IAM dem Projektmitglied, das Ihre Erweiterung im Cloud Logging-System repräsentiert, die Rolle Logging > Logs Writer zu. Eine Anleitung zum Zuweisen von Rollen finden Sie unter Einem Dienstkonto Rollen für bestimmte Ressourcen zuweisen. Weitere Informationen zu Logging-Rollen finden Sie im Leitfaden für die Zugriffssteuerung.
Schlüssel für das Dienstkonto mit der Google Cloud Console generieren
Verwenden Sie den Inhalt der resultierenden JSON-Schlüsseldatei, wenn Sie die Erweiterung mit der Konfigurationsreferenz hinzufügen und konfigurieren.
Diese Erweiterung kann von einer ExtensionCallout-Richtlinie aufgerufen werden, die sich im PostClientFlow befindet.
Wenn Sie die ExtensionCallout-Richtlinie verwenden möchten, um diese Erweiterung über einen PostClientFlow aufzurufen, muss das Flag features.allowExtensionsInPostClientFlow
in Ihrer Organisation auf true
gesetzt sein.
Wenn Sie Apigee Edge for Public Cloud-Kunde sind, müssen Sie sich an den Apigee Edge-Support wenden, um sicherzustellen, dass das
features.allowExtensionsInPostClientFlow
-Flag in Ihrer Organisation auftrue
gesetzt ist.Wenn Sie ein Apigee Edge for Private Cloud-Kunde sind, verwenden Sie die API zum Aktualisieren von Organisationsattributen, um das Flag
features.allowExtensionsInPostClientFlow
auftrue
zu setzen.
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 die Unterstützung für Cloud Logging-Erweiterungsaktionen mit der ExtensionCallout-Richtlinie konfiguriert wird.
Globales Log
Mit der folgenden Richtlinie wird die Nachricht This is a test
in ein Log namens example-log
in der globalen Cloud-Ressource geschrieben. In der Praxis würden Sie die Nachricht wahrscheinlich in einer Ablaufvariablen speichern, deren Wert Sie an anderer 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 ins Log.
Mit dieser Aktion wird ein Cloud Logging-Logeintrag geschrieben. Logeinträge bestehen aus Metadaten und den Eintragsdaten. Weitere Informationen zu Logeinträgen finden Sie in der Eintragsreferenz.
Informationen zum Inhalt der Eigenschaft metadata
finden Sie in der Cloud Logging-Dokumentation unter dem Objekt LogEntry.
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 Meldung zu protokollieren. | String oder JSON | Keine | Ja |
Antwort
None
, wenn die Nachricht in das Log geschrieben wurde. Andernfalls wird ein Fehler zurückgegeben. 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 für diese Erweiterung spezifisch sind.
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
projectId |
Die Google Cloud-Projekt-ID, unter der Logs erstellt werden sollen. | Keine | Ja |
credentials |
Wenn Sie diesen Wert in der Apigee Edge-Konsole eingeben, ist das der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Wenn er über die Management API gesendet wird, ist er ein Base64-codierter Wert, der aus der Dienstkonto-Schlüsseldatei generiert wird. | Keine | Ja |