In Pub/Sub, un argomento è una risorsa denominata che rappresenta un feed di messaggi. Devi creare un argomento prima di poterlo pubblicare o sottoscrivere. Pub/Sub supporta due tipi di argomenti: un argomento standard e un argomento 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 Trusted Cloud , Google Cloud CLI, la libreria client o l'API Pub/Sub.
Prima di iniziare
Scopri di più sul servizio Pub/Sub e sulla sua terminologia.
Scopri di più sulla procedura di pubblicazione.
Ruoli e autorizzazioni richiesti
Per ottenere le autorizzazioni
necessarie per creare un argomento,
chiedi all'amministratore di concederti il
ruolo IAM Editor Pub/Sub(roles/pubsub.editor
) nel progetto.
Per ulteriori informazioni sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questo ruolo predefinito contiene le autorizzazioni necessarie per creare un argomento. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare un argomento sono necessarie le seguenti autorizzazioni:
-
Concedi questa autorizzazione per creare un argomento nel progetto:
pubsub.topics.create
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 che si trova 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 la creazione. 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 conferma di 10 secondi
- Criterio immediato per nuovi tentativi
Abilita importazione
L'attivazione di questa proprietà consente di importare flussi di dati da origini esterne in un argomento in modo da poter utilizzare le funzionalità di Trusted Cloud. Per creare un argomento di importazione per l'inserimento, vedi quanto segue:
Attiva conservazione messaggi
Specifica per quanto tempo l'argomento Pub/Sub conserva i messaggi dopo la pubblicazione. Al termine del periodo di conservazione dei messaggi, Pub/Sub potrebbe eliminare il messaggio indipendentemente dal suo stato di riconoscimento. 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, vedi Sottoscrizioni BigQuery.
Esegui il backup dei 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 saperne di più sulle sottoscrizioni Cloud Storage, consulta Sottoscrizioni Cloud Storage.
Trasformazioni
Le SMT degli argomenti consentono modifiche leggere ai dati e agli attributi dei messaggi direttamente in Pub/Sub. Questa funzionalità consente la pulizia, il filtraggio o la conversione del formato dei dati prima che i messaggi vengano pubblicati nell'argomento.
Per saperne di più sulle trasformazioni SMT, consulta la panoramica delle trasformazioni SMT.
Google Cloud-powered encryption key
Specifica che l'argomento è criptato utilizzando Google Cloud-powered encryption keys. Pub/Sub cripta i messaggi con Google Cloud-powered encryption keys per impostazione predefinita, 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ù efficace disponibile. Questa opzione non richiede ulteriori configurazioni. Per maggiori informazioni su Google Cloud-powered encryption keys, consulta Crittografia predefinita con Google Cloud-powered encryption keys.
Chiave Cloud KMS
Specifica se l'argomento è criptato con una chiave di crittografia gestita dal cliente (CMEK). Pub/Sub cripta i messaggi con Google Cloud-powered encryption keys per impostazione predefinita. Se specifichi questa opzione, Pub/Sub utilizza il pattern di crittografia envelope con CMEK. Con questo approccio, Cloud KMS non cripta i messaggi. Cloud KMS cripta invece le chiavi di crittografia dei dati (DEK) che Pub/Sub crea 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 consegnati ai sottoscrittori. Per saperne di più sulla creazione di una chiave, vedi Configurare la crittografia dei messaggi.
Crea un argomento
Crea un argomento prima di poterlo pubblicare o sottoscrivere.
Console
Per creare un argomento:
Nella console Trusted Cloud , vai alla pagina Crea argomento di Pub/Sub.
Nel campo ID argomento, inserisci un ID per l'argomento. Per ulteriori informazioni sulla denominazione degli argomenti, consulta le linee guida per la denominazione.
Mantieni l'opzione Aggiungi una sottoscrizione predefinita.
Facoltativo. Non selezionare le altre opzioni.
Fai clic su Crea argomento.
gcloud
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:
- PROJECT_ID è l'ID progetto.
- TOPIC_ID è l'ID argomento.
Risposta:
{ "name": "projects/PROJECT_ID/topics/TOPIC_ID" }
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.
Passaggi successivi
Scegli il tipo di abbonamento per l'argomento.
Scopri come pubblicare un messaggio in un argomento.
Risolvi i problemi relativi a un argomento.
Crea o modifica un argomento con gcloud CLI, API REST o librerie client.