In Pub/Sub, un argomento è una risorsa denominata che rappresenta un feed di messaggi. Devi creare un argomento prima di poterlo pubblicare o iscriverti. Pub/Sub supporta due tipi di argomenti: uno standard e uno di importazione.
Questo documento descrive come creare un argomento Pub/Sub standard. Se vuoi saperne di più su un argomento di importazione e su come crearne uno, consulta Informazioni sugli argomenti di importazione.
Per creare un argomento, puoi utilizzare la console Google Cloud, Google Cloud CLI, la libreria client o l'API Pub/Sub.
Prima di iniziare
Scopri di più sul servizio Pub/Sub e sulla relativa terminologia.
Scopri di più sulla procedura di pubblicazione.
Ruoli e autorizzazioni richiesti per gestire gli argomenti
Per ottenere le autorizzazioni necessarie per creare e gestire gli argomenti,
chiedi all'amministratore di concederti il ruolo IAM Editor Pub/Sub(roles/pubsub.editor
)
nel progetto o nell'argomento.
Per saperne di più sulla concessione dei ruoli, consulta Gestire l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare e gestire gli argomenti. Per visualizzare le autorizzazioni esatte richieste, espandi la sezione Autorizzazioni richieste:
Autorizzazioni obbligatorie
Per creare e gestire gli argomenti sono necessarie le seguenti autorizzazioni:
-
Crea un argomento:
pubsub.topics.create
-
Eliminare un argomento:
pubsub.topics.delete
-
Scollegare una sottoscrizione da un argomento:
pubsub.topics.detachSubscription
-
Ricevi un argomento:
pubsub.topics.get
-
Elenca un argomento:
pubsub.topics.list
-
Pubblicare in un argomento:
pubsub.topics.publish
-
Aggiornare un argomento:
pubsub.topics.update
-
Recupera il criterio IAM per un argomento:
pubsub.topics.getIamPolicy
-
Configura il criterio IAM per un argomento:
pubsub.topics.setIamPolicy
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Puoi configurare il controllo dell'accesso a livello di progetto e a livello di singola risorsa. Puoi creare una sottoscrizione in un progetto e collegarla a un argomento in un altro progetto. Assicurati di disporre delle autorizzazioni necessarie per ogni progetto.
Proprietà di un argomento
Quando crei o aggiorni un argomento, devi specificarne le proprietà.
Aggiungi una sottoscrizione predefinita
Aggiunge una sottoscrizione predefinita all'argomento Pub/Sub. Puoi creare un'altra sottoscrizione per l'argomento dopo averlo creato. L'abbonamento predefinito ha le seguenti proprietà:
- ID abbonamento di
-sub
- Tipo di distribuzione pull
- Durata di conservazione dei messaggi di sette giorni
- Scadenza dopo 31 giorni di inattività
- Scadenza per l'invio della conferma di 10 secondi
- Criterio immediato per nuovi tentativi
Utilizza uno schema
Uno schema è un formato che il campo dati del messaggio deve seguire. Uno schema è un contratto tra il publisher e l'abbonato che viene applicato da Pub/Sub. Gli schemi di argomenti contribuiscono a standardizzare i tipi di messaggi e le autorizzazioni in modo che possano essere utilizzati da diversi team della tua organizzazione. Pub/Sub crea un'autorità centrale per i tipi di messaggi e le autorizzazioni. Per creare un argomento con schema, consulta la Panoramica dello schema.
Abilita importazione
L'attivazione di questa proprietà ti consente di importare i dati in streaming da origini esterne in un argomento in modo da poter utilizzare le funzionalità di Google Cloud. Per creare un argomento di importazione per l'importazione, consulta quanto segue:
Attiva conservazione messaggi
Specifica il periodo di conservazione dei messaggi dall'argomento Pub/Sub dopo la pubblicazione. Al termine della durata di conservazione del messaggio, Pub/Sub potrebbe eliminarlo indipendentemente dal suo stato di conferma. Vengono addebitate le tariffe di archiviazione dei messaggi per l'archiviazione di tutti i messaggi pubblicati nell'argomento
- Valore predefinito = Non abilitato
- Valore minimo = 10 minuti
- Valore massimo = 31 giorni
Esporta i dati dei messaggi in BigQuery
L'attivazione di questa proprietà consente di creare una sottoscrizione BigQuery che scrive i messaggi in una tabella BigQuery esistente non appena vengono ricevuti. Non è necessario configurare un client abbonato separato. Per ulteriori informazioni sulle sottoscrizioni BigQuery, consulta Sottoscrizioni BigQuery.
Esportare i dati dei messaggi in Cloud Storage
L'attivazione di questa proprietà consente di creare una sottoscrizione Cloud Storage che scrive i messaggi in una tabella Cloud Storage esistente quando vengono ricevuti. Non è necessario configurare un client abbonato separato. Per ulteriori informazioni sulle sottoscrizioni Cloud Storage, consulta Abbonamenti Cloud Storage.
Chiave di crittografia gestita da Google
Specifica che l'argomento è criptato utilizzando chiavi di crittografia gestite da Google. Per impostazione predefinita, Pub/Sub cripta i messaggi con chiavi gestite da Google, quindi la scelta di questa opzione mantiene il comportamento predefinito. Google gestisce automaticamente la gestione e la rotazione delle chiavi, garantendo che i tuoi messaggi siano sempre protetti con la crittografia più avanzata disponibile. Questa opzione non richiede ulteriore configurazione. Per ulteriori informazioni sulle chiavi di crittografia gestite da Google, consulta Crittografia predefinita con chiavi di proprietà e gestite da Google.
Chiave Cloud KMS
Specifica se l'argomento è criptato con una chiave di crittografia gestita dal cliente (CMEK). Pub/Sub cripta i messaggi con chiavi di proprietà di Google e gestite da Google per impostazione predefinita. Se specifichi questa opzione, Pub/Sub utilizza il pattern di crittografia dell'involucro con CMEK. In questo approccio, Cloud KMS non cripta i messaggi. Al contrario, Cloud KMS cripta le chiavi di crittografia dei dati (DEK) create da Pub/Sub per ogni argomento. Pub/Sub cripta i messaggi utilizzando la DEK più recente generata per l'argomento. Pub/Sub decripta i messaggi poco prima che vengano recapitati ai sottoscrittori. Per ulteriori informazioni sulla creazione di una chiave, consulta Configurare la crittografia dei messaggi.
Crea un argomento
Devi creare un argomento prima di poterlo pubblicare o iscriverti.
Console
Per creare un argomento:
Nella console Google Cloud, vai alla pagina Argomenti di Pub/Sub.
Fai clic su Crea argomento.
Nel campo ID argomento, inserisci un ID per l'argomento. Per ulteriori informazioni sugli argomenti relativi ai nomi, consulta le linee guida per i nomi.
Mantieni l'opzione Aggiungi una sottoscrizione predefinita.
Facoltativo. Non selezionare le altre opzioni.
Fai clic su Crea argomento.
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 un argomento, esegui il comando
gcloud pubsub topics create
:gcloud pubsub topics create TOPIC_ID
REST
Per creare un argomento, utilizza il metodo
projects.topics.create
:
La richiesta deve essere autenticata con un token di accesso nell'intestazione Authorization
. Per ottenere un token di accesso per le attuali
Credenziali predefinite dell'applicazione: gcloud auth application-default print-access-token
.
PUT https://pubsub.googleapis.com/v1/projects/PROJECT_ID/topics/TOPIC_ID Authorization: Bearer ACCESS_TOKEN
Dove:
Risposta:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID" }
C++
Prima di provare questo esempio, segui le istruzioni di configurazione di C++ riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C++.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
C#
Prima di provare questo esempio, segui le istruzioni di configurazione di C# riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub C#.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Go
Prima di provare questo esempio, segui le istruzioni di configurazione di Go riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Go.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Java
Prima di provare questo esempio, segui le istruzioni di configurazione di Java riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Java.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Node.js
Node.js
PHP
Prima di provare questo esempio, segui le istruzioni di configurazione di PHP riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub PHP.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Python
Prima di provare questo esempio, segui le istruzioni di configurazione di Python riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Python.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Ruby
Prima di provare questo esempio, segui le istruzioni di configurazione di Ruby riportate nella guida rapida di Pub/Sub che utilizza le librerie client. Per ulteriori informazioni, consulta la documentazione di riferimento dell'API Pub/Sub Ruby.
Per autenticarti a Pub/Sub, configura le Credenziali predefinite dell'applicazione. Per ulteriori informazioni, consulta Configurare l'autenticazione per un ambiente di sviluppo locale.
Vincoli dei criteri dell'organizzazione
I criteri dell'organizzazione possono limitare la creazione di argomenti. Ad esempio, un criterio può limitare l'archiviazione dei messaggi in una regione Compute Engine. Per evitare errori di creazione degli argomenti, esamina e aggiorna le norme dell'organizzazione, se necessario, prima di creare un argomento.
Se il progetto è stato appena creato, attendi qualche minuto per l'inizializzazione del criterio dell'organizzazione prima di creare un argomento.
Vai a Criteri dell'organizzazione
Per ulteriori informazioni, consulta Configurare i criteri di archiviazione dei messaggi.
Passaggi successivi
Scegli il tipo di sottoscrizione per l'argomento.
Scopri come pubblicare un messaggio in un argomento.
Crea o modifica un argomento con gcloud CLI, API REST o librerie client.