Utilizzare i modelli di query

I modelli di query delle data clean room di BigQuery accelerano il time-to-insight e forniscono ulteriori livelli di sicurezza e controllo per ridurre al minimo i problemi di esfiltrazione dei dati. Definendo e limitando in anticipo le query che possono essere eseguite nelle data clean room, puoi:

  • Contribuire a prevenire la fuga di dati sensibili. Quando gli abbonati che eseguono query in una data clean room hanno maggiore flessibilità di esplorazione, i proprietari dei dati ritengono che esista un rischio maggiore di esposizione accidentale o intenzionale di informazioni sensibili.

  • Semplificare l'onboarding e l'adozione per gli utenti meno esperti di tecnologia. Molti fornitori di dati si aspettano che gli abbonati alle clean room siano meno esperti a livello tecnico, soprattutto nella scrittura di query SQL incentrate sulla privacy e nella comprensione di come allocare in modo appropriato i budget per la privacy.

  • Garantire risultati analitici coerenti per gli abbonati ai dati. Diventa più difficile applicare regole specifiche di analisi dei dati e verificare la conformità alle normative sulla privacy quando non è possibile controllare le query eseguite in una data clean room.

I modelli di query consentono ai proprietari e ai collaboratori dei dati di creare query predefinite e approvate, specificamente adattate ai casi d'uso della data clean room e di pubblicarle per l'utilizzo da parte degli abbonati. Le query predefinite utilizzano funzioni con valori di tabella (TVF) in BigQuery per consentire il passaggio di un'intera tabella o di campi specifici come parametri di input e restituire una tabella come output.

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.
    • È possibile fare riferimento a più tabelle o viste all'interno della definizione della query del TVF, ma devono appartenere tutte allo stesso proprietario o alla stessa parte dei dati.
  • Le funzioni definite dall'utente 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.

Prima di iniziare

Abilita l'API Analytics Hub per il tuo Google Cloud progetto seguendo questi passaggi:

Console

  1. Vai alla pagina API Analytics Hub.

    Vai all'API Analytics Hub

  2. Nella barra degli strumenti della console Google Cloud , seleziona il 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 ulteriori informazioni 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:

  • Creare o eliminare 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

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

Aggiungere un TVF esistente a una data clean room

Puoi aggiungere un 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.
  • PROJECT_ID: l'ID progetto del progetto in cui era contenuto il set di dati di origine.
  • DATASET_ID: l'ID del set di dati di origine.
  • LOCATION: la posizione della data clean room.
  • CLEAN_ROOM_ID: l'ID della data clean room.
  • LISTING_ID: l'ID scheda.
  • LISTING_NAME: il nome della scheda.
  • ROUTINE_ID: l'ID della routine.

Ruoli dei modelli di query

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

Flussi di lavoro del creatore di modelli

In qualità di creatore di un modello di query, puoi:

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

    1. Per aggiungere dati di altre parti, condividi la data clean room con un altro collaboratore attendibile. Questo collaboratore deve anche aggiungere dati alla data clean room per poterli utilizzare in un modello di query.
  4. Imposta i controlli di uscita 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. I metadati della vista creata per i tuoi dati vengono ora aggiunti alla data clean room.

Creare un modello di query

Seleziona una delle seguenti opzioni:

Console

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

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

  6. Fai clic su Avanti.

  7. Puoi visualizzare gli schemi delle viste aggiunte alla data clean room e proporre una definizione di query.

    1. Assicurati di definire la query utilizzando la sintassi CREATE TABLE FUNCTION supportata.
    2. Trasferisci 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)
      
    3. 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. Controlla i dettagli del modello.

  9. Per salvare il modello senza inviarlo per la revisione, fai clic su Salva. Il modello 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 modello di query con un 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 {
  name: "query_template1",
  display_name: "query_template1",
  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 della data clean room.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.
  • TVF_DEFINITION: la definizione 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 data 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 precedente definition_body 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 inviare il modello di query per la revisione.

Aggiornare un modello di query

Puoi aggiornare un modello di query solo se è in stato BOZZA. Se il modello di query è già stato inviato per la revisione, non puoi più modificarlo.

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

Console

  1. 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 clean room, vai alla scheda Modelli.

  4. Nella riga relativa al modello da aggiornare, fai clic su Azioni > Modifica modello.

  5. Aggiorna i dettagli del modello e la definizione della query in base alle esigenze.

  6. Fai clic su Avanti.

  7. Esamina il modello di query e fai clic su Salva per salvare le modifiche senza inviare il modello per la revisione.

API

L'esempio seguente mostra come aggiornare un modello di query con un 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=display_name -d
    'query_template {
    display_name: "query_template1"
  }'

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.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.

Inviare un modello di query per la revisione

Seleziona una delle seguenti opzioni:

Console

  1. 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 clean room, vai alla scheda Modelli.

  4. Nella riga relativa al 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 con un 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 della data clean room.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.

Eliminare un modello di query

Puoi eliminare un modello di query solo se è in stato BOZZA. Se il modello di query è già stato inviato per la revisione, non puoi più eliminarlo.

Seleziona una delle seguenti opzioni:

Console

  1. 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 clean room, vai alla scheda Modelli.

  4. Nella riga relativa al modello da eliminare, fai clic su Azioni > Elimina modello.

API

L'esempio seguente mostra come eliminare un modello di query con un 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 della data clean room.
  • QUERY_TEMPLATE_ID: l'ID del modello di query.

Workflow di approvazione dei modelli

In qualità di approvatore di modelli di query, puoi approvare un modello di query.

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

Approvare un modello di query

Seleziona una delle seguenti opzioni:

Console

  1. 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 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. Rivedi il modello di query proposto.

  8. Fai clic su Approva se il modello di query è approvato per l'utilizzo all'interno della data clean room.

API

  1. Crea la routine dal modello di query utilizzando una chiamata 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 posizione della data clean room.
    • CLEAN_ROOM_ID: l'ID della data clean room.
    • LISTING_ID: l'ID scheda.
    • PROJECT_ID: l'ID progetto del progetto in cui era contenuto 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 della scheda.
  3. Aggiorna lo stato del modello di query a 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 posizione della data clean room.
    • CLEAN_ROOM_ID: l'ID della data clean room.
    • QUERY_TEMPLATE_ID: l'ID del modello di query.

Rifiutare un modello di query

Nella console Google Cloud , puoi rifiutare un modello di query nei seguenti modi:

Workflow di iscrizione ai modelli

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

Iscriviti a un modello di query

Seleziona una delle seguenti opzioni:

Console

Per iscriverti a un modello di query, devi iscriverti alla data clean room. L'accesso viene concesso a tutte le schede per le quali l'impostazione Escludi accesso alla scheda dal set di dati collegato è disattivata.

Per abbonarti a un modello di query:

  1. Vai alla pagina BigQuery.

    Vai a BigQuery

  2. Vai al set di dati collegato che hai creato quando ti sei iscritto alla data 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 del 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 `myproject.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 abbonato.
  • 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 `myproject.dcr_linked_dataset.mytvf`(TABLE myTable);

Scenari di esempio

I modelli di query possono essere utilizzati 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 editore di dati crea un modello di query per verificare che i partner abbonati possano eseguire solo le query definite dall'editore. I creatori dei modelli di query approvano autonomamente i modelli di query, poiché 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 chiamata campaign_analysis e aggiunge un set di dati denominato my_campaign con una tabella campaigns. L'utente A configura un criterio di soglia di aggregazione e controlli dei metadati per verificare che sia visibile solo lo schema dei metadati e che gli abbonati non possano accedere ai dati di origine. L'utente A crea quindi un modello di query definendo una funzione con valori di tabella dalla tabella campaigns, limitando tutti gli abbonati del set di dati collegato all'esecuzione della sola TVF.

Ecco la sintassi TVF:

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

Poiché l'utente A dispone delle autorizzazioni appropriate per la tabella delle campagne con il ruolo Proprietario dati BigQuery, può approvare autonomamente il modello di query immediatamente dopo averlo inviato per la revisione.

Condivisione della collaborazione con più parti

Il proprietario di una clean room invita un collaboratore fidato a proporre query da eseguire sui dati di ciascuno. Entrambe le parti possono proporre in modo sicuro query 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, il modello può essere approvato solo dal proprietario dei dati.

In questo scenario, l'utente A invita l'utente B, che è un collaboratore della data clean room, nella 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.

Ecco la sintassi 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 e non è proprietario della tabella campaigns, una volta inviato il modello di query per l'approvazione, solo l'utente A può approvarlo. Per utilizzare il modello di query, l'utente B deve iscriversi alla 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 privato definito nel modello di query. È utile notare qui che l'utente B non deve aggiungere i propri dati alla data clean room.

L'utente B aggiunge alla data clean room anche un set di dati denominato my_transactions, che contiene una tabella transactions e una tabella products. L'utente B configura i criteri di soglia di aggregazione e i controlli dei metadati per verificare che sia visibile solo lo schema dei metadati e che gli abbonati non possano accedere ai dati di origine.

L'utente A ora può proporre vari modelli di query per unire i propri dati alla tabella delle transazioni visualizzando lo schema dei metadati della tabella. Di seguito sono riportati alcuni 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 myproject.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 e non è proprietario delle tabelle transactions e products, una volta inviato il modello di query per l'approvazione, solo l'utente B può approvarlo. Per utilizzare il modello di query, l'utente A deve abbonarsi alla data clean room e richiamare la TVF. L'utente A trasmette la propria tabella con un campo denominato user_ID come parametro della tabella e può eseguire l'SQL per la privacy definito nel modello di query. È utile notare che l'utente A non deve aggiungere i propri dati alla data clean room.

Prezzi

Ai collaboratori di dati che utilizzano i modelli di query vengono addebitati solo i costi per l'archiviazione dei dati.

Agli abbonati che utilizzano i modelli di query viene addebitato solo il calcolo (analisi) quando eseguono le query.

Passaggi successivi