Condivisione di stream con Pub/Sub
Puoi condividere gli argomenti Pub/Sub tramite la condivisione di BigQuery 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 scambi 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:
- Condividere in tempo reale prezzi, preventivi e ordini di strumenti in rapida evoluzione
- Rilevare riciclaggio di denaro e frodi nei pagamenti
- Supportare i calcoli del rischio di trading
- Vendita al dettaglio e beni di largo consumo:
- Aiutare i negozi a gestire l'inventario in tempo reale
- Personalizzare il marketing e l'assistenza clienti
- Modificare i prezzi in modo dinamico
- Monitorare 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
- Monitorare i parametri vitali con dispositivi medici indossabili
- Acquisizione, strutturazione, archiviazione ed elaborazione automatiche dei dati di pazienti, professionisti sanitari e amministrazione della struttura
- Telecomunicazioni:
- Controllare l'integrità della rete e prevedere 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 a quelli per la condivisione dei set di dati BigQuery:
- Amministratore:un utente che 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: un utente che 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. L'editore a cui si fa riferimento qui è un utente e non l'applicazione editore che crea e invia i messaggi all'argomento.
- Abbonato all'argomento condiviso:un utente che si abbona all'elenco degli argomenti condivisi. Gli abbonati all'argomento condiviso possono configurare la modalità di recapito 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 stream con Pub/Sub presenta le seguenti limitazioni:
- Un argomento condiviso può avere un massimo di 10.000 sottoscrizioni Pub/Sub. Questo limite include le sottoscrizioni Pub/Sub collegate e le sottoscrizioni Pub/Sub create al di fuori della condivisione, ad esempio le sottoscrizioni 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 nel pannello delle metriche per argomenti e sottoscrizioni 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 progetto Google 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:
- Aggiungere argomenti condivisi a uno scambio creando una scheda
- Aggiornare una scheda
- Eliminare una scheda
- Condividere una scheda
- Gestire le iscrizioni alla tua scheda
- Rimuovere gli abbonati dalla 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 è associato uno schema,
devi concedere ai sottoscrittori della condivisione BigQuery l'autorizzazione pubsub.schemas.get
per lo schema associato 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)
Viene visualizzata una pagina che 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" nel menu a discesa Tipo di risorsa.
Seleziona un argomento Pub/Sub esistente dal menu a discesa Argomento condiviso o fai clic su Crea un argomento.
Nella pagina Dettagli scheda, in 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 a un argomento condiviso possono filtrare gli annunci in base a queste categorie.
Affinità dei dati: la regione o le regioni utilizzate dall'editore dell'argomento condiviso per la pubblicazione dei dati. Queste informazioni sono utili agli abbonati agli argomenti condivisi per 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 una dimensione file inferiore a 512 KiB e dimensioni non superiori a 512 x 512 pixel.
Descrizione: una breve descrizione della scheda. Gli iscritti all'argomento condiviso possono cercare annunci in base alla descrizione.
Rilevabilità pubblica: abilita la rilevabilità pubblica della tua scheda nel catalogo di condivisione BigQuery. Devi anche impostare le autorizzazioni per la scheda. Fai clic su Azioni dello scambio e poi su Imposta autorizzazioni. Assegna a
allUsersoallAuthenticatedusersil ruolo Visualizzatore Analytics Hub (roles/analyticshub.viewer). Fai clic su Consenti accesso pubblico.Documentazione > Markdown: informazioni aggiuntive, ad esempio link a qualsiasi documentazione pertinente e qualsiasi informazione aggiuntiva che possa aiutare 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 del contatto principale per la scheda.
Contatto per la richiesta di accesso: inserisci un indirizzo email o un URL del modulo di acquisizione per consentire agli iscritti all'argomento condiviso di 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 del 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 sta creando la scheda.
- Contatto principale del publisher: un indirizzo email o un URL del 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 nei 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, consulta 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
Gli elenchi con argomenti Pub/Sub condivisi non possono essere eliminati con sottoscrizioni attive. Revoca tutti gli abbonamenti attivi prima di tentare di eliminare un elenco di argomenti condivisi. Una volta eliminata una scheda, non puoi annullare l'operazione. 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 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, consulta 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
Se vuoi concedere agli utenti l'accesso a una scheda privata, devi impostare il 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 un exchange 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, devi concedere loro il
ruolo Visualizzatore Analytics Hub
(roles/analyticshub.viewer).
Per consentire agli utenti di visualizzare la tua scheda o abbonarsi, segui questi passaggi:
Vai alla pagina Sharing (Analytics Hub).
Fai clic sul nome dello scambio di dati contenente la scheda.
Fai clic sulla scheda per cui vuoi aggiungere iscritti agli argomenti condivisi.
Fai clic su Imposta autorizzazioni.
Per aggiungere entità, fai clic su Aggiungi entità.
Nel campo Nuove entità, aggiungi i seguenti dettagli in base al tipo di scheda:
- Per una scheda privata, inserisci le email dell'identità a cui vuoi concedere l'accesso.
- Per una scheda pubblica, aggiungi
allAuthenticatedUsers.
Nel menu Seleziona un ruolo, seleziona Analytics Hub e poi, in base al tipo di scheda, seleziona uno dei seguenti ruoli:
- 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 tutti gli iscritti all'argomento condiviso.
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.
Puoi eliminare e aggiornare 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 tutti gli abbonati agli argomenti condivisi di una scheda, segui le istruzioni della consoleGoogle Cloud riportate in Visualizzare 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 revoca per 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.
Se revochi una sottoscrizione dalla condivisione BigQuery, un abbonato all'argomento condiviso non riceve più i dati dei messaggi dall'argomento condiviso. La sottoscrizione Pub/Sub è scollegata dall'argomento condiviso. Se una sottoscrizione viene eliminata direttamente da Pub/Sub, la sottoscrizione di condivisione BigQuery rimarrà e dovrà essere pulita.
Workflow per gli iscritti
In qualità di abbonato alla condivisione di BigQuery, puoi visualizzare una scheda e abbonarti. La sottoscrizione a una scheda di un argomento condiviso crea una sottoscrizione Pub/Sub collegata nel progetto del sottoscrittore. L'abbonamento Pub/Sub sarà visibile nel progetto del publisher 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 condiviso
Per abbonarti a una scheda con un argomento condiviso, seleziona una delle seguenti opzioni:
Console
Per visualizzare un elenco delle schede a cui hai accesso, 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 contenente i dettagli della scheda.
Fai clic su Abbonati per aprire la finestra di dialogo Crea abbonamento.
Se l'API Analytics Hub non è abilitata nel tuo progetto, viene visualizzato un messaggio di errore con un link per abilitarla. 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 il meccanismo 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 presente.
- Scadenza conferma:imposta l'ora della scadenza della conferma.
- Filtro degli abbonamenti:imposta la sintassi del filtro sui messaggi.
- Consegna "exactly-once":abilita la consegna "exactly-once".
- Ordinamento messaggi:abilita l'ordinamento dei messaggi con una chiave di ordinamento.
- Messaggi non recapitabili: abilita 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
Non sono previsti costi aggiuntivi per gli editori di argomenti Pub/Sub per elencare e condividere argomenti tramite la condivisione BigQuery. Gli editori di argomenti condivisi vengono addebitati per il numero totale di byte scritti (throughput di pubblicazione) nell'argomento condiviso e per l'uscita di rete (se applicabile). Agli abbonati all'argomento condiviso viene addebitato il numero totale di byte letti (throughput di sottoscrizione) dall'abbonamento collegato e l'uscita di rete (se applicabile). Per ulteriori dettagli, consulta la pagina Prezzi di Pub/Sub.
Controlli di servizio VPC
Per gli argomenti condivisi di progetti con perimetri Controlli di servizio VPC, puoi impostare le regole in entrata e in uscita appropriate necessarie per concedere l'accesso a publisher e abbonati agli argomenti condivisi.