Google Cloud Pub/Sub Uzantısı

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

Sürüm: 1.2.0

Google Cloud Pub/Sub hizmetinde bir konu için mesaj yayınlayın.

Bu içerik, bu uzantıyı yapılandırmak ve kullanmak için referans sağlar.

Ön koşullar

Bu uzantıyı bir API proxy'sinden kullanmadan önce şunları yapmanız gerekir:

  1. Hızlı Başlangıç: Konsolu kullanma bölümünde açıklandığı şekilde bir Cloud Pub/Sub konusu oluşturun.

  2. Konuyu belirledikten sonra, Cloud Pub/Sub konunuza yayın yapmak için izin 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 edinmek için Erişim Denetimi bölümünü inceleyin.

  3. GCP Console'u kullanarak hizmet hesabı için bir anahtar oluşturun.

  4. Uzantıyı yapılandırma referansını kullanarak 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ı ayıran çoka-çok, eşzamansız mesajlaşma olanağı sunar. Cloud Pub/Sub, geliştiricilerin Google Cloud Platform'da ve harici olarak barındırılan sistemleri hızla entegre etmesine yardımcı olan düşük gecikmeli ve dayanıklı mesajlaşma sunar.

Cloud Pub/Sub'ı kullanmaya yeni başlıyorsanız Cloud Pub/Sub belgelerindeki hızlı başlangıç kılavuzlarına göz atın.

Sana Özel

Aşağıdaki örneklerde, ExtensionCall 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ünü 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 biçiminde döndürülür.

{"messageId":"165918654986954"}

İşlemler

publish

Bu uzantının yapılandırmasında belirtilen konuya 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 Gerekli
mesaj Yayınlanacak mesaj. Dize Yok. Evet.

Yanıt

Konuda yayınlanan iletinin kimliğini içeren JSON dosyası. Örneğin:

{"messageId":"165918654986954"}

Yapılandırma Referansı

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

Sık kullanılan 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ı paketinin özellikleri

Özellik Açıklama Varsayılan Gerekli
topic Yayınlanacak konu. Bu değeri Pub/Sub hizmetinden (ör. hizmet için GCP Console) alın. Örneğin, konu adı projects/GCP-PROJECT-ID/topics/TOPIC-NAME şeklinde olabilir Yok. Evet.
credentials Apigee Edge konsoluna girildiğinde bu, hizmet hesabı anahtar dosyanızın içeriğidir. Yönetim API'si aracılığıyla gönderildiğinde, hizmet hesabı anahtar dosyasından oluşturulan base64 kodlu bir değerdir. Yok. Evet.