Utilizza i modelli di query

I template 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 rischi di esfiltrazione di dati, garantisce risultati analitici coerenti e semplifica l'onboarding per gli analisti che non hanno familiarità con l'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 dei 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 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.

gcloud

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 per i creator di 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, segui questi passaggi:

  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, consulta Crea una scheda (aggiungi 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/routines/ROUTINE_ID"}]},"displayName":"LISTING_NAME"}'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stato creato il 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.

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 data 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 visualizzazioni 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 inviarlo 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 \
'{
  "displayName": "DISPLAY_NAME",
  "routine": {
    "routineType": "TABLE_VALUED_FUNCTION",
    "definitionBody": "QUERY_TEMPLATE_ID(TVF arguments) AS (TVF_DEFINITION)"
  }
}'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stato creato il 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 template di query.
  • DISPLAY_NAME: il nome visualizzato del template di query. Non puoi aggiornare il nome visualizzato del template 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 completo al percorso 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)

Sostituisci APPROVERS_DATASET con l'ID del set di dati in cui l'approvatore del template crea la routine.

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

  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 '{
   "description": "New query template"
 }'

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stato creato il 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 template di query.

Invia un template 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 revisione. Il template 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 è stato creato il 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 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 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 DELETE https://analyticshub.googleapis.com/v1/projects/DCR_PROJECT_ID/locations/LOCATION/dataExchanges/CLEAN_ROOM_ID/queryTemplates/QUERY_TEMPLATE_ID

Sostituisci quanto segue:

  • DCR_PROJECT_ID: l'ID progetto in cui è stato creato il 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 template 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.

Approva un template di query

Per approvare 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 modello che richiede la tua revisione, fai clic su Stato di approvazione > Richiede revisione.

  5. Fai clic su Approva.

  6. Seleziona la posizione del template. Questa è la località in cui viene creata la 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 template di query chiamando il metodo jobs.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 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/routines/ROUTINE_ID"}]},"displayName":"LISTING_NAME"}'

    Sostituisci quanto segue:

    • DCR_PROJECT_ID: l'ID 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 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 template 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 TVF 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 è stato creato il data clean room.
  • LOCATION: la località della data clean room.
  • CLEAN_ROOM_ID: l'ID del data clean room.
  • SUBSCRIBER_PROJECT_ID: l'ID progetto del progetto del sottoscrittore del template.
  • SUBSCRIPTION: il nome della tua sottoscrizione.

Dopo aver sottoscritto l'abbonamento 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 template 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 dei modelli di query approvano autonomamente i modelli di query perché nessun altro collaboratore viene aggiunto alla clean room.

In questo scenario, l'utente A è un proprietario di una data clean room che crea una data clean room denominata 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 della sola 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 dell'altro. 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 passa 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 può ora 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 iscriversi 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 Viene addebitato solo il costo per l'archiviazione dei dati.
Sottoscrittore del modello Addebiti solo per il computing (analisi) durante l'esecuzione delle query.

Passaggi successivi