Questo documento descrive come creare una sottoscrizione pull. Puoi utilizzare la console Google Cloud, Google Cloud CLI, la libreria client o l'API Pub/Sub per creare una sottoscrizione pull.
Prima di iniziare
- Scopri di più sugli abbonamenti.
- Valutare se la tua attività richiede un abbonamento pull.
- Scopri come funzionano le sottoscrizioni pull.
Autorizzazioni e ruoli richiesti
Per creare un abbonamento, devi configurare il controllo dell'accesso a livello di progetto. Devi disporre delle autorizzazioni a livello di risorsa anche se le sottoscrizioni e gli argomenti si trovano in progetti diversi, come illustrato più avanti in questa sezione.
Per ottenere le autorizzazioni necessarie per creare sottoscrizioni pull,
chiedi all'amministratore di concederti il ruolo IAM
Editor Pub/Sub (roles/pubsub.editor
) per il progetto.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare sottoscrizioni pull. Per visualizzare le autorizzazioni esatte necessarie, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare sottoscrizioni pull, sono necessarie le seguenti autorizzazioni:
-
Esegui il pull da una sottoscrizione:
pubsub.subscriptions.consume
-
Crea una sottoscrizione:
pubsub.subscriptions.create
-
Elimina una sottoscrizione:
pubsub.subscriptions.delete
-
Acquista un abbonamento:
pubsub.subscriptions.get
-
Elenca un abbonamento:
pubsub.subscriptions.list
-
Aggiorna un abbonamento:
pubsub.subscriptions.update
-
Allega una sottoscrizione a un argomento:
pubsub.topics.attachSubscription
-
Ottieni il criterio IAM per una sottoscrizione:
pubsub.subscriptions.getIamPolicy
-
Configura il criterio IAM per un abbonamento:
pubsub.subscriptions.setIamPolicy
Potresti anche essere in grado di ottenere queste autorizzazioni con i ruoli personalizzati o altri ruoli predefiniti.
Se devi creare sottoscrizioni pull in un progetto associati 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.
Esegui il pull delle proprietà della sottoscrizione
Quando configuri una sottoscrizione pull, puoi specificare le seguenti proprietà.
Proprietà comuni
Scopri di più sulle proprietà di abbonamento comuni che puoi impostare per tutte le sottoscrizioni.
Consegna "exactly-once"
Distribuzione "exactly-once". Se impostato, Pub/Sub soddisfa le garanzie di consegna exactly-once. Se non specificato, la sottoscrizione supporta la consegna at-least-once per ogni messaggio.
Creare una sottoscrizione pull
I seguenti esempi mostrano come creare una sottoscrizione con consegna pull, utilizzando le impostazioni predefinite fornite.
Console
Per creare una sottoscrizione pull, completa i passaggi riportati di seguito.
Nella console Google Cloud, vai alla pagina Abbonamenti.
- Fai clic su Crea sottoscrizione.
Inserisci un nome nel campo ID abbonamento.
Per informazioni su come assegnare un nome a una sottoscrizione, consulta le linee guida per assegnare un nome a un argomento o a una sottoscrizione.
- Scegli o crea un argomento dal menu a discesa. La sottoscrizione riceve messaggi dall'argomento.
- Mantieni il Tipo di consegna su Pull.
- Mantieni tutti gli altri valori predefiniti.
- Fai clic su Crea.
Puoi creare un abbonamento anche dalla sezione Argomenti. Questa scorciatoia è utile per associare gli argomenti agli abbonamenti.
Nella console Google Cloud, vai alla pagina Argomenti.
- Fai clic su more_vert accanto all'argomento per cui creare una sottoscrizione.
- Dal menu contestuale, seleziona Crea abbonamento.
Inserisci l'ID abbonamento.
Per informazioni su come assegnare un nome a una sottoscrizione, consulta le linee guida per assegnare un nome a un argomento o a una sottoscrizione.
- Mantieni il Tipo di consegna su Pull.
- Mantieni tutti gli altri valori predefiniti.
- Fai clic su Crea.
gcloud
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google 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
comando
gcloud pubsub subscriptions create
.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.
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 di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C++ di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API C# di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Go di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Java di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Node.js
Node.js
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione di PHP nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API PHP di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Python di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Ruby
Prima di provare questo esempio, segui le istruzioni di configurazione di Ruby nella guida rapida di Pub/Sub sull'utilizzo delle librerie client. Per maggiori informazioni, consulta la documentazione di riferimento dell'API Ruby di Pub/Sub.
Per eseguire l'autenticazione in Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per maggiori informazioni, consulta Configurare l'autenticazione per le librerie client.
Passaggi successivi
- Crea o modifica una sottoscrizione con i comandi
gcloud
. - Creare o modificare una sottoscrizione con le API REST.