Przeglądasz dokumentację Apigee Edge.
Otwórz dokumentację Apigee X. Informacje
Wersja: 1.2.0
Publikowanie wiadomości w określonym temacie w usłudze Google Cloud Pub/Sub.
Ta treść zawiera informacje na temat konfigurowania tego rozszerzenia i korzystania z niego.
Wymagania wstępne
Zanim użyjesz tego rozszerzenia z poziomu serwera proxy interfejsu API, musisz:
Utwórz temat Cloud Pub/Sub zgodnie z opisem w krótkim wprowadzeniu do korzystania z konsoli.
Gdy już będziesz mieć temat, przyznaj uprawnienia do publikowania w temacie Cloud Pub/Sub. Możesz na przykład użyć roli
roles/pubsub.publisher
, aby publikować w tematach. Więcej informacji o rolach w Cloud Pub/Sub znajdziesz w artykule Kontrola dostępu.Podczas dodawania i konfigurowania rozszerzenia przy użyciu dokumentu dotyczącego konfiguracji użyj zawartości powstałego klucza pliku JSON.
Informacje o Cloud Pub/Sub
Cloud Pub/Sub zapewnia asynchroniczne przesyłanie wiadomości typu wiele do wielu, które oddziela nadawców i odbiorców. Cloud Pub/Sub umożliwia przesyłanie wiadomości o małych opóźnieniach i trwałości, które pomagają programistom szybko integrować systemy hostowane w Google Cloud Platform i poza nią.
Jeśli dopiero zaczynasz korzystać z Cloud Pub/Sub, zapoznaj się z krótkimi wstępami w dokumentacji Cloud Pub/Sub.
Sample
Przykłady poniżej pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud Pub/Sub za pomocą zasady ExtensionCallout.
Opublikuj wiadomość
W tym przykładzie działanie publish
powoduje opublikowanie prostej wiadomości na temat określonego w konfiguracji rozszerzenia. Czynność publish
zwraca identyfikator opublikowanej wiadomości w temacie, w którym została opublikowana.
<?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.id</Output>
</ConnectorCallout>
Poniższa zasada Przypisz wiadomość do przypisania ładunku odpowiedzi wykorzystuje wartość zmiennej przechowującej odpowiedź rozszerzenia.
<?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.id}</Payload>
</Set>
</AssignMessage>
W tym przykładzie dane odpowiedzi są zwracane w formacie JSON, jak w przykładzie poniżej.
{"messageId":"165918654986954"}
Działania
publish
Publikuje wiadomość w temacie określonym w konfiguracji tego rozszerzenia.
Składnia
<Action>publish</Action>
<Input><![CDATA[{
"message" : "message-to-publish"
}]]></Input>
Przykład
<Action>publish</Action>
<Input><![CDATA[
{
"message" : "My test message."
}
]]></Input>
Parametry żądania
Parametr | Opis | Typ | Domyślne | Wymagane |
---|---|---|---|---|
wiadomość | Wiadomość do opublikowania. | Ciąg znaków | Brak. | Tak. |
Odpowiedź
Plik JSON zawierający identyfikator opublikowanej wiadomości w temacie. Na przykład:
{"messageId":"165918654986954"}
Dokumentacja konfiguracji
Skorzystaj z podanych niżej instrukcji podczas konfigurowania i wdrażania tego rozszerzenia na potrzeby serwerów proxy interfejsów API.
Typowe właściwości rozszerzeń
Dla każdego rozszerzenia dostępne są poniższe właściwości.
Usługa | Opis | Domyślnie | Wymagany |
---|---|---|---|
name |
Nazwa nadana konfiguracji rozszerzenia. | Brak | Tak |
packageName |
Nazwa pakietu rozszerzeń podana przez Apigee Edge. | Brak | Tak |
version |
Numer wersji pakietu rozszerzenia, z którego konfigurujesz rozszerzenie. | Brak | Tak |
configuration |
Wartość konfiguracji specyficzna dla dodawanego rozszerzenia. Zobacz Właściwości tego pakietu rozszerzeń | Brak | Tak |
Właściwości tego pakietu rozszerzeń
Właściwość | Opis | Domyślne | Wymagane |
---|---|---|---|
topic |
Temat, w którym publikowane są treści. Pobierz tę wartość z usługi Pub/Sub, na przykład z konsoli GCP dla usługi. Na przykład nazwa tematu może mieć postać projects/GCP-PROJECT-ID/topics/TOPIC-NAME |
Brak. | Tak. |
credentials |
Wpisana w konsoli Apigee Edge jest to zawartość pliku klucza konta usługi. Gdy jest wysyłana przez interfejs API zarządzania, jest to wartość zakodowana w formacie base64 wygenerowana z pliku klucza konta usługi. | Brak. | Tak. |