Crea connessioni cross-cloud

Le connessioni cross-cloud sono connessioni BigQuery che importano dati da Amazon Web Services (AWS), Microsoft Azure e Salesforce Data 360 in BigQuery per l'esecuzione di query. Queste connessioni sono un'alternativa alle connessioni BigQuery standard che utilizzano BigQuery Omni, in cui BigQuery esegue il deployment di worker di computing leggeri in regioni remote per rendere disponibili i dati in altri cloud per le query senza alcun movimento di dati.

I workload possono trarre vantaggio dalle connessioni cross-cloud rispetto alle connessioni standard per i seguenti motivi:

  • Coerenza delle funzionalità. Se trasferisci i tuoi dati da altri cloud a BigQuery, ottieni l'accesso diretto alle funzionalità di AI di BigQuery, a Gemini Enterprise Agent Platform, alle viste materializzate, alle funzioni definite dall'utente e ad altre funzionalità non disponibili tramite le connessioni standard.
  • Efficienza in termini di costi. I workload che utilizzano connessioni cross-cloud consumano prenotazioni e impegni di slot standard, eliminando la necessità di gestire capacità di computing separate.
  • Memorizzazione nella cache intelligente. Quando attivi la memorizzazione nella cache cross-cloud sulla tua connessione, BigQuery memorizza nella cache i blocchi di file recuperati localmente all'interno della regione Google Cloud della connessione. Le query successive che hanno come target gli stessi blocchi di file vengono lette direttamente dalla cache locale anziché recuperare nuovamente i file dal cloud remoto, contribuendo a ridurre i costi del traffico in uscita cross-cloud e ad accelerare le prestazioni delle query. Per impostazione predefinita, la memorizzazione nella cache cross-cloud è disabilitata. Per saperne di più, consulta Memorizzazione nella cache intelligente.

Se il tuo workload prevede cataloghi Apache Iceberg o se hai bisogno del supporto delle query su motori diversi da BigQuery, valuta la possibilità di utilizzare la funzionalità di accesso ai dati cross-cloud di Lakehouse senza confini.

Prima di iniziare

Concedi i ruoli Identity and Access Management e di terze parti che forniscono agli utenti le autorizzazioni necessarie per eseguire ogni attività in questo documento.

Ruoli BigQuery richiesti

Per ottenere le autorizzazioni necessarie per creare una connessione cross-cloud, chiedi all'amministratore di concederti il ruolo IAM BigQuery Admin (roles/bigquery.admin) nel progetto. Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.

Potresti anche riuscire a ottenere le autorizzazioni richieste tramite i ruoli personalizzati o altri ruoli predefiniti.

Ruoli di terze parti richiesti

Per ottenere le autorizzazioni necessarie per creare una connessione cross-cloud, assicurati di disporre dei seguenti ruoli di terze parti:

  • Per AWS: un ruolo che ti consente di creare policy e ruoli IAM nel tuo account AWS.
  • Per Azure: un ruolo che ti consente di gestire le registrazioni delle app in Microsoft Entra ID (Azure AD) e di assegnare ruoli, ad esempio Lettore di dati BLOB di archiviazione, nell'account Azure di destinazione.

Crea connessioni cross-cloud AWS

Per creare una connessione cross-cloud AWS, segui questi passaggi:

  1. Crea una policy AWS IAM per BigQuery come faresti per le connessioni BigQuery standard.
  2. Crea un ruolo AWS IAM per BigQuery come faresti per le connessioni BigQuery standard.
  3. Crea la risorsa di connessione e recupera l'identità account di servizio utilizzando la console Google Cloud o lo strumento a riga di comando bq:

    Console

    1. Vai alla pagina BigQuery.

      Vai a BigQuery

    2. Nel riquadro Explorer, espandi il nome del progetto, quindi fai clic su Connessioni.

    3. Nella pagina Connessioni, fai clic su Crea connessione.

    4. Nel riquadro Origine dati esterna, inserisci le seguenti informazioni:

      • In Tipo di connessione, seleziona BigLake su AWS (tramite BigQuery Omni).
      • In ID connessione, inserisci un identificatore per la risorsa di connessione.
      • In Regione, seleziona una località BigQuery standard (ad esempio us-east4), non una località BigQuery Omni. Per indicazioni sulla selezione di una regione, consulta Suggerimenti per le regioni.
      • In ID ruolo AWS, inserisci l'ARN completo del ruolo IAM: arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME.
      • (Facoltativo) In Memorizzazione nella cache cross-cloud, seleziona Abilita memorizzazione nella cache cross-cloud per memorizzare nella cache i file remoti nella regioneGoogle Cloud della connessione e accelerare le prestazioni delle query. Puoi anche aggiornare questa impostazione in un secondo momento nella pagina Informazioni sulla connessione facendo clic su Modifica dettagli. Per saperne di più sul funzionamento della memorizzazione nella cache, sulla conservazione e sui prezzi, consulta Memorizzazione nella cache intelligente.
    5. Fai clic su Crea connessione e poi su Vai alla connessione.

    6. Nel riquadro Informazioni sulla connessione, copia il valore Identità Google BigQuery.

    bq

    1. Per creare una risorsa di connessione, utilizza il comando bq mk --connection:

      bq mk --connection \
         --connection_type='AWS' \
         --location=LOCATION \
         --project_id=PROJECT_ID \
         --properties='{"accessRole":{"iamRoleId":"arn:aws:iam::AWS_ACCOUNT_ID:role/ROLE_NAME"},"crossCloudCacheOptions":{"enabled":CROSS_CLOUD_CACHE_ENABLED}}' \
         CONNECTION_ID

      Sostituisci quanto segue:

      • LOCATION: una località BigQuery standard, non una località BigQuery Omni. Per indicazioni sulla selezione di una regione, consulta Suggerimenti per le regioni.
      • PROJECT_ID: l'ID del tuo progettoGoogle Cloud .
      • AWS_ACCOUNT_ID: l'ID dell'utente IAM AWS del passaggio precedente.
      • ROLE_NAME: il nome della policy del ruolo AWS che hai scelto.
      • CROSS_CLOUD_CACHE_ENABLED: (Facoltativo) indica se abilitare la memorizzazione nella cache cross-cloud sulla connessione (true o false). Il valore predefinito è false. Se impostato su true, BigQuery memorizza nella cache i file remoti nella regioneGoogle Cloud della connessione. Per saperne di più, consulta Memorizzazione nella cache intelligente.
      • CONNECTION_ID: un ID da assegnare a questa risorsa di connessione.

      Per saperne di più sulle proprietà di connessione AWS, consulta AwsProperties.

    2. Per prendere nota delle informazioni sul account di servizio, utilizza il comando bq show:

      bq show --connection \
         --location=LOCATION \
         PROJECT_ID.LOCATION.CONNECTION_ID
  4. Aggiungi una policy di attendibilità al ruolo AWS utilizzando i dati del account di servizio, come faresti per le connessioni BigQuery standard.

Con la connessione cross-cloud AWS stabilita, ora puoi creare tabelle e set di dati per eseguire query sui dati remoti.

Esempi di AWS

L'esempio seguente crea una tabella esterna per eseguire query sui file Parquet direttamente da un bucket Amazon Simple Storage Service (Amazon S3) con una connessione cross-cloud:

CREATE SCHEMA `my-project.aws_raw_data`
  OPTIONS (
    location = 'us-east4');

CREATE EXTERNAL TABLE `my-project.aws_raw_data.sales_parquet`
WITH CONNECTION `us-east4.my-aws-connection`
  OPTIONS (
    format = 'PARQUET',
    uris = ['s3://my-data-bucket/sales/year=2025/*']);

L'esempio seguente unisce un intero database in BigQuery utilizzando AWS Glue con una connessione cross-cloud:

CREATE EXTERNAL SCHEMA `my-project.aws_glue_data`
WITH CONNECTION `us-east4.my-aws-connection`
  OPTIONS (
    location = 'us-east4',
    external_source = 'aws-glue://arn:aws:glue:us-east-4:123456789:database/test_database');

Per saperne di più sulla federazione di AWS Glue, consulta Crea e gestisci set di dati federati di AWS Glue.

Crea connessioni cross-cloud Azure

Per creare una connessione cross-cloud Azure, segui questi passaggi:

  1. Crea un'applicazione nel tenant di Azure come faresti per le connessioni BigQuery standard e prendi nota degli ID applicazione (client) e directory (tenant).
  2. Assegna un ruolo all'applicazione Azure come faresti per le connessioni BigQuery standard.
  3. Crea la risorsa di connessione e recupera l'identità account di servizio utilizzando la console Google Cloud o lo strumento a riga di comando bq:

    Console

    1. Vai alla pagina BigQuery.

      Vai a BigQuery

    2. Nel riquadro Explorer, espandi il nome del progetto, quindi fai clic su Connessioni.

    3. Nella pagina Connessioni, fai clic su Crea connessione.

    4. Nel riquadro Origine dati esterna, inserisci le seguenti informazioni:

      • In Tipo di connessione, seleziona BigLake su Azure (tramite BigQuery Omni).
      • In ID connessione, inserisci un identificatore per la risorsa di connessione.
      • In Regione, seleziona una località BigQuery standard (ad esempio us-east4), non una località BigQuery Omni. Per indicazioni sulla selezione di una regione, consulta Suggerimenti per le regioni.
      • Per ID tenant Azure, inserisci l'ID directory Azure (tenant).
      • Seleziona Utilizza l'identità federata, quindi nel campo ID applicazione federata Azure (client), inserisci l'ID applicazione Azure (client).
      • (Facoltativo) In Memorizzazione nella cache cross-cloud, seleziona Abilita memorizzazione nella cache cross-cloud per memorizzare nella cache i file remoti nella regioneGoogle Cloud della connessione e accelerare le prestazioni delle query. Puoi anche aggiornare questa impostazione in un secondo momento nella pagina Informazioni sulla connessione facendo clic su Modifica dettagli. Per saperne di più sul funzionamento della memorizzazione nella cache, sulla conservazione e sui prezzi, consulta Memorizzazione nella cache intelligente.
    5. Fai clic su Crea connessione e poi su Vai alla connessione.

    6. Nel riquadro Informazioni sulla connessione, copia il valore Identità Google BigQuery.

    bq

    1. Per creare una risorsa di connessione, utilizza il comando bq mk --connection:

      bq mk --connection \
         --connection_type='Azure' \
         --tenant_id=TENANT_ID \
         --location=LOCATION \
         --federated_azure=true \
         --federated_app_client_id=APP_ID \
         --project_id=PROJECT_ID \
         --properties='{"crossCloudCacheOptions":{"enabled":CROSS_CLOUD_CACHE_ENABLED}}' \
         CONNECTION_ID

      Sostituisci quanto segue:

      • TENANT_ID: l'ID tenant della directory Azure che contiene l'account Azure.
      • LOCATION: una località BigQuery standard, non una località BigQuery Omni. Per indicazioni sulla selezione di una regione, consulta Suggerimenti per le regioni.
      • APP_ID: l'ID applicazione (client) Azure.
      • PROJECT_ID: l'ID del tuo progettoGoogle Cloud .
      • CROSS_CLOUD_CACHE_ENABLED: (Facoltativo) indica se abilitare la memorizzazione nella cache cross-cloud sulla connessione (true o false). Il valore predefinito è false. Se impostato su true, BigQuery memorizza nella cache i file remoti nella regioneGoogle Cloud della connessione. Per saperne di più, consulta Memorizzazione nella cache intelligente.
      • CONNECTION_ID: un ID da assegnare a questa risorsa di connessione.

      Per saperne di più sulle proprietà della connessione Azure, consulta AzureProperties.

    2. Per prendere nota delle informazioni sul account di servizio, utilizza il comando bq show:

      bq show --connection \
         --location=LOCATION \
         PROJECT_ID.LOCATION.CONNECTION_ID
  4. Aggiungi una credenziale federata utilizzando le informazioni del account di servizio, come faresti per le connessioni BigQuery standard.

Con la connessione cross-cloud Azure stabilita, ora puoi creare tabelle e set di dati per eseguire query sui dati remoti.

Esempi di Azure

L'esempio seguente crea una tabella esterna per eseguire query sui file Parquet direttamente da un container Azure Blob Storage con una connessione cross-cloud:

CREATE SCHEMA `my-project.azure_raw_data`
  OPTIONS (
    location = 'us-east4');

CREATE EXTERNAL TABLE `my-project.azure_raw_data.sales_parquet`
WITH CONNECTION `us-east4.my-azure-connection`
  OPTIONS (
    format = 'PARQUET',
    uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/sales/year=2025/*']);

L'esempio seguente crea una tabella esterna per eseguire query sulle esportazioni CSV non elaborate da un container Blob Storage con una connessione cross-cloud:

CREATE EXTERNAL TABLE `my-project.azure_raw_data.daily_logs_csv`
WITH CONNECTION `us-east4.my-azure-connection`
  OPTIONS (
    format = 'CSV',
    skip_leading_rows = 1,
    uris = ['azure://mystorageaccount.blob.core.windows.net/mycontainer/logs/*.csv']);

Crea connessioni cross-cloud di Data 360

Per creare una connessione cross-cloud Data 360, segui i passaggi per collegare un set di dati Data 360 a BigQuery, ma invece di creare il set di dati collegato in una località BigQuery Omni, crealo in una località BigQuery standard. Per indicazioni sulla selezione di una regione, consulta Suggerimenti per le regioni.

Dopo aver aggiornato le query per utilizzare i nuovi set di dati, puoi eliminare eventuali set di dati collegati legacy e viste materializzate di BigQuery Omni.

Suggerimenti per le regioni

Quando selezioni una regione BigQuery standard per la tua connessione cross-cloud, scegli la regione fisicamente più vicina ai tuoi dati per un'efficienza ottimale in termini di costi e prestazioni.

La tabella seguente elenca le regioni AWS e le regioni BigQuery corrispondenti migliori:

Regione AWS Regione BigQuery più vicina Altre regioni BigQuery vicine
us-east-1 us-east4 us-east1
us-east5
us-central1
us-east-2 us-east5 us-east4
us-east1
us-central1
us-west-1 us-west2 us-west4
us-west1
us-west3
us-west-2 us-west1 us-west3
us-west4
us-west2
ca-central-1 northamerica-northeast1 northamerica-northeast2
us-east4
us-east5
sa-east-1 southamerica-east1 southamerica-west1
us-east1
us-south1
eu-west-1 europe-west1 europe-west2
europe-west9
europe-west4
eu-west-2 europe-west2 europe-west1
europe-west9
europe-west4
eu-west-3 europe-west9 europe-west1
europe-west2
europe-west3
eu-central-1 europe-west3 europe-west4
europe-west1
europe-west6
eu-central-2 europe-west6 europe-west8
europe-west12
europe-west3
eu-north-1 europe-north1 europe-west4
europe-central2
europe-west1
eu-south-1 europe-west8 europe-west12
europe-west6
europe-west3
eu-south-2 europe-southwest1 europe-west9
europe-west1
europe-west8
me-central-1 me-central1 me-central2
me-west1
asia-south1
me-south-1 me-central2 me-central1
me-west1
asia-south1
af-south-1 europe-southwest1 me-central2
me-west1
europe-west1
ap-east-1 asia-east2 asia-east1
asia-southeast1
asia-northeast1
ap-northeast-1 asia-northeast1 asia-northeast2
asia-northeast3
asia-east1
ap-northeast-2 asia-northeast3 asia-northeast2
asia-northeast1
asia-east1
ap-northeast-3 asia-northeast2 asia-northeast1
asia-northeast3
asia-east1
ap-south-1 asia-south1 asia-south2
me-central1
asia-southeast1
ap-south-2 asia-south2 asia-south1
asia-southeast1
me-central1
ap-southeast-1 asia-southeast1 asia-southeast2
asia-east1
asia-south1
ap-southeast-2 australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
ap-southeast-3 asia-southeast2 asia-southeast1
australia-southeast1
asia-east1

La tabella seguente elenca le regioni Azure e le regioni BigQuery corrispondenti migliori:

Regione Azure Regione BigQuery più vicina Altre regioni BigQuery vicine
Stati Uniti orientali us-east4 us-east1
us-east5
us-central1
Stati Uniti orientali 2 us-east4 us-east1
us-east5
us-south1
Stati Uniti occidentali us-west1 us-west2
us-west3
us-west4
West US 2 us-west1 us-west4
us-west3
us-west2
Stati Uniti occidentali 3 us-west4 us-west2
us-west3
us-west1
Stati Uniti centrali us-central1 us-east5
us-east4
us-east1
Stati Uniti centro-settentrionali us-east5 us-central1
us-east4
us-east1
Stati Uniti centro-meridionali us-south1 us-east5
us-central1
us-east1
Stati Uniti centro-occidentali us-west3 us-central1
us-west4
us-west2
Canada centrale northamerica-northeast2 northamerica-northeast1
us-east5
us-east4
Canada orientale northamerica-northeast1 northamerica-northeast2
us-east4
us-east5
Europa occidentale europe-west4 europe-west1
europe-west3
europe-west9
Europa settentrionale europe-west1 europe-west2
europe-west9
europe-west4
Francia centrale europe-west9 europe-west1
europe-west2
europe-west3
Francia meridionale europe-west9 europe-southwest1
europe-west8
europe-west1
Germania centro-occidentale europe-west3 europe-west4
europe-west1
europe-west6
Germania settentrionale europe-west3 europe-west4
europe-central2
europe-west2
Svizzera settentrionale europe-west6 europe-west8
europe-west12
europe-west3
Svizzera occidentale europe-west6 europe-west9
europe-west8
europe-west3
UK South europe-west2 europe-west1
europe-west9
europe-west4
UK West europe-west2 europe-west1
europe-west9
europe-west4
Norvegia orientale europe-north1 europe-west4
europe-central2
europe-west1
Norvegia occidentale europe-north1 europe-west4
europe-central2
europe-west1
Svezia centrale europe-north1 europe-west4
europe-central2
europe-west1
Asia orientale asia-east2 asia-east1
asia-southeast1
asia-northeast1
Sudest asiatico asia-southeast1 asia-southeast2
asia-east1
asia-south1
Giappone orientale asia-northeast1 asia-northeast2
asia-northeast3
asia-east1
Giappone occidentale asia-northeast2 asia-northeast1
asia-northeast3
asia-east1
Corea centrale asia-northeast3 asia-northeast2
asia-northeast1
asia-east1
Australia orientale australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
Australia sudorientale australia-southeast2 australia-southeast1
asia-southeast1
asia-east1
Australia centrale australia-southeast1 australia-southeast2
asia-southeast2
asia-southeast1
India occidentale asia-south1 asia-south2
me-central1
asia-southeast1
India centrale asia-south1 asia-south2
me-central1
asia-southeast1
India del Sud asia-south1 asia-south2
asia-southeast1
me-central1

Passaggi successivi