Google Cloud Pub/Sub Uzantısı

Apigee Edge belgelerini görüntülüyorsunuz.
Apigee X belgelerine gidin.
info

Sürüm: 1.2.0

Google Cloud Pub/Sub hizmetinde bir konuya mesaj yayınlayın.

Bu içerikte, bu uzantıyı yapılandırma ve kullanmayla ilgili referanslar sağlanmaktadır.

Ön koşullar

Bu uzantıyı bir API proxy'sinden kullanmadan önce:

  1. Hızlı başlangıç: Console'u kullanma bölümünde açıklandığı gibi bir Cloud Pub/Sub konusu oluşturun.

  2. Konuyu oluşturduktan sonra Cloud Pub/Sub konunuza yayın yapma izni verin. Örneğin, konulara içerik yayınlamak için roles/pubsub.publisher rolünü kullanabilirsiniz. Cloud Pub/Sub rolleri hakkında daha fazla bilgi için Erişim Denetimi başlıklı makaleyi inceleyin.

  3. Hizmet hesabı için anahtar oluşturmak üzere GCP Console'u kullanın.

  4. Yapılandırma referansını kullanarak uzantıyı ekleyip yapılandırırken elde edilen anahtar JSON dosyasının içeriğini kullanın.

Cloud Pub/Sub hakkında

Cloud Pub/Sub, gönderenleri ve alıcıları birbirinden ayıran çoklu-çoklu, eşzamansız mesajlaşma sağlar. Cloud Pub/Sub, geliştiricilerin Google Cloud Platform'da ve harici olarak barındırılan sistemleri hızlı bir şekilde entegre etmesine yardımcı olan düşük gecikmeli ve dayanıklı mesajlaşma sağlar.

Cloud Pub/Sub'u kullanmaya yeni başladıysanız Cloud Pub/Sub dokümanlarında yer alan hızlı başlangıç kılavuzlarına göz atın.

Örnekler

Aşağıdaki örneklerde, ExtensionCallout politikası kullanılarak Cloud Pub/Sub uzantı işlemleri için desteğin nasıl yapılandırılacağı gösterilmektedir.

İleti yayınlayın

Bu örnekte publish işlemi, uzantının yapılandırmasında belirtilen bir konuya basit bir mesaj yayınlar. publish işlemi, yayınlandığı konudaki yayınlanan mesajın kimliğini döndürür.

<?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>

Aşağıdaki Mesaj Ata politikası, yanıt yükü atamak için uzantının yanıtını depolayan değişkenin değerini kullanır.

<?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>

Bu örnekte, yanıt verileri aşağıdaki gibi JSON olarak döndürülür.

{"messageId":"165918654986954"}

İşlemler

yayınla

Bu uzantının yapılandırmasında belirtilen konuda bir mesaj yayınlar.

Söz dizimi

<Action>publish</Action>
<Input><![CDATA[{
  "message" : "message-to-publish"
}]]></Input>

Örnek

<Action>publish</Action>
<Input><![CDATA[
  {
      "message" : "My test message."
  }
]]></Input>

İstek parametreleri

Parametre Açıklama Tür Varsayılan Zorunlu
mesaj Yayınlanacak mesaj. Dize Yok. Evet.

Yanıt

Konuya yayınlandığı şekliyle ileti kimliğini içeren JSON. Örneğin:

{"messageId":"165918654986954"}

Yapılandırma Referansı

Bu uzantıyı API proxy'lerinde kullanılmak üzere yapılandırırken ve dağıtırken aşağıdakileri kullanın.

Ortak uzantı özellikleri

Aşağıdaki özellikler her uzantı için mevcuttur.

Mülk Açıklama Varsayılan Zorunlu
name Uzantının bu yapılandırmasını verdiğiniz ad. Yok Evet
packageName Apigee Edge'in sağladığı uzantı paketinin adı. Yok Evet
version Uzantıyı yapılandırdığınız uzantı paketinin sürüm numarası. Yok Evet
configuration Eklediğiniz uzantıya özgü yapılandırma değeri. Bu uzantı paketinin özellikleri başlıklı makaleyi inceleyin Yok Evet

Bu uzantı paketine ait özellikler

Mülk Açıklama Varsayılan Zorunlu
topic Yayınlanacak konu. Bu değeri Pub/Sub hizmetinden (ör. hizmetin GCP konsolundan) alın. Örneğin, konu adı projects/GCP-PROJECT-ID/topics/TOPIC-NAME biçiminde olabilir. Yok. Evet.
credentials Apigee Edge konsoluna girildiğinde bu, hizmet hesabı anahtar dosyanızın içeriği olur. Yönetim API'si üzerinden gönderildiğinde, hizmet hesabı anahtar dosyasından oluşturulan base64 kodlu bir değerdir. Yok. Evet.