Questo documento descrive come creare un abbonamento pull. Puoi utilizzare la Trusted Cloud console, Google Cloud CLI, la libreria client o l'API Pub/Sub per creare una sottoscrizione pull.
Prima di iniziare
- Scopri di più sugli abbonamenti.
- Valuta se la tua attività richiede un abbonamento pull.
- Comprendere il funzionamento degli abbonamenti pull.
Ruoli e autorizzazioni richiesti
Per creare un abbonamento, devi configurare il controllo dell'accesso a livello di progetto. Hai bisogno anche delle autorizzazioni a livello di risorsa se gli abbonamenti e gli argomenti si trovano in progetti diversi, come descritto più avanti in questa sezione.
Per ottenere le autorizzazioni
necessarie per creare sottoscrizioni pull,
chiedi all'amministratore di concederti il ruolo IAM
Pub/Sub Editor (roles/pubsub.editor
) nel progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare sottoscrizioni pull. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare abbonamenti pull sono necessarie le seguenti autorizzazioni:
-
Pull da un abbonamento:
pubsub.subscriptions.consume
-
Crea un abbonamento:
pubsub.subscriptions.create
-
Eliminare un abbonamento:
pubsub.subscriptions.delete
-
Acquista un abbonamento:
pubsub.subscriptions.get
-
Elenca un abbonamento:
pubsub.subscriptions.list
-
Aggiornare un abbonamento:
pubsub.subscriptions.update
-
Allegare un abbonamento a un argomento:
pubsub.topics.attachSubscription
-
Recupera il criterio IAM per un abbonamento:
pubsub.subscriptions.getIamPolicy
-
Configura il criterio IAM per un abbonamento:
pubsub.subscriptions.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Se devi creare sottoscrizioni pull in un progetto associate a un argomento in un altro progetto, chiedi all'amministratore dell'argomento di concederti anche il ruolo IAM Editor Pub/Sub (roles/pubsub.editor)
per l'argomento.
Proprietà della sottoscrizione pull
Quando configuri una sottoscrizione pull, puoi specificare le seguenti proprietà.
Proprietà comuni
Scopri di più sulle proprietà comuni degli abbonamenti che puoi impostare per tutti gli abbonamenti.
Consegna "exactly-once"
Consegna "exactly-once". Se impostato, Pub/Sub soddisfa le garanzie di consegna exactly-once. Se non specificato, l'abbonamento supporta la distribuzione at-least-once per ogni messaggio.
Creare una sottoscrizione pull
Gli esempi riportati di seguito mostrano come creare un abbonamento con pull delivery, utilizzando le impostazioni predefinite fornite.
Console
Per creare un abbonamento pull, completa i seguenti passaggi.
Nella console Trusted Cloud , vai alla pagina Abbonamenti.
- Fai clic su Crea sottoscrizione.
Per il campo ID sottoscrizione, inserisci un nome.
Per informazioni su come denominare un abbonamento, consulta le linee guida per assegnare un nome a un argomento o a un abbonamento.
- Scegli o crea un argomento dal menu a discesa. La sottoscrizione riceve i messaggi dall'argomento.
- Mantieni Tipo di consegna impostato su Pull.
- Mantieni tutti gli altri valori predefiniti.
- Fai clic su Crea.
Puoi anche creare una sottoscrizione dalla sezione Argomenti. Questa scorciatoia è utile per associare argomenti alle sottoscrizioni.
Nella console Trusted Cloud , vai alla pagina Argomenti.
- Fai clic sumore_vertaccanto all'argomento su cui creare un abbonamento.
- Dal menu contestuale, seleziona Crea abbonamento.
Inserisci l'ID abbonamento.
Per informazioni su come denominare un abbonamento, consulta le linee guida per assegnare un nome a un argomento o a un abbonamento.
- Mantieni Tipo di consegna impostato su Pull.
- Mantieni tutti gli altri valori predefiniti.
- Fai clic su Crea.
gcloud
-
In the Trusted Cloud console, activate Cloud Shell.
At the bottom of the Trusted Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
-
Per creare una sottoscrizione pull, esegui il
gcloud pubsub subscriptions create
comando.gcloud pubsub subscriptions create SUBSCRIPTION_ID --topic=TOPIC_ID
Sostituisci quanto segue:
SUBSCRIPTION_ID
: Il nome o l'ID della nuova sottoscrizione pull.TOPIC_ID
: Il nome o l'ID dell'argomento.
- PROJECT_ID è l'ID progetto.
- SUBSCRIPTION_ID è l'ID abbonamento.
- TOPIC_ID è l'ID argomento.
REST
Per creare una sottoscrizione pull, utilizza il metodo
projects.subscriptions.create
:
Richiesta:
La richiesta deve essere autenticata con un token di accesso nell'intestazione
Authorization
. Per ottenere un
token di accesso per le Credenziali predefinite dell'applicazione correnti:
gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID Authorization: Bearer ACCESS_TOKEN
Corpo della richiesta:
{ "topic": "projects/PROJECT_ID/topics/TOPIC_ID" }
Dove:
Risposta:
{ "name": "projects/PROJECT_ID/subscriptions/SUBSCRIPTION_ID", "topic": "projects/PROJECT_ID/topics/TOPIC_ID", "pushConfig": {}, "ackDeadlineSeconds": 10, "messageRetentionDuration": "604800s", "expirationPolicy": { "ttl": "2678400s" } }
C++
Prima di provare questo esempio, segui le istruzioni di configurazione di C++ nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida all'utilizzo delle librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C#.
Vai
L'esempio seguente utilizza la versione principale della libreria client Go Pub/Sub (v2). Se utilizzi ancora la libreria v1, consulta la guida alla migrazione alla v2. Per visualizzare un elenco di esempi di codice della versione 1, consulta gli esempi di codice ritirati.
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Java di Pub/Sub.
Node.js
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
Node.ts
Prima di provare questo esempio, segui le istruzioni di configurazione di Node.js nella Guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Node.js.
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione di PHP nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub PHP.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Ruby
Il seguente esempio utilizza la libreria client Ruby Pub/Sub v3. Se utilizzi ancora la libreria v2, consulta la guida alla migrazione alla v3. Per visualizzare un elenco di esempi di codice Ruby v2, consulta gli esempi di codice ritirati.
Prima di provare questo esempio, segui le istruzioni di configurazione di Ruby nella guida rapida all'utilizzo delle librerie client. Per saperne di più, consulta la documentazione di riferimento dell'API Pub/Sub Ruby.
Monitorare le sottoscrizioni pull
Cloud Monitoring fornisce una serie di metriche per monitorare gli abbonamenti.
Per un elenco di tutte le metriche disponibili relative a Pub/Sub e le relative descrizioni, consulta la documentazione di Monitoring per Pub/Sub.
Puoi anche monitorare gli abbonamenti all'interno di Pub/Sub.
Passaggi successivi
- Crea o modifica un abbonamento con i comandi
gcloud
. - Crea o modifica un abbonamento con le API REST.