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:

Interazione tra i publisher di argomenti condivisi e la condivisione di BigQuery.
Figura 1. Flusso di lavoro di pubblicazione e sottoscrizione di argomenti condivisi con gli argomenti Pub/Sub.

Argomenti condivisi

Un argomento condiviso è l'unità di condivisione di un argomento Pub/Sub in Condivisione. In qualità di publisher di argomenti condivisi, crei o utilizzi un argomento Pub/Sub esistente per distribuire i dati dei messaggi ai tuoi abbonati. La condivisione non replica l'argomento Pub/Sub di origine.

Schede

Una scheda viene creata quando un publisher aggiunge un argomento condiviso a uno scambio. Contiene un riferimento all'argomento condiviso.

Piattaforme pubblicitarie

Uno scambio è un raggruppamento logico di schede che fanno riferimento a argomenti condivisi.

Sottoscrizioni Pub/Sub collegate

Quando ti abboni a una scheda con un argomento condiviso, viene creata una sottoscrizione Pub/Sub collegata nel progetto sottoscrittore dell'argomento condiviso. Una sottoscrizione Pub/Sub è rappresentata anche nel progetto del publisher dell'argomento condiviso come sottoscrizione Pub/Sub e sottoscrizione di una scheda di condivisione.

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 .

Abilitare l'API Analytics Hub

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 .

Abilita l'API Pub/Sub

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

  1. 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.

  2. Fai clic sul nome dello scambio di dati in cui vuoi creare la scheda.

  3. Fai clic su Crea scheda.

  4. Nella pagina Crea elenco, seleziona "Argomento Pub/Sub" nel menu a discesa Tipo di risorsa.

  5. Seleziona un argomento Pub/Sub esistente dal menu a discesa Argomento condiviso o fai clic su Crea un argomento.

  6. Nella pagina Dettagli scheda, in Nome visualizzato, inserisci il nome della scheda.

  7. 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 allUsers o allAuthenticatedusers il 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.

  8. 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.
  9. Controlla la pagina Anteprima scheda.

  10. 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

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati contenente la scheda.

  3. Fai clic sulla scheda che vuoi aggiornare.

  4. Fai clic su Modifica scheda.

  5. Modifica i valori nei campi. Puoi modificare tutti i valori, tranne l'argomento condiviso della scheda.

  6. 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

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati contenente la scheda.

  3. Fai clic sulla scheda che vuoi eliminare.

  4. Fai clic su Elimina.

  5. Nella finestra di dialogo Eliminare la scheda?, conferma l'eliminazione digitando delete.

  6. 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:

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati contenente la scheda.

  3. Fai clic sulla scheda per cui vuoi aggiungere iscritti agli argomenti condivisi.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere entità, fai clic su Aggiungi entità.

  6. 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.
  7. Nel menu Seleziona un ruolo, seleziona Analytics Hub e poi, in base al tipo di scheda, seleziona uno dei seguenti ruoli:

  8. 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:

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome dello scambio di dati contenente la scheda per cui vuoi gestire gli abbonamenti.

  3. Fai clic sulla scheda per cui vuoi elencare tutti gli iscritti all'argomento condiviso.

  4. Fai clic su Imposta autorizzazioni.

  5. Per aggiungere entità, fai clic su Aggiungi entità.

  6. Nel campo Nuove entità, inserisci i nomi utente o gli indirizzi email degli abbonati che vuoi aggiungere.

  7. In Seleziona un ruolo, seleziona Analytics Hub > Analytics Hub Subscriber.

  8. Fai clic su Aggiungi un altro ruolo.

  9. In Seleziona un ruolo, seleziona Analytics Hub > Analytics Hub Subscription Owner.

  10. 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

  1. Per elencare tutti gli abbonati agli argomenti condivisi di una scheda, segui le istruzioni della consoleGoogle Cloud riportate in Visualizzare tutti gli abbonamenti.

  2. Fai clic sulla scheda Abbonamenti per visualizzare tutti gli abbonamenti allo scambio di dati.

  3. Seleziona la casella di controllo accanto agli abbonamenti da rimuovere o seleziona tutti gli abbonamenti.

  4. Nella finestra di dialogo Revoca abbonamento?, inserisci revoca per confermare.

  5. 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

  1. Per visualizzare un elenco delle schede a cui hai accesso, segui i passaggi descritti in Visualizzare le schede.

  2. Sfoglia gli elenchi e fai clic su quello a cui vuoi abbonarti. Viene visualizzata una finestra di dialogo contenente i dettagli della scheda.

  3. Fai clic su Abbonati per aprire la finestra di dialogo Crea abbonamento.

  4. 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.

  5. 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.

  6. 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.