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:

Architettura

Il seguente diagramma descrive l'interazione tra publisher e sottoscrittori di risorse Pub/Sub e BigQuery sharing:

Flusso di lavoro che illustra l'interazione tra gli editori di argomenti condivisi e la condivisione di BigQuery.
Figura 1. Flusso di lavoro di publisher e sottoscrittore di argomenti condivisi con gli argomenti Pub/Sub.

Argomenti condivisi

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

Schede

Una scheda viene creata quando un publisher aggiunge un argomento condiviso a uno scambio. Fa 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. Il progetto del publisher dell'argomento condiviso rappresenta anche un abbonamento Pub/Sub come abbonamento Pub/Sub e un abbonamento alla scheda di condivisione.

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 .

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:

  • 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

  1. Vai alla pagina Sharing (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

    La pagina 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" dall'elenco Tipo di risorsa.

  5. Seleziona un argomento Pub/Sub esistente dall'elenco Argomento condiviso o fai clic su Crea un argomento.

  6. Nella pagina Dettagli scheda, nel campo 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 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 allUsers o allAuthenticatedusers il 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.

  8. 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.
  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 dei 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, 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

  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 Vuoi 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, 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:

  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 in cui vuoi aggiungere 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à, 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.
  7. Nel menu Seleziona un ruolo, seleziona Analytics Hub, quindi seleziona uno dei seguenti ruoli in base al tipo di scheda:

  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 gli iscritti agli argomenti condivisi.

  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.

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

  1. Per elencare gli iscritti agli argomenti condivisi per una scheda, segui le istruzioni della consoleGoogle Cloud riportate in Visualizza 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 revoke 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.

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

  1. Per visualizzare un elenco delle schede a cui puoi accedere, 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 con i dettagli della scheda.

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

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

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

  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

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