Condivisione di stream con Pub/Sub
Puoi condividere gli argomenti Pub/Sub tramite BigQuery sharing (precedentemente Analytics Hub) per selezionare e distribuire una libreria di dati in streaming tra più confini organizzativi interni ed esterni. I dati in streaming in tempo reale vengono condivisi utilizzando gli scambi e gli elenchi di condivisione di BigQuery, che ti consentono di classificare 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 i prezzi degli strumenti, i preventivi e gli ordini in rapida evoluzione in tempo reale.
- Rileva il riciclaggio di denaro e le frodi nei pagamenti.
- Supportare i calcoli del rischio di mercato.
- Vendita al dettaglio e beni di largo consumo:
- Gestisci l'inventario del negozio in tempo reale.
- Personalizza 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 i rischi in tempo reale.
- Monitora i parametri vitali con dispositivi medici indossabili.
- Acquisisci, struttura, archivia ed elabora automaticamente i dati di pazienti, operatori sanitari e amministrazione delle strutture.
- Telecomunicazioni:
- Monitora l'integrità della rete e prevedi i guasti.
- Scopri i pattern di comportamento degli utenti per individuare meglio i dispositivi e le antenne.
Ruoli obbligatori
I ruoli per la condivisione degli argomenti Pub/Sub sono analoghi a quelli per la condivisione dei set di dati BigQuery:
- Amministratore: gestisce le autorizzazioni, la visibilità e l'appartenenza a piattaforme di scambio pubblicitario e schede. Questo ruolo è analogo al ruolo IAM Amministratore Analytics Hub (
roles/analyticshub.admin). - Publisher di argomenti condivisi: crea, gestisce e concede l'accesso alle schede degli argomenti Pub/Sub condivisi. Questo ruolo è analogo al ruolo IAM Analytics Hub Publisher o Analytics Hub Listing Admin. Il publisher è un utente, non l'applicazione publisher che crea e invia messaggi all'argomento.
- Sottoscrittore di argomenti condivisi: si iscrive alla scheda dell'argomento condiviso. Gli abbonati agli argomenti condivisi possono configurare la modalità di recapito dei messaggi degli argomenti. Questo ruolo è analogo al ruolo IAM Analytics Hub Subscriber o Analytics Hub Subscription Owner. A seconda di come vengono recapitati 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 dei publisher e dei sottoscrittori delle risorse Pub/Sub con BigQuery sharing:
Limitazioni
La condivisione di stream con Pub/Sub presenta le seguenti limitazioni:
- Un argomento condiviso supporta un massimo di 10.000 sottoscrizioni Pub/Sub. Questo limite include le sottoscrizioni Pub/Sub collegate e quelle create al di fuori di Sharing, ad esempio quelle create direttamente da Pub/Sub.
Gli argomenti condivisi sono indicizzati in Knowledge Catalog, ma non puoi filtrare in modo specifico per il loro tipo di risorsa.
Le metriche di utilizzo vengono acquisite e visualizzate nella dashboard Metriche per gli argomenti e le sottoscrizioni Pub/Sub condivisi, ma non sono disponibili in
INFORMATION_SCHEMA.SHARED_DATASET_USAGE.Per monitorare le metriche, consulta Monitora Pub/Sub in Cloud Monitoring.
Queste metriche possono includere:
- Numero di messaggi pubblicati
- Richieste di pubblicazione
- Velocità effettiva di pubblicazione in byte
- Prime 5 sottoscrizioni
- Byte importati
- Altro
Abilita l'API Analytics Hub
Per abilitare l'API Analytics Hub, segui questi passaggi:
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 dei publisher di argomenti condivisi
In qualità di publisher di argomenti condivisi, puoi:
- Aggiungi argomenti condivisi a uno scambio creando un elenco.
- Aggiornare una scheda.
- Elimina una scheda.
- Condividi una scheda.
- Gestisci gli abbonamenti alla tua scheda.
- Rimuovi gli iscritti dalla tua scheda.
Autorizzazioni aggiuntive per il publisher
Per eseguire le attività di publisher di argomenti condivisi, devi disporre del
ruolo Publisher di Analytics Hub
(roles/analyticshub.publisher) in uno scambio o in 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 con uno schema allegato, devi concedere ai sottoscrittori della condivisione BigQuery l'autorizzazione pubsub.schemas.get per lo schema allegato all'argomento. Questa autorizzazione consente ai sottoscrittori di BigQuery sharing 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 i data exchange a cui puoi accedere.
Fai clic sul nome del data exchange in cui vuoi creare la scheda.
Fai clic su Crea scheda.
Nella pagina Crea scheda, 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 le schede in base a queste categorie.
Affinità dei dati: la regione o le regioni utilizzate dal publisher 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 saperne di più sui costi in uscita, consulta Costi di trasferimento di dati.
Icona: un'icona per la tua scheda. Sono supportati i formati file PNG e JPEG. Le icone devono essere inferiori a 512 KiB e avere dimensioni non superiori a 512 x 512 pixel.
Descrizione: una breve descrizione della scheda. Gli iscritti all'argomento condiviso possono cercare le schede in base alla descrizione.
Rilevabilità pubblica: abilita la rilevabilità pubblica per la tua scheda nel catalogo di condivisione di BigQuery. Devi anche impostare le autorizzazioni per la scheda. Fai clic su Azioni per la piattaforma di scambio pubblicitario, 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, come link alla documentazione pertinente e altri dettagli che aiutano i sottoscrittori dell'argomento condiviso a utilizzarlo.
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 richiesta che gli iscritti agli argomenti condivisi possono utilizzare per contattarti.
Provider: espandi la sezione Provider e specifica i dettagli nei seguenti campi:
- Nome del provider: il nome del provider 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.
Esamina 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 lo scambio di dati in cui vuoi creare la scheda.LOCATION: la località del tuo data exchange. Per maggiori informazioni sulle località che supportano la condivisione, consulta Regioni supportate.DATAEXCHANGE_ID: l'ID del data exchange.LISTING_ID: l'ID della 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 ulteriori informazioni sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Aggiorna 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 che contiene la scheda.
Fai clic sulla scheda che vuoi aggiornare.
Fai clic su Modifica scheda.
Modifica i valori dei campi. Puoi modificare tutti i valori, ad eccezione dell'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 lo scambio di dati in cui vuoi creare la scheda.LOCATION: la località del tuo data exchange. Per maggiori informazioni sulle località che supportano la condivisione, consulta Regioni supportate.DATAEXCHANGE_ID: l'ID del data exchange.LISTING_ID: l'ID della 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 ulteriori informazioni sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Elimina una scheda
Non puoi eliminare schede con argomenti Pub/Sub condivisi che hanno sottoscrizioni attive. Revoca tutte le sottoscrizioni attive prima di tentare di eliminare una scheda di argomento condiviso. 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 che contiene 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 lo scambio di dati in cui vuoi creare la scheda.LOCATION: la località del tuo data exchange. Per maggiori informazioni sulle località che supportano la condivisione, consulta Regioni supportate.DATAEXCHANGE_ID: l'ID del data exchange.LISTING_ID: l'ID della scheda.
Per ulteriori informazioni sulle attività che puoi eseguire sulle schede utilizzando le API, consulta i metodi projects.locations.dataExchanges.listings.
Condividi una scheda
Per consentire agli utenti di accedere a una scheda privata, imposta una policy IAM per un individuo o un gruppo per quella scheda. Per una scheda commerciale, lo scambio di dati deve essere pubblico.
Le schede in uno scambio di dati pubblico vengono visualizzate in Condivisione per tutti gli utenti di Google Cloud (allAuthenticatedUsers).
Per consentire agli utenti di richiedere l'accesso alle schede commerciali, concedi loro il ruolo Analytics Hub Viewer (roles/analyticshub.viewer).
Per consentire agli utenti di visualizzare o iscriversi alla tua scheda:
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati che contiene la scheda.
Fai clic sulla scheda a cui vuoi aggiungere gli iscritti agli argomenti condivisi.
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 Sottoscrittore Analytics Hub. Questo ruolo consente agli utenti di abbonarsi alla tua scheda.
Fai clic su Salva.
Per saperne di più, consulta Ruoli Visualizzatore Hub Subscriber e Viewer.
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) su una scheda specifica:
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome del data exchange che contiene 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 iscritti che vuoi aggiungere.
In Seleziona un ruolo, seleziona Analytics Hub > Sottoscrittore Analytics Hub.
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 iscritti in qualsiasi momento facendo clic su Imposta autorizzazioni.
Revocare un abbonamento
Per rimuovere una sottoscrizione a una scheda di un argomento condiviso dalla condivisione di BigQuery, seleziona una delle seguenti opzioni:
Console
Per elencare gli iscritti agli argomenti condivisi per una scheda, segui le istruzioni della console riportate in Visualizza tutte le sottoscrizioni.Google Cloud
Fai clic sulla scheda Sottoscrizioni per visualizzare tutte le sottoscrizioni allo scambio di dati.
Seleziona la casella di controllo accanto alle iscrizioni che vuoi rimuovere o seleziona tutte le iscrizioni.
Nella finestra di dialogo Revocare l'abbonamento?, inserisci
revokeper confermare.Fai clic su Revoca.
API
Per rimuovere una sottoscrizione, 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 della sottoscrizione che vuoi rimuovere.LOCATION: la località della sottoscrizione.SUBSCRIPTION_ID: l'ID della sottoscrizione che vuoi rimuovere.
Quando revochi una sottoscrizione dalla condivisione di BigQuery, un sottoscrittore di un argomento condiviso non riceve più i dati dei messaggi dall'argomento condiviso. La sottoscrizione Pub/Sub viene scollegata dall'argomento condiviso. Se elimini una sottoscrizione direttamente da Pub/Sub, la sottoscrizione di condivisione BigQuery persiste e richiede la pulizia.
Workflow degli abbonati
In qualità di sottoscrittore di BigQuery sharing, puoi visualizzare e sottoscrivere una scheda. La sottoscrizione a una scheda di un argomento condiviso crea una sottoscrizione Pub/Sub collegata nel progetto del sottoscrittore. La sottoscrizione Pub/Sub è visibile nel progetto del publisher dell'argomento condiviso.
Autorizzazioni aggiuntive per gli abbonati
Per eseguire le attività di sottoscrittore, devi disporre del ruolo Sottoscrittore Analytics Hub (roles/analyticshub.subscriber) concesso a livello di progetto, exchange o scheda.
Iscriviti a un elenco di argomenti condivisi
Per iscriverti 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 Visualizza le schede.
Sfoglia le schede e fai clic su quella a cui vuoi abbonarti. Viene visualizzata una finestra di dialogo con i dettagli della scheda.
Fai clic su Iscriviti 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 sottoscrizione, specifica i seguenti dettagli:
- ID sottoscrizione: specifica il nome della sottoscrizione 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 data di scadenza della sottoscrizione dopo un periodo di inattività, se applicabile.
- Scadenza conferma: imposta il tempo di scadenza della conferma.
- Filtro sottoscrizioni: imposta la sintassi del filtro per i messaggi.
- Consegna "exactly-once": abilita la consegna "exactly-once".
- Ordinamento dei messaggi: abilita 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 saperne di più sulle proprietà delle sottoscrizioni Pub/Sub, consulta Proprietà delle sottoscrizioni.
Per salvare le modifiche, fai clic su Crea. La sottoscrizione Pub/Sub collegata viene creata 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 località della scheda a cui vuoi iscriverti.DATAEXCHANGE_ID: l'ID del data exchange della scheda a cui vuoi iscriverti.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
I publisher di argomenti Pub/Sub non devono sostenere costi aggiuntivi per elencare e condividere argomenti tramite BigQuery sharing. Ai publisher di argomenti condivisi vengono addebitati i byte totali scritti (velocità effettiva di pubblicazione) nell'argomento condiviso e il traffico in uscita dalla rete (se applicabile). Agli abbonati agli argomenti condivisi vengono addebitati i costi per i byte totali letti (throughput di sottoscrizione) dalla sottoscrizione collegata e per il traffico in uscita dalla rete (se applicabile). Per maggiori dettagli, consulta i prezzi di Pub/Sub.
Controlli di servizio VPC
Per gli argomenti condivisi da progetti con perimetri dei Controlli di servizio VPC, imposta le regole in entrata e in uscita appropriate per concedere l'accesso ai publisher e ai sottoscrittori degli argomenti condivisi.
Passaggi successivi
- Scopri di più sulla gestione delle schede.
- Scopri di più su come iscriverti 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.