Estensione Pub/Sub Google Cloud

Stai visualizzando la documentazione di Apigee Edge.
Consulta la documentazione di Apigee X.
info

Versione: 1.2.0

Pubblica messaggi in un argomento nel servizio Google Cloud Pub/Sub.

Questo contenuto fornisce un riferimento per la configurazione e l'utilizzo di questa estensione.

Prerequisiti

Prima di utilizzare questa estensione da un proxy API, devi:

  1. Crea un argomento Cloud Pub/Sub, come descritto in guida rapida: utilizzo della console.

  2. Una volta creato l'argomento, concedi l'autorizzazione a pubblicare nell'argomento Cloud Pub/Sub. Ad esempio, puoi utilizzare il ruolo roles/pubsub.publisher per pubblicare negli argomenti. Per saperne di più sui ruoli di Cloud Pub/Sub, consulta Controllo dell'accesso.

  3. Utilizza la console Google Cloud per generare una chiave per l'account di servizio.

  4. Utilizza i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento di configurazione.

Informazioni su Cloud Pub/Sub

Cloud Pub/Sub fornisce una messaggistica asincrona many-to-many che disaccoppia mittenti e destinatari. Cloud Pub/Sub offre una messaggistica durevole a bassa latenza che aiuta gli sviluppatori a integrare rapidamente i sistemi ospitati su Google Cloud Platform e all'esterno.

Se hai appena iniziato a utilizzare Cloud Pub/Sub, dai un'occhiata alle guide rapide nella documentazione di Cloud Pub/Sub.

Esempi

I seguenti esempi illustrano come configurare il supporto per le azioni dell'estensione Cloud Pub/Sub utilizzando il criterio ExtensionCallout.

Pubblica un messaggio

In questo esempio, l'azione publish pubblica un semplice messaggio in un argomento specificato nella configurazione dell'estensione. L'azione publish restituisce l'ID del messaggio pubblicato nell'argomento in cui è stato pubblicato.

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

Il seguente criterio Assign Message utilizza il valore della variabile che memorizza la risposta dell'estensione per assegnare il payload della risposta.

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

In questo esempio, i dati di risposta vengono restituiti come JSON, come di seguito.

{"messageId":"165918654986954"}

Azioni

pubblica

Pubblica un messaggio nell'argomento specificato nella configurazione di questa estensione.

Sintassi

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

Esempio

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

Parametri di richiesta

Parametro Descrizione Tipo Predefinito Obbligatorio
messaggio Il messaggio da pubblicare. Stringa Nessuno. Sì.

Risposta

JSON contenente l'ID del messaggio pubblicato nell'argomento. Ad esempio:

{"messageId":"165918654986954"}

Riferimento per la configurazione

Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API.

Proprietà comuni dell'estensione

Per ogni estensione sono presenti le seguenti proprietà.

Proprietà Descrizione Predefinito Obbligatorio
name Il nome che assegni a questa configurazione dell'estensione. Nessuno Sì
packageName Nome del pacchetto dell'estensione fornito da Apigee Edge. Nessuno Sì
version Numero di versione del pacchetto dell'estensione da cui stai configurando un'estensione. Nessuno Sì
configuration Valore di configurazione specifico per l'estensione che stai aggiungendo. Vedi Proprietà per questo pacchetto di estensioni Nessuno Sì

Proprietà per questo pacchetto di estensioni

Proprietà Descrizione Predefinito Obbligatorio
topic L'argomento in cui pubblicare. Ottieni questo valore dal servizio Pub/Sub, ad esempio dalla console Google Cloud per il servizio. Ad esempio, il nome dell'argomento potrebbe assumere il formato projects/GCP-PROJECT-ID/topics/TOPIC-NAME Nessuno. Sì.
credentials Se inserito nella console Apigee Edge, questo è il contenuto del file della chiave dell'account di servizio . Se inviato tramite l'API di gestione, è un valore codificato in base64 generato dal file della chiave dell'account di servizio. Nessuno. Sì.