Utilizza i modelli di query

I modelli di query delle data clean room di BigQuery consentono ai proprietari e ai collaboratori dei dati di pubblicare query approvate per gli abbonati. La predefinizione di queste query riduce al minimo i rischiesfiltrazione di datii, garantisce risultati analitici coerenti e semplifica l'onboarding per gli analisti che non hanno familiarità con SQL incentrato sulla privacy.

I template di query utilizzano funzioni con valori di tabella (TVF) per accettare tabelle o campi specifici come parametri e restituire risultati senza esporre dati non elaborati.

Limitazioni

I modelli di query presentano le seguenti limitazioni:

  • I modelli di query supportano un massimo di due riferimenti ai dati, ovvero i dati utilizzati per definire la query della TVF e l'input del parametro di dati accettato dalla TVF. Puoi fare riferimento a più tabelle o visualizzazioni nella definizione della query della TVF, ma devono appartenere tutte allo stesso proprietario o alla stessa parte dei dati.
  • Le funzioni TVF dei modelli di query supportano solo i tipi fissi TABLE e VIEW.
  • Le definizioni dei modelli di query sono soggette alle stesse limitazioni delle TVF.

Ruoli

Esistono tre ruoli principali per l'utilizzo dei modelli di query delle data clean room. Ogni ruolo ha flussi di lavoro specifici, descritti in questo documento:

Prima di iniziare

Per abilitare l'API Analytics Hub per il tuo progetto Google Cloud , seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina API Analytics Hub.

    Vai all'API Analytics Hub

  2. Nella barra degli strumenti della console Google Cloud , seleziona il tuo progetto.

  3. Se l'API non è già abilitata, fai clic su Abilita.

bq

Esegui il comando gcloud services enable:

gcloud services enable analyticshub.googleapis.com

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per eseguire le attività descritte in questo documento, chiedi all'amministratore di concederti i seguenti ruoli IAM:

Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Questi ruoli predefiniti contengono le autorizzazioni necessarie per eseguire le attività descritte in questo documento. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:

Autorizzazioni obbligatorie

Per eseguire le attività descritte in questo documento sono necessarie le seguenti autorizzazioni:

  • Crea o elimina una TVF in una data clean room:
    • bigquery.routines.create sul progetto
    • bigquery.routines.update sul progetto
    • bigquery.routines.delete sul progetto
  • Autorizza una TVF: bigquery.datasets.update sui set di dati a cui accede la routine
  • Crea un modello di query:
    • analyticshub.listings.subscribe sul progetto
    • analyticshub.queryTemplates.create sul progetto
  • Approva un modello di query:
    • bigquery.routines.create sul progetto
    • bigquery.datasets.update sui set di dati a cui accede la routine
    • analyticshub.listings.create sul progetto
    • analyticshub.queryTemplates.approve sul progetto
  • Aggiorna un template di query esistente: analyticshub.queryTemplates.update sul template di query
  • Recupera i dettagli di un template di query: analyticshub.queryTemplates.get sul template di query
  • Elenca tutti i template di query in un data exchange: analyticshub.queryTemplates.list sul data exchange
  • Elimina un template di query: analyticshub.queryTemplates.delete sul template di query

Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.

Workflow di creazione dei modelli

In qualità di creator di modelli di query, puoi:

Aggiungi una scheda a una data clean room

Prima di creare un modello di query, devi aggiungere dati a una data clean room. Per creare una scheda nella data clean room:

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room in cui vuoi creare il modello di query.

  3. Fai clic su Aggiungi dati e segui i passaggi per creare una vista con le regole di analisi configurate. Per istruzioni dettagliate, vedi Creare una scheda (aggiungere dati).

    Per aggiungere dati di altre parti, condividi la data clean room con un altro collaboratore attendibile. Questo collaboratore ai dati deve anche aggiungere dati alla data clean room per poter essere utilizzato in un modello di query.

  4. Imposta i controlli per l'esportazione dei dati per la scheda.

  5. Imposta i controlli dei metadati per la scheda. Se vuoi condividere solo gli schemi e le descrizioni dei dati aggiunti nel passaggio precedente (e non i dati condivisi stessi), seleziona Escludi l'accesso alla scheda dal set di dati collegato.

  6. Esamina i dettagli della scheda.

  7. Fai clic su Aggiungi dati. La data clean room ora include i metadati della visualizzazione che hai creato per i tuoi dati.

Aggiungi una TVF esistente a una data clean room

Puoi aggiungere una TVF esistente a una data clean room utilizzando l'API Analytics Hub.

Utilizza il metodo projects.locations.dataExchanges.listings.create.

L'esempio seguente mostra come chiamare il metodo projects.locations.dataExchanges.listings.create utilizzando il comando curl:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID -d
    '{"bigqueryDataset":{"dataset":"projects/PROJECT_ID/datasets/DATASET_ID","selectedResources":[{"routine":"projects/PROJECT_ID/datasets/DATASET_ID/tables/ROUTINE_ID"}]},"displayName":"LISTING_NAME"}'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • LISTING_ID: l'ID della scheda.
  • PROJECT_ID: l'ID progetto del progetto che contiene il set di dati di origine.
  • DATASET_ID: l'ID del set di dati di origine.
  • ROUTINE_ID: l'ID della routine.
  • LISTING_NAME: il nome visualizzato della scheda.

Crea un modello di query

Per creare un template di query, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room in cui vuoi creare il modello di query.

  3. Nella clean room, vai alla scheda Modelli.

  4. Fai clic su Crea template.

  5. Inserisci un nome visualizzato e una descrizione per il modello.

  6. Fai clic su Avanti.

  7. Proponi una definizione di query utilizzando gli schemi delle viste aggiunte alla clean room:

    • Definisci la query utilizzando la sintassi CREATE TABLE FUNCTION supportata.
    • Passa l'intera tabella o visualizzazione con definizioni fisse. Devi definire il riferimento al percorso completo della tabella, inclusi l'ID progetto e l'ID set di dati, dai dati aggiunti alla clean room. Ad esempio:

          query_template1(t1 TABLE<year INT64>) AS (SELECT * FROM `project_id.dataset_id.table_id` WHERE year = table_id.year)
      
    • Se hai applicato regole di analisi della privacy ai dati, assicurati che questa TVF includa una sintassi SQL specifica per la privacy, ad esempio SELECT WITH AGGREGATION_THRESHOLD.

  8. Esamina i dettagli del template.

  9. Per salvare il modello senza inviarlo per la revisione, fai clic su Salva. Il template di query ora ha lo stato BOZZA.

Puoi aggiornare il modello di query o inviare il modello di query per la revisione.

API

L'esempio seguente mostra come creare un template di query utilizzando il comando curl:

curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates?queryTemplateId=QUERY_TEMPLATE_ID -d
  'query_template {
  display_name: "DISPLAY_NAME",
  routine {
    definition_body: "QUERY_TEMPLATE_ID(TVF arguments) AS (TVF_DEFINITION)"
  }
}'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.
  • DISPLAY_NAME: il nome visualizzato del template di query. Non puoi aggiornare il nome visualizzato del modello di query dopo averlo creato.
  • TVF_DEFINITION: la definizione della TVF.

Il seguente esempio di codice mostra un esempio di definition_body per la chiamata API. Devi definire il riferimento al percorso completo della tabella, inclusi l'ID progetto e l'ID set di dati, dai dati aggiunti alla clean room:

  query_template1(t1 TABLE<year INT64>) AS (SELECT * FROM `project_id.dataset_id.table_id` WHERE year = table_id.year)

definition_body è analogo alla definizione di una routine. Il codice definition_body precedente si traduce nella seguente routine:

  CREATE OR REPLACE TABLE FUNCTION <approvers_dataset>.query_template1(t1 TABLE, y INT64)
  AS (SELECT * FROM t1 WHERE year > y)

Puoi aggiornare il modello di query o inviarlo per la revisione.

Aggiorna un template di query

Puoi aggiornare un modello di query solo se è in stato BOZZA. Dopo aver inviato un modello di query per la revisione, non potrai più modificarlo.

Per aggiornare un modello di query, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room che contiene il modello di query.

  3. Nella data clean room, vai alla scheda Modelli.

  4. Nella riga del modello che vuoi aggiornare, fai clic su Azioni > Modifica modello.

  5. Aggiorna la descrizione e il contatto principale in base alle tue esigenze.

  6. Fai clic su Avanti.

  7. Esamina i dettagli del modello.

  8. Per salvare il modello senza inviarlo per la revisione, fai clic su Salva.

API

L'esempio seguente mostra come aggiornare un template di query utilizzando il comando curl:

 curl -H "Authorization: Bearer $(gcloud auth print-access-token)" \
 -H "Content-Type: application/json" \
 -H 'x-goog-user-project:DCR_PROJECT_ID' \
 -X PATCH "https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates/QUERY_TEMPLATE_ID?updateMask=description" \
 -d '{
   "query_template": {
     "description": "New query template"
   }
 }'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • QUERY_TEMPLATE_ID: l'ID del template di query.

Inviare un modello di query per la revisione

Per inviare un modello di query per la revisione, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room che contiene il modello di query.

  3. Nella data clean room, vai alla scheda Modelli.

  4. Nella riga del modello che vuoi inviare per la revisione, fai clic su Azioni > Invia per la revisione. Il modello ora ha lo stato Richiede revisione.

API

L'esempio seguente mostra come inviare un modello di query per la revisione utilizzando il comando curl:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates/QUERY_TEMPLATE_ID:submit

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • QUERY_TEMPLATE_ID: l'ID del template di query.

Elimina un modello di query

Puoi eliminare un modello di query solo se è nello stato BOZZA. Dopo aver inviato un modello di query per la revisione, non puoi più eliminarlo.

Per eliminare un template di query, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room che contiene il modello di query.

  3. Nella data clean room, vai alla scheda Modelli.

  4. Nella riga del template che vuoi eliminare, fai clic su Azioni > Elimina template.

API

L'esempio seguente mostra come eliminare un modello di query utilizzando il comando curl:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X DELETE https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates?queryTemplateId=QUERY_TEMPLATE_ID

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.

Workflow dei modelli di approvazione

In qualità di approvatore di template di query, puoi approvare un template di query.

Quando una TVF fa riferimento a dati di cui non sei proprietario, ad esempio i dati di un altro collaboratore, solo il proprietario di questi dati può approvare il modello di query. Se stai creando una TVF che fa riferimento solo ai tuoi dati per la condivisione in una direzione, puoi approvare il template di query autonomamente.

Approvare un modello di query

Per approvare un modello di query, seleziona una delle seguenti opzioni:

Console

  1. Nella console Google Cloud , vai alla pagina Condivisione (Analytics Hub).

    Vai a Condivisione (Analytics Hub)

  2. Fai clic sul nome visualizzato della data clean room che contiene il modello di query.

  3. Nella data clean room, vai alla scheda Modelli.

  4. Nella riga relativa al modello che richiede la tua revisione, fai clic su Stato approvazione > Richiede revisione.

  5. Fai clic su Approva.

  6. Seleziona la posizione del modello. Questa posizione è quella in cui viene creato il TVF per la condivisione.

  7. Esamina il modello di query proposto.

  8. Per approvare il modello di query da utilizzare nella data clean room, fai clic su Approva.

API

  1. Crea la routine dal modello di query chiamando il metodo jobserver.query:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://bigquery.googleapis.com/bigquery/v2/projects/ROUTINE_PROJECT_ID/queries --data '{"query":"ROUTINE_CREATION_QUERY","useLegacySql":false}'

    Sostituisci quanto segue:

    • ROUTINE_PROJECT_ID: l'ID progetto del progetto in cui è stata creata la routine.
    • ROUTINE_CREATION_QUERY: la query per creare la routine.
  2. Aggiungi la routine che hai creato alla data clean room:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -H 'x-goog-user-project:DCR_PROJECT_ID' -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/listings?listingId=LISTING_ID -d
    '{"bigqueryDataset":{"dataset":"projects/PROJECT_ID/datasets/DATASET_ID","selectedResources":[{"routine":"projects/PROJECT_ID/datasets/DATASET_ID/tables/ROUTINE_ID"}]},"displayName":"LISTING_NAME"}'

    Sostituisci quanto segue:

    • DCR_PROJECT_ID: l'ID progetto del progetto in cui è stata creata la data clean room.
    • LOCATION: la località della data clean room.
    • CLEAN_ROOM_ID: l'ID del data clean room.
    • LISTING_ID: l'ID della scheda.
    • PROJECT_ID: l'ID progetto del progetto che contiene il set di dati di origine.
    • DATASET_ID: l'ID del set di dati di origine.
    • ROUTINE_ID: l'ID della routine.
    • LISTING_NAME: il nome visualizzato della scheda.
  3. Aggiorna lo stato del template di query su APPROVED:

    curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates/QUERY_TEMPLATE_ID:approve  --data '{}'

    Sostituisci quanto segue:

    • DCR_PROJECT_ID: l'ID progetto del progetto in cui è stata creata la data clean room.
    • LOCATION: la località della data clean room.
    • CLEAN_ROOM_ID: l'ID del data clean room.
    • QUERY_TEMPLATE_ID: l'ID del modello di query.

Rifiuta un modello di query

Nella console Google Cloud , puoi rifiutare un modello di query non approvando il modello di query inviato in corso di revisione.

Workflow dei sottoscrittori di modelli

Un abbonato ai modelli di query può visualizzare e iscriversi a una data clean room. Se alla data clean room viene aggiunto solo il modello di query, l'iscrizione alla data clean room concede l'accesso solo alla TVF corrispondente, non ai dati condivisi sottostanti.

Iscriviti a un template di query

Per iscriverti a un modello di query, seleziona una delle seguenti opzioni:

Console

Per iscriverti a un modello di query, devi iscriverti alla data clean room. La sottoscrizione concede l'accesso a tutte le schede per cui l'impostazione Escludi l'accesso alla scheda dal set di dati collegato è disattivata.

Dopo aver sottoscritto l'abbonamento alla data clean room, segui questi passaggi per eseguire un modello di query:

  1. Nella console Google Cloud , vai alla pagina BigQuery.

    Vai a BigQuery

  2. Nel riquadro Explorer, vai al set di dati collegato che hai creato quando hai sottoscritto l'abbonamento alla clean room.

  3. Apri la routine o la funzione definita dall'utente condivisa nel set di dati collegato.

  4. Fai clic su Richiama funzione tabella.

  5. Sostituisci il parametro con l'input accettato, ovvero il nome della tabella o un campo.

  6. Fai clic su Esegui.

Se non riesci a visualizzare la TVF nidificata come elemento secondario del set di dati collegato nel riquadro Explorer, puoi eseguire query sulla TVF direttamente sul set di dati collegato:

SELECT * FROM `my_project.dcr_linked_dataset.mytvf`(TABLE myTable);

API

Utilizza il metodo projects.locations.dataExchanges.subscribe.

L'esempio seguente mostra come chiamare il metodo projects.locations.dataExchanges.subscribe utilizzando il comando curl:

  curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -L -X POST https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID:subscribe  --data '{"destination":"projects/SUBSCRIBER_PROJECT_ID/locations/LOCATION","subscription":"SUBSCRIPTION"}'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stata creata la data clean room.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID della data clean room.
  • SUBSCRIBER_PROJECT_ID: l'ID progetto del progetto del sottoscrittore del template.
  • SUBSCRIPTION: il nome dell'abbonamento.

Dopo aver eseguito la sottoscrizione al modello di query, puoi eseguire query sulla TVF direttamente sul set di dati collegato:

SELECT * FROM `my_project.dcr_linked_dataset.mytvf`(TABLE myTable);

Scenari di esempio

Puoi utilizzare i modelli di query per facilitare diverse forme di collaborazione sui dati all'interno di una data clean room. Le sezioni seguenti descrivono scenari di esempio.

Scenario di condivisione unidirezionale

Un publisher di dati crea un modello di query in modo che i partner iscritti possano eseguire solo le query definite dal publisher. I creatori di modelli di query approvano autonomamente i modelli di query perché non viene aggiunto nessun altro collaboratore alla clean room.

In questo scenario, l'utente A è un proprietario di una data clean room che crea una data clean room chiamata campaign_analysis e aggiunge un set di dati denominato my_campaign con una tabella campaigns. L'utente A configura una policy per la soglia di aggregazione e i controlli dei metadati in modo che sia visibile solo lo schema dei metadati e che gli abbonati al template non possano accedere ai dati di origine. L'utente A crea quindi un modello di query definendo una TVF dalla tabella campaigns, limitando gli abbonati del set di dati collegato all'esecuzione solo della TVF.

Questa è la sintassi della TVF:

campaigns_template(t1 TABLE<campaign_ID STRING>) AS (
SELECT WITH AGGREGATION_THRESHOLD company_id, company, sum(impressions) FROM my_project.my_campaign.campaigns
group by company_id, company
);

Poiché l'utente A dispone delle autorizzazioni appropriate per la tabella campaigns con il ruolo BigQuery Data Owner, può approvare autonomamente il modello di query subito dopo averlo inviato per la revisione.

Condivisione della collaborazione tra più parti

Il proprietario di una clean room invita un collaboratore di fiducia a proporre query da eseguire sui dati reciproci. Entrambe le parti possono proporre query in sicurezza visualizzando solo gli schemi dei metadati, senza accedere ai dati condivisi sottostanti. Quando una definizione di query fa riferimento a dati che non appartengono al proponente del modello, solo il proprietario di questi dati può approvare il modello di query.

In questo scenario, l'utente A invita l'utente B, che è un collaboratore della data clean room, alla data clean room campaign_analysis. L'utente B vuole proporre un modello di query per unire i propri dati alla tabella campaigns visualizzando lo schema dei metadati della tabella.

Questa è la sintassi della TVF:

campaigns_template(t1 TABLE<campaign_ID STRING>) AS (
SELECT WITH AGGREGATION_THRESHOLD company_id, company, sum(impressions) FROM my_project.my_campaign.campaigns
group by company_id, company
);

Poiché l'utente B non ha aggiunto o non è proprietario della tabella campaigns, solo l'utente A può approvare il modello di query dopo che è stato inviato per la revisione. Per utilizzare il modello di query, l'utente B deve iscriversi alla data clean room e richiamare la TVF. L'utente B trasferisce la propria tabella con un campo denominato campaign_ID come parametro della tabella e può eseguire l'SQL incentrato sulla privacy definito nel modello di query. L'utente B non deve aggiungere i propri dati alla data clean room.

Anche l'utente B aggiunge alla data clean room un set di dati denominato my_transactions che contiene una tabella transactions e una tabella products. L'utente B configura una policy di soglia di aggregazione e i controlli dei metadati in modo che sia visibile solo lo schema dei metadati e gli abbonati al modello non possano accedere ai dati di origine.

L'utente A ora può proporre vari modelli di query per unire i propri dati alla tabella transactions visualizzando lo schema dei metadati della tabella. Di seguito sono riportati esempi di sintassi TVF:

transactions_template(t1 TABLE<user_ID STRING>) AS (
SELECT WITH AGGREGATION_THRESHOLD company_id, company, campaign_id, sku, category, date, sum(amount) FROM my_project.my_transactions.transactions
group by company_id, company, campaign_id, sku, category, date
);
transactions_template_with_join(t1 TABLE<user_ID STRING>) AS (
SELECT WITH AGGREGATION_THRESHOLD t.company_id, t.company, t.campaign_id, t.sku, t.date, p.product_name, p.product_category, sum(t.amount) FROM my_project.my_transactions.transactions t
left join my_project.my_transactions.products p
on t.product_id = p.product_id
group by t.company_id, t.company, t.campaign_id, t.sku, t.date, p.product_name, p.product_category
);

Poiché l'utente A non ha aggiunto o non è proprietario delle tabelle transactions e products, solo l'utente B può approvare il modello di query dopo che è stato inviato per la revisione. Per utilizzare il modello di query, l'utente A deve abbonarsi alla data clean room e richiamare la TVF. L'utente A passa la propria tabella con un campo denominato user_ID come parametro della tabella e può eseguire l'SQL incentrato sulla privacy definito nel modello di query. L'utente A non deve aggiungere i propri dati alla data clean room.

Prezzi

La tabella seguente riassume i prezzi dei template di query per i data clean room di BigQuery:

Ruolo Dettagli dei prezzi
Collaboratore data clean room Addebito solo per l'archiviazione dei dati.
Sottoscrittore del modello Addebiti solo per il computing (analisi) durante l'esecuzione delle query.

Passaggi successivi