<ph type="x-smartling-placeholder"></ph>
Sie sehen die Dokumentation zu Apigee Edge.
Gehen Sie zur
Apigee X-Dokumentation. Weitere Informationen
<ph type="x-smartling-placeholder">
Version: 1.5.2
Veröffentlichen Sie Nachrichten zu einem Thema im Google Cloud Pub/Sub-Dienst.
Dieser Inhalt bietet eine Referenz zum Konfigurieren und Verwenden dieser Erweiterung.
Vorbereitung
Bevor Sie die Erweiterung über einen API-Proxy mithilfe der ExtensionCallout-Richtlinie verwenden können, müssen Sie:
Erstellen Sie ein Cloud Pub/Sub-Thema, wie unter Schnellstart: Console verwenden beschrieben.
Wenn Sie das Thema haben, erteilen Sie die Berechtigung zur Veröffentlichung in Ihrem Cloud Pub/Sub-Thema. Sie können beispielsweise mit der Rolle
roles/pubsub.publisher
in Themen veröffentlichen. Weitere Informationen zu Cloud Pub/Sub-Rollen finden Sie unter Zugriffssteuerung.Generieren Sie mit der GCP 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.
Informationen zu Cloud Pub/Sub
Cloud Pub/Sub bietet asynchrones m:n-Messaging, das Absender und Empfänger entkoppelt. Cloud Pub/Sub ist ein beständiger Nachrichtendienst mit niedriger Latenz, der es Entwicklern ermöglicht, auf der Google Cloud Platform oder extern gehostete Systeme schnell zu integrieren.
Wenn Sie Cloud Pub/Sub zum ersten Mal verwenden, sehen Sie sich die Kurzanleitungen in der Cloud Pub/Sub-Dokumentation an.
Beispiele
Die folgenden Beispiele zeigen, wie Sie die Unterstützung für Cloud Pub/Sub-Erweiterungsaktionen mithilfe der ExtensionCallout-Richtlinie konfigurieren.
SMS-Nachricht
In diesem Beispiel veröffentlicht die Aktion publish
eine Nachricht als einfacher String zu einem Thema, das in der Konfiguration der Erweiterung angegeben ist. Die Aktion publish
gibt die ID der veröffentlichten Nachricht in dem Thema zurück, in dem sie veröffentlicht wurde, und schreibt sie in die im Tag <Output>
angegebene Variable:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
<DisplayName>Publish Message</DisplayName>
<Connector>cloud-pub-sub-extension-example</Connector>
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
<Output>topic.message</Output>
</ConnectorCallout>
Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, die die Antwort der Erweiterung speichert, um der Antwortnutzlast zuzuweisen. Die Nachrichten-ID wird im Attribut messageId
der Ausgabevariable gespeichert:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
<DisplayName>Get Topic Message ID</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{topic.message.messageId}</Payload>
</Set>
</AssignMessage>
Die Antwortdaten werden im JSON-Format zurückgegeben:
{"messageId":"165918654986954"}
Der Wert von topic.message.messageId
ist daher 165918654986954.
JSON-Nachricht
In diesem Beispiel veröffentlicht die Aktion publish
eine Nachricht als JSON in einem Thema, das in der Konfiguration der Erweiterung angegeben ist. Die Aktion publish
gibt die ID der veröffentlichten Nachricht in dem Thema zurück, in dem sie veröffentlicht wurde, und schreibt sie in die im Tag <Output>
angegebene Variable:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ConnectorCallout async="false" continueOnError="true" enabled="true" name="Publish-Message">
<DisplayName>Publish Message</DisplayName>
<Connector>cloud-pub-sub-extension-example</Connector>
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" }
}
]]></Input>
<Output>topic.message</Output>
</ConnectorCallout>
Die folgende Richtlinie Nachricht zuweisen verwendet den Wert der Variablen, die die Antwort der Erweiterung speichert, um der Antwortnutzlast zuzuweisen. Die Nachrichten-ID wird im Attribut messageId
der Ausgabevariable gespeichert:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AssignMessage async="false" continueOnError="false" enabled="true" name="Get-Topic-Message-ID">
<DisplayName>Get Topic Message ID</DisplayName>
<AssignTo type="response" createNew="false"/>
<Set>
<Payload contentType="application/json">{topic.message.messageId}</Payload>
</Set>
</AssignMessage>
Die Antwortdaten werden im JSON-Format zurückgegeben:
{"messageId":"165918654986954"}
Der Wert von topic.message.messageId
ist daher 165918654986954.
Aktionen
<ph type="x-smartling-placeholder">
publish
Veröffentlicht eine Nachricht in dem Thema, das in der Konfiguration dieser Erweiterung angegeben ist.
Syntax
<Action>publish</Action>
<Input><![CDATA[{
"message" : "message-to-publish" | JSON-structured-data,
"customAttributes": JSON-array
}]]></Input>
String-Beispiel
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
Beispiel für strukturierte JSON-Daten
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" }
}
]]></Input>
Beispiel für benutzerdefinierte Attribute
<Action>publish</Action>
<Input><![CDATA[
{
"message" : { "info" : "My test message" },
"customAttributes": {"attr1": "foo", "attr2": "bar"}
}
]]></Input>
Anfrageparameter
Parameter | Beschreibung | Typ | Default | Erforderlich |
---|---|---|---|---|
Nachricht | Die zu veröffentlichende Nachricht. Sie können einen einfachen String verwenden oder Ihre Nachricht mit JSON Ihres eigenen Designs strukturieren. | String oder JSON | Keine | Ja |
customAttributes | Benutzerdefinierte Attribute, die der Nachricht im Formular hinzugefügt werden sollen: "customAttributes": {"attr1": "foo", "attr2": "bar"} . |
JSON-Array | Keine | Nein |
Antwort
JSON-Datei mit der ID der im Thema veröffentlichten Nachricht. Beispiel:
{"messageId":"165918654986954"}
Konfigurationsreferenz
Verwenden Sie Folgendes, wenn Sie diese Erweiterung zur 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
Attribut | Beschreibung | Standard | Erforderlich |
---|---|---|---|
topic |
Das Thema, in dem die Veröffentlichung erfolgen soll. Rufen Sie diesen Wert aus dem Pub/Sub-Dienst ab, z. B. aus der GCP Console für den Dienst. Der Themenname könnte beispielsweise das Format projects/GCP-PROJECT-ID/topics/TOPIC-NAME haben. |
Keine. | Ja. |
credentials |
Bei Eingabe in die Apigee Edge-Konsole ist dies der Inhalt Ihrer Dienstkonto-Schlüsseldatei. Beim Senden über die Verwaltungs-API handelt es sich um einen base64-codierten Wert, der aus der Schlüsseldatei des Dienstkontos generiert wird. | Keine. | Ja. |