Rozszerzenie Google Cloud Pub/Sub

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:

  1. Utwórz temat Cloud Pub/Sub zgodnie z opisem w krótkim wprowadzeniu do korzystania z konsoli.

  2. 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.

  3. Wygeneruj klucz konta usługi w konsoli GCP.

  4. 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.