In questa pagina viene spiegato come creare sottoscrizioni Pub/Sub con filtri.
Quando ricevi i messaggi da una sottoscrizione con un filtro, riceverai solo quelli che corrispondono a un filtro. Il servizio Pub/Sub riconosce automaticamente i messaggi che non corrispondono al filtro. Puoi filtrare i messaggi in base ai rispettivi attributi, ma non in base ai dati contenuti nel messaggio.
Puoi collegare più sottoscrizioni a un argomento e ogni sottoscrizione può avere un filtro diverso.
Ad esempio, se hai un argomento che riceve notizie da diverse parti del mondo, puoi configurare una sottoscrizione per filtrare le notizie pubblicate solo da una regione specifica. Per questa configurazione, devi assicurarti che uno degli attributi dei messaggi dell'argomento trasmetta la regione di pubblicazione delle notizie.
Quando ricevi i messaggi da una sottoscrizione con un filtro, non ti vengono addebitati costi per i messaggi in uscita per i messaggi che Pub/Sub riconosce automaticamente. Per questi messaggi sono previsti costi di consegna dei messaggi e tariffe per l'archiviazione correlate alla ricerca .
Creare una sottoscrizione con un filtro
Le sottoscrizioni pull e push possono avere filtri. Tutti i sottoscrittori possono ricevere messaggi da sottoscrizioni con filtri, inclusi i sottoscrittori che utilizzano l'API StreamingPull.
Puoi creare una sottoscrizione con un filtro utilizzando la Google Cloud console, Google Cloud CLI, le librerie client o l'API Pub/Sub.
Console
Per creare una sottoscrizione pull con un filtro:
Nella Google Cloud console, vai alla pagina Sottoscrizioni.
Fai clic su Crea sottoscrizione.
Inserisci l'ID sottoscrizione.
Scegli o crea un argomento dal menu a discesa. La sottoscrizione riceve i messaggi dall'argomento.
Nella sezione Filtro sottoscrizione, inserisci l' espressione di filtro.
Fai clic su Crea.
Per creare una sottoscrizione push con un filtro:
Nella Google Cloud console, vai alla pagina Sottoscrizioni.
Fai clic su Crea sottoscrizione.
Inserisci l'ID sottoscrizione.
Scegli o crea un argomento dal menu a discesa. La sottoscrizione riceve i messaggi dall'argomento.
Nella sezione Tipo di consegna, fai clic su Push.
Nel campo URL endpoint, inserisci l'URL dell'endpoint push.
Nella sezione Filtro sottoscrizione, inserisci l' espressione di filtro.
Fai clic su Crea.
gcloud
Per creare una sottoscrizione pull con un filtro, utilizza il
gcloud pubsub subscriptions create
comando con il --message-filter flag:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --message-filter='FILTER'
Sostituisci quanto segue:
- SUBSCRIPTION_ID: l'ID della sottoscrizione da creare
- TOPIC_ID: l'ID dell'argomento da collegare alla sottoscrizione
- FILTER: un'espressione nella sintassi di filtro
Per creare una sottoscrizione push con un filtro, utilizza il
gcloud pubsub subscriptions create
comando con i flag --push-endpoint e --message-filter:
gcloud pubsub subscriptions create SUBSCRIPTION_ID \ --topic=TOPIC_ID \ --push-endpoint=PUSH_ENDPOINT