Rozszerzenie Google Cloud Pub/Sub

Wyświetlasz dokumentację Apigee Edge.
Przejdź do dokumentacji Apigee X.
info

Wersja: 1.2.0

Publikowanie wiadomości w temacie w usłudze Google Cloud Pub/Sub.

Te treści zawierają informacje o konfigurowaniu i używaniu tego rozszerzenia.

Wymagania wstępne

Zanim zaczniesz korzystać z tego rozszerzenia w ramach serwera proxy interfejsu API, musisz:

  1. Utworzyć temat Cloud Pub/Sub zgodnie z opisem w artykule Krótkie wprowadzenie: korzystanie z konsoli.

  2. Gdy masz już temat, przyznaj uprawnienia do publikowania w temacie Cloud Pub/Sub. Do publikowania w tematach możesz na przykład użyć roli roles/pubsub.publisher. Więcej informacji o rolach Cloud Pub/Sub znajdziesz w artykule Kontrola dostępu.

  3. Wygenerować klucz konta usługi w konsoli GCP.

  4. Podczas dodawania i konfigurowania rozszerzenia za pomocą odwołania do konfiguracji użyć zawartości wynikowego pliku JSON z kluczem.

Informacje o Cloud Pub/Sub

Cloud Pub/Sub zapewnia asynchroniczne przesyłanie wiadomości „wiele do wielu”, które oddziela nadawców i odbiorców. Cloud Pub/Sub zapewnia trwałe przesyłanie wiadomości z niewielkim opóźnieniem, co pomaga deweloperom 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 wprowadzeniami w dokumentacji Cloud Pub/Sub.

Przykłady

Poniższe przykłady pokazują, jak skonfigurować obsługę działań rozszerzenia Cloud Pub/Sub za pomocą zasady ExtensionCallout.

Opublikuj wiadomość

W tym przykładzie działanie publish publikuje prostą wiadomość w temacie określonym w konfiguracji rozszerzenia. Działanie 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>

Ta zasada Assign Message używa wartości zmiennej przechowującej odpowiedź rozszerzenia do przypisania ładunku odpowiedzi.

<?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 jako JSON, np. w taki sposób:

{"messageId":"165918654986954"}

Działania

publikowanie

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ślny Wymagane
wiadomość Wiadomość do opublikowania. Ciąg znaków Brak. Tak.

Odpowiedź

JSON zawierający identyfikator wiadomości opublikowanej w temacie. Na przykład:

{"messageId":"165918654986954"}

Odwołanie do konfiguracji

Podczas konfigurowania i wdrażania tego rozszerzenia do użytku w serwerach proxy interfejsu API użyj tych informacji.

Wspólne właściwości rozszerzenia

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 rozszerzenia

Właściwość Opis Domyślny Wymagane
topic Temat, w którym chcesz opublikować. Tę wartość uzyskasz z usługi Pub/Sub, np. z konsoli GCP. Nazwa tematu może mieć na przykład postać projects/GCP-PROJECT-ID/topics/TOPIC-NAME. Brak. Tak.
credentials Gdy wpiszesz te dane w konsoli Apigee Edge, będzie to zawartość pliku klucza konta usługi. Gdy wysyłasz je za pomocą interfejsu Management API, jest to wartość zakodowana w base64 wygenerowana z pliku klucza konta usługi. Brak. Tak.