Condivisione di stream con Pub/Sub
Puoi condividere gli argomenti Pub/Sub tramite la condivisione di BigQuery (precedentemente Analytics Hub) per organizzare e distribuire una libreria di dati di streaming in più confini organizzativi interni ed esterni. I dati di streaming in tempo reale vengono condivisi utilizzando gli exchange e gli elenchi di condivisione BigQuery, che consentono di categorizzare e raggruppare logicamente grandi insiemi di argomenti Pub/Sub e di eseguire il provisioning dell'accesso su larga scala.
Puoi condividere i dati di streaming per:
- Servizi finanziari:
- Condividi in tempo reale i prezzi degli strumenti, i preventivi e gli ordini in rapida evoluzione.
- Rilevare il riciclaggio di denaro e le frodi nei pagamenti.
- Supportare i calcoli del rischio di trading.
- Vendita al dettaglio e beni di largo consumo:
- Gestisci l'inventario del negozio in tempo reale.
- Personalizzare il marketing e l'assistenza clienti.
- Modifica i prezzi in modo dinamico.
- Monitora i canali social.
- Ottimizzare i layout dei negozi fisici.
- Sanità:
- Potenzia gli algoritmi predittivi per monitorare i pazienti e analizzare il rischio in tempo reale.
- Monitora i parametri vitali con dispositivi medici indossabili.
- Acquisire, strutturare, archiviare ed elaborare automaticamente i dati di pazienti, professionisti sanitari e amministrazione della struttura.
- Telecomunicazioni:
- Monitora lo stato della rete e prevedi gli errori.
- Scopri i pattern di comportamento degli utenti per individuare meglio dispositivi e antenne.
Ruoli obbligatori
I ruoli per la condivisione degli argomenti Pub/Sub sono analoghi alla condivisione dei set di dati BigQuery:
- Amministratore: gestisce le autorizzazioni, la visibilità e l'appartenenza di
scambi e schede. Questo ruolo è analogo al ruolo IAM
Analytics Hub Admin
(
roles/analyticshub.admin). - Publisher di argomenti condivisi: crea, gestisce e concede l'accesso agli elenchi degli argomenti Pub/Sub condivisi. Questo ruolo è analogo al ruolo IAM Publisher di Analytics Hub o Amministratore schede di Analytics Hub. Il publisher è un utente, non l'applicazione publisher che crea e invia messaggi all'argomento.
- Sottoscrittore dell'argomento condiviso: si iscrive all'elenco degli argomenti condivisi. Gli abbonati all'argomento condiviso possono configurare la modalità di consegna dei messaggi dell'argomento. Questo ruolo è analogo al ruolo IAM Analytics Hub Subscriber o Analytics Hub Subscription Owner. A seconda di come vengono forniti i dati dei messaggi, potrebbero essere necessarie autorizzazioni aggiuntive, ad esempio le autorizzazioni del account di servizio Pub/Sub per scrivere messaggi in BigQuery.
Architettura
Il seguente diagramma descrive l'interazione tra publisher e sottoscrittori di risorse Pub/Sub e BigQuery sharing:
Limitazioni
La condivisione di flussi con Pub/Sub presenta le seguenti limitazioni:
- Un argomento condiviso supporta un massimo di 10.000 abbonamenti Pub/Sub. Questo limite include le sottoscrizioni Pub/Sub collegate e le sottoscrizioni Pub/Sub create al di fuori della condivisione, ad esempio quelle create direttamente da Pub/Sub.
Gli argomenti condivisi vengono indicizzati in Data Catalog (ritirato) e Dataplex Universal Catalog, ma non puoi filtrare in modo specifico in base al tipo di risorsa.
Le metriche di utilizzo vengono acquisite e visualizzate nella dashboard delle metriche per gli argomenti e gli abbonamenti Pub/Sub condivisi, ma non sono disponibili in
INFORMATION_SCHEMA.SHARED_DATASET_USAGE.Per monitorare le metriche, consulta Monitorare Pub/Sub in Cloud Monitoring.
Queste metriche possono includere:
- Numero di messaggi pubblicati
- Richieste di pubblicazione
- Velocità effettiva di pubblicazione in byte
- I 5 abbonamenti principali
- Byte importati
- Altro
Abilita l'API Analytics Hub
Per abilitare l'API Analytics Hub:
Console
Vai alla libreria API e abilita l'API Analytics Hub per il tuo progettoGoogle Cloud .
gcloud
Esegui il comando gcloud services enable:
gcloud services enable analyticshub.googleapis.com
Abilita l'API Pub/Sub
Vai alla libreria API e abilita l'API Pub/Sub per il tuo progetto Google Cloud .
Workflow per i publisher di argomenti condivisi
In qualità di editore di argomenti condivisi, puoi:
- Aggiungi argomenti condivisi a una piattaforma di scambio creando una scheda.
- Aggiorna una scheda.
- Eliminare una scheda.
- Condividere una scheda.
- Gestisci le iscrizioni alla tua scheda.
- Rimuovi gli iscritti dalla tua scheda.
Autorizzazioni aggiuntive per i publisher
Per eseguire le attività di publisher di argomenti condivisi, devi disporre del
ruolo Publisher di Analytics Hub
(roles/analyticshub.publisher) in un exchange o una scheda. Per visualizzare tutti gli
scambi di dati
tra i progetti di un'organizzazione a cui hai accesso, devi disporre dell'autorizzazione
resourcemanager.organizations.get.
Inoltre, devi disporre dell'autorizzazione pubsub.topics.setIamPolicy per l'argomento Pub/Sub che vuoi elencare. Per condividere argomenti a cui è allegato uno schema, devi concedere ai sottoscrittori della condivisione BigQuery l'autorizzazione pubsub.schemas.get per lo schema allegato all'argomento. Questa autorizzazione consente agli abbonati alla condivisione BigQuery di analizzare correttamente i messaggi della sottoscrizione Pub/Sub.
Crea una scheda (per aggiungere un argomento condiviso)
Per aggiungere un argomento condiviso a una scheda, seleziona una delle seguenti opzioni:
Console
Vai alla pagina Sharing (Analytics Hub).
Vai a Condivisione (Analytics Hub)
La pagina elenca tutti gli scambi di dati a cui puoi accedere.
Fai clic sul nome dello scambio di dati in cui vuoi creare la scheda.
Fai clic su Crea scheda.
Nella pagina Crea elenco, seleziona "Argomento Pub/Sub" dall'elenco Tipo di risorsa.
Seleziona un argomento Pub/Sub esistente dall'elenco Argomento condiviso o fai clic su Crea un argomento.
Nella pagina Dettagli scheda, nel campo Nome visualizzato, inserisci il nome della scheda.
Inserisci i seguenti dettagli facoltativi:
Categoria: seleziona fino a due categorie che rappresentano al meglio la tua scheda. Gli iscritti agli argomenti condivisi possono filtrare gli annunci in base a queste categorie.
Affinità dei dati: la regione o le regioni utilizzate dall'editore dell'argomento condiviso per pubblicare i dati. Queste informazioni aiutano gli abbonati agli argomenti condivisi a ridurre al minimo o evitare i costi di traffico in uscita dalla rete Pub/Sub leggendo i dati dalla stessa regione. Per ulteriori informazioni sui costi in uscita, consulta Costi di trasferimento dei dati.
Icona: un'icona per la tua scheda. Sono supportati i formati file PNG e JPEG. Le icone devono avere dimensioni inferiori a 512 KiB e non superare i 512 x 512 pixel.
Descrizione: una breve descrizione della scheda. Gli iscritti all'argomento condiviso possono cercare annunci in base alla descrizione.
Rilevabilità pubblica: attiva la rilevabilità pubblica per la tua scheda nel catalogo di condivisione BigQuery. Devi anche impostare le autorizzazioni per la scheda. Fai clic su Azioni per lo scambio, quindi fai clic su Imposta autorizzazioni. Concedi a
allUsersoallAuthenticatedusersil ruolo Visualizzatore Analytics Hub (roles/analyticshub.viewer). Fai clic su Consenti accesso pubblico.Documentazione > Markdown: informazioni aggiuntive, ad esempio link alla documentazione pertinente e altri dettagli che aiutano gli abbonati all'argomento condiviso a utilizzare l'argomento.
Nella pagina Dati di contatto della scheda, inserisci i seguenti dettagli facoltativi:
Contatto principale: inserisci un indirizzo email o un URL per il contatto principale della scheda.
Contatto per la richiesta di accesso: inserisci un indirizzo email o un URL per il modulo di acquisizione che gli iscritti all'argomento condiviso possono utilizzare per contattarti.
Fornitore: espandi la sezione Fornitore e specifica i dettagli nei seguenti campi:
- Nome del fornitore: il nome del fornitore dell'argomento.
- Contatto principale del provider: un indirizzo email o un URL per il contatto principale del provider dell'argomento.
Gli abbonati agli argomenti condivisi possono filtrare le schede in base ai fornitori di dati.
Publisher: espandi la sezione Publisher e specifica i dettagli nei seguenti campi:
- Nome publisher: il nome del publisher dell'argomento condiviso che crea la scheda.
- Contatto principale del publisher: un indirizzo email o un URL per il contatto principale del publisher dell'argomento condiviso.
Controlla la pagina Anteprima scheda.
Fai clic su Pubblica.
API
Utilizza il metodo projects.locations.dataExchanges.listings.create.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings?listingId=LISTING_ID
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto che contiene il data exchange in cui vuoi creare la scheda.LOCATION: la posizione dello scambio di dati. Per maggiori informazioni sulle località che supportano la condivisione, consulta Regioni supportate.DATAEXCHANGE_ID: l'ID piattaforma di scambio di dati.LISTING_ID: l'ID scheda.
Nel corpo della richiesta, fornisci i dettagli della scheda. Se la richiesta ha esito positivo, il corpo della risposta contiene i dettagli della scheda.
Per saperne di più sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Aggiornare una scheda
Per aggiornare una scheda, seleziona una delle seguenti opzioni:
Console
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati contenente la scheda.
Fai clic sulla scheda che vuoi aggiornare.
Fai clic su Modifica scheda.
Modifica i valori dei campi. Puoi modificare tutti i valori, tranne l'argomento condiviso della scheda.
Per salvare le modifiche, fai clic su Pubblica.
API
Utilizza il metodo projects.locations.dataExchanges.listings.patch.
PATCH https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID?updateMask=UPDATEMASK
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto che contiene il data exchange in cui vuoi creare la scheda.LOCATION: la posizione dello scambio di dati. Per maggiori informazioni sulle località che supportano la condivisione, vedi Regioni supportate.DATAEXCHANGE_ID: l'ID piattaforma di scambio di dati.LISTING_ID: l'ID scheda.UPDATEMASK: l'elenco dei campi che vuoi aggiornare. Per aggiornare più valori, utilizza un elenco separato da virgole.
Nel corpo della richiesta, specifica i valori aggiornati.
Per saperne di più sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Eliminare una scheda
Non puoi eliminare schede con argomenti Pub/Sub condivisi che hanno sottoscrizioni attive. Revoca tutti gli abbonamenti attivi prima di tentare di eliminare un elenco di argomenti condivisi. Non puoi annullare l'eliminazione di una scheda.
Per eliminare una scheda, seleziona una delle seguenti opzioni:
Console
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati contenente la scheda.
Fai clic sulla scheda che vuoi eliminare.
Fai clic su Elimina.
Nella finestra di dialogo Vuoi eliminare la scheda?, conferma l'eliminazione digitando
delete.Fai clic su Elimina.
API
Utilizza il metodo projects.locations.dataExchanges.listings.delete.
DELETE https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto che contiene il data exchange in cui vuoi creare la scheda.LOCATION: la posizione dello scambio di dati. Per maggiori informazioni sulle località che supportano la condivisione, vedi Regioni supportate.DATAEXCHANGE_ID: l'ID piattaforma di scambio di dati.LISTING_ID: l'ID scheda.
Per saperne di più sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Condividere una scheda
Per consentire agli utenti di accedere a una scheda privata, imposta un criterio IAM per
un singolo utente o un gruppo per quella scheda. Per una scheda commerciale, il tuo
scambio di dati deve essere pubblico.
Le schede di uno scambio di dati pubblico vengono visualizzate nella condivisione per
tutti
gli utenti diGoogle Cloud (allAuthenticatedUsers).
Per consentire agli utenti di richiedere l'accesso alle schede commerciali, concedi loro il
ruolo Visualizzatore Analytics Hub
(roles/analyticshub.viewer).
Per consentire agli utenti di visualizzare la tua scheda o iscriversi, procedi nel seguente modo:
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati contenente la scheda.
Fai clic sulla scheda in cui vuoi aggiungere gli iscritti all'argomento condiviso.
Fai clic su Imposta autorizzazioni.
Per aggiungere entità, fai clic su Aggiungi entità.
Nel campo Nuove entità, aggiungi i dettagli in base al tipo di scheda:
- Per una scheda privata, inserisci gli indirizzi email delle identità a cui vuoi concedere l'accesso.
- Per una scheda pubblica, aggiungi
allAuthenticatedUsers.
Nel menu Seleziona un ruolo, seleziona Analytics Hub, quindi seleziona uno dei seguenti ruoli in base al tipo di scheda:
- Per una scheda commerciale, seleziona il ruolo Visualizzatore Analytics Hub. Questo ruolo consente agli utenti di visualizzare la scheda e richiedere l'accesso.
- Per una scheda pubblica privata o non commerciale, seleziona il ruolo Abbonato ad Analytics Hub. Questo ruolo consente agli utenti di iscriversi alla tua scheda.
Fai clic su Salva.
Per saperne di più, vedi Ruoli di abbonato e visualizzatore di Analytics Hub.
Gestisci abbonamenti
Per consentire a un utente di iscriversi a una scheda con un argomento condiviso, concedigli i ruoli
Analytics Hub Subscriber
(roles/analyticshub.subscriber) e
Analytics Hub Subscription Owner
(roles/analyticshub.subscriptionOwner) in una scheda specifica:
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati contenente la scheda per cui vuoi gestire gli abbonamenti.
Fai clic sulla scheda per cui vuoi elencare gli iscritti agli argomenti condivisi.
Fai clic su Imposta autorizzazioni.
Per aggiungere entità, fai clic su Aggiungi entità.
Nel campo Nuove entità, inserisci i nomi utente o gli indirizzi email degli abbonati che vuoi aggiungere.
In Seleziona un ruolo, seleziona Analytics Hub > Analytics Hub Subscriber.
Fai clic su Aggiungi un altro ruolo.
In Seleziona un ruolo, seleziona Analytics Hub > Analytics Hub Subscription Owner.
Fai clic su Salva.
Elimina e aggiorna gli abbonati in qualsiasi momento facendo clic su Imposta autorizzazioni.
Revocare un abbonamento
Per rimuovere una sottoscrizione a un elenco di argomenti condivisi dalla condivisione BigQuery, seleziona una delle seguenti opzioni:
Console
Per elencare gli iscritti agli argomenti condivisi per una scheda, segui le istruzioni della consoleGoogle Cloud riportate in Visualizza tutti gli abbonamenti.
Fai clic sulla scheda Abbonamenti per visualizzare tutti gli abbonamenti allo scambio di dati.
Seleziona la casella di controllo accanto agli abbonamenti da rimuovere o seleziona tutti gli abbonamenti.
Nella finestra di dialogo Revoca abbonamento?, inserisci
revokeper confermare.Fai clic su Revoca.
API
Per rimuovere un abbonamento, utilizza il metodo
projects.locations.subscriptions.revoke.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/subscriptions/SUBSCRIPTION_ID:revoke
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto dell'abbonamento che vuoi rimuovere.LOCATION: la posizione dell'abbonamento.SUBSCRIPTION_ID: l'ID dell'abbonamento che vuoi rimuovere.
Quando revochi un abbonamento dalla condivisione BigQuery, un abbonato a un argomento condiviso non riceve più i dati dei messaggi dall'argomento condiviso. La sottoscrizione Pub/Sub è scollegata dall'argomento condiviso. Se elimini una sottoscrizione direttamente da Pub/Sub, la sottoscrizione di condivisione BigQuery persiste e richiede una pulizia.
Workflow per gli iscritti
In qualità di abbonato alla condivisione di BigQuery, puoi visualizzare una scheda e abbonarti. La sottoscrizione a un elenco di un argomento condiviso crea una sottoscrizione Pub/Sub collegata nel progetto del sottoscrittore. La sottoscrizione Pub/Sub è visibile nel progetto dell'editore dell'argomento condiviso.
Autorizzazioni aggiuntive per gli abbonati
Per eseguire le attività di abbonamento, devi disporre del ruolo
Analytics Hub Subscriber
(roles/analyticshub.subscriber) concesso a livello di progetto, exchange o
scheda.
Iscriviti a un elenco di argomenti condivisi
Per abbonarti a una scheda con un argomento condiviso, seleziona una delle seguenti opzioni:
Console
Per visualizzare un elenco delle schede a cui puoi accedere, segui i passaggi descritti in Visualizzare le schede.
Sfoglia gli elenchi e fai clic su quello a cui vuoi abbonarti. Viene visualizzata una finestra di dialogo con i dettagli della scheda.
Fai clic su Abbonati per aprire la finestra di dialogo Crea abbonamento.
Se non hai abilitato l'API Analytics Hub nel tuo progetto, viene visualizzato un messaggio di errore con un link per abilitare l'API. Fai clic su Abilita l'API Analytics Hub.
Nella finestra di dialogo Crea abbonamento, specifica i seguenti dettagli:
- ID abbonamento: specifica il nome dell'abbonamento che stai creando.
- Tipo di pubblicazione: seleziona la modalità di pubblicazione dei dati dei messaggi.
- Durata di conservazione dei messaggi: imposta la durata di conservazione dei messaggi.
- Periodo di scadenza: imposta la scadenza dell'abbonamento dopo un periodo di inattività, se previsto.
- Scadenza conferma: imposta l'ora della scadenza della conferma.
- Filtro sottoscrizioni: imposta la sintassi del filtro per i messaggi.
- Consegna "exactly-once": abilita la consegna "exactly-once".
- Ordinamento dei messaggi: attiva l'ordinamento dei messaggi con una chiave di ordinamento.
- Messaggi non recapitabili: attiva i messaggi non recapitabili.
- Policy di ripetizione: imposta una policy di ripetizione.
Per maggiori informazioni sulle proprietà delle sottoscrizioni Pub/Sub, consulta Proprietà delle sottoscrizioni.
Per salvare le modifiche, fai clic su Crea. L'abbonamento Pub/Sub collegato viene creato nel tuo progetto.
API
Utilizza il metodo projects.locations.dataExchanges.listings.subscribe.
POST https://analyticshub.googleapis.com/v1/projects/PROJECT_ID/location/LOCATION/dataExchanges/DATAEXCHANGE_ID/listings/LISTING_ID:subscribe
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto della scheda a cui vuoi iscriverti.LOCATION: la posizione della scheda a cui vuoi iscriverti.DATAEXCHANGE_ID: l'ID piattaforma di scambio di dati dell'elenco a cui vuoi abbonarti.LISTING_ID: l'ID della scheda a cui vuoi iscriverti.
Nel corpo della richiesta, specifica la sottoscrizione Pub/Sub in cui vuoi creare la sottoscrizione Pub/Sub collegata. In caso di esito positivo, il corpo della risposta è vuoto.
Per ulteriori informazioni sulle sottoscrizioni Pub/Sub, consulta la panoramica delle sottoscrizioni.
Prezzi
Gli editori di argomenti Pub/Sub non sostengono costi aggiuntivi per elencare e condividere gli argomenti tramite la condivisione BigQuery. Gli editori di argomenti condivisi vengono addebitati per il totale dei byte scritti (throughput di pubblicazione) nell'argomento condiviso e per l'uscita di rete (se applicabile). Agli abbonati all'argomento condiviso vengono addebitati i costi per il numero totale di byte letti (throughput di sottoscrizione) dall'abbonamento collegato e per il traffico di rete in uscita (se applicabile). Per maggiori dettagli, consulta la pagina Prezzi di Pub/Sub.
Controlli di servizio VPC
Per gli argomenti condivisi dei progetti con perimetri dei Controlli di servizio VPC, imposta le regole in entrata e in uscita appropriate per concedere l'accesso a publisher e sottoscrittori di argomenti condivisi.
Passaggi successivi
- Scopri di più sulla gestione delle schede.
- Scopri di più sull'iscrizione alle schede.
- Scopri di più sul monitoraggio delle risorse Pub/Sub.
- Scopri di più sulla configurazione dei Controlli di servizio VPC per la condivisione di BigQuery.