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.
Questi contenuti forniscono un riferimento per la configurazione e l'utilizzo di questa estensione.
Prerequisiti
Prima di utilizzare questa estensione da un proxy API, devi:
Crea un argomento Cloud Pub/Sub, come descritto in Guida rapida: utilizzo della console.
Una volta creato l'argomento, concedi l'autorizzazione per pubblicare nell'argomento Cloud Pub/Sub. Ad esempio, puoi utilizzare il ruolo
roles/pubsub.publisherper pubblicare argomenti. Per saperne di più sui ruoli Cloud Pub/Sub, consulta Controllo dell'accesso.Utilizza la console GCP per generare una chiave per il service account.
Utilizza i contenuti del file JSON della chiave risultante quando aggiungi e configuri l'estensione utilizzando il riferimento alla configurazione.
Informazioni su Cloud Pub/Sub
Cloud Pub/Sub fornisce messaggistica asincrona many-to-many che disaccoppia mittenti e destinatari. Cloud Pub/Sub offre una messaggistica duratura a bassa latenza che aiuta gli sviluppatori a integrare rapidamente i sistemi ospitati su Google Cloud Platform e quelli esterni.
Se hai appena iniziato a utilizzare Cloud Pub/Sub, consulta le guide rapide nella documentazione di Cloud Pub/Sub.
Esempi
Gli esempi seguenti illustrano come configurare il supporto per le azioni di estensione Cloud Pub/Sub utilizzando il ExtensionCallout policy.
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 della risposta vengono restituiti in formato JSON, come segue.
{"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 alla configurazione
Utilizza quanto segue quando configuri ed esegui il deployment di questa estensione per l'utilizzo nei proxy API.
Proprietà comuni delle estensioni
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à di 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 GCP per il servizio. Ad esempio, il nome dell'argomento potrebbe avere 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 Management, è un valore codificato in base64 generato dal file delle chiavi del service account. | Nessuno. | Sì. |