Vista geral da associação predefinida
Para simplificar o seu fluxo de trabalho, pode configurar uma associação de recursos da Cloud predefinida no BigQuery para criar tabelas externas e modelos remotos do BigQuery ML. Um administrador configura a associação predefinida e, em seguida, os utilizadores podem referenciá-la durante a criação de recursos em vez de terem de especificar os detalhes da associação.
O BigQuery suporta associações predefinidas nos seguintes recursos:
- Tabelas do Cloud Storage BigLake
- Tabelas de objetos
- Tabelas do BigLake para o Apache Iceberg no BigQuery
- Modelos remotos
Para usar a associação predefinida, especifique a palavra-chave DEFAULT
nas seguintes cláusulas SQL:
- A cláusula
WITH CONNECTION
de uma declaraçãoCREATE EXTERNAL TABLE
- A cláusula
REMOTE WITH CONNECTION
de uma declaraçãoCREATE MODEL
para um modelo remoto
Antes de começar
Enable the BigQuery Connection API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM
role (roles/serviceusage.serviceUsageAdmin
), which
contains the serviceusage.services.enable
permission. Learn how to grant
roles.
Funções e autorizações necessárias
Para trabalhar com associações predefinidas, use as seguintes funções de gestão de identidade e de acesso (IAM):
- Usar a associação predefinida: utilizador da associação do BigQuery (
roles/bigquery.connectionUser
) no seu projeto - Defina a associação predefinida: administrador do BigQuery (
roles/bigquery.admin
) no seu projeto Se for necessário conceder autorizações à conta de serviço de uma associação predefinida:
- Se a ligação predefinida for usada para criar tabelas externas: Storage Admin (
roles/storage.admin
) em quaisquer contentores do Cloud Storage usados pelas tabelas externas. Se a ligação predefinida for usada para criar modelos remotos: Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) no projeto que contém o ponto final do Vertex AI. Para os seguintes tipos de modelos remotos, este é o projeto atual:- Modelos remotos através dos serviços de IA na nuvem.
- Modelos remotos sobre modelos da Google ou de parceiros que criou ao especificar o nome do modelo como um ponto final.
Para todos os outros modelos remotos, este é o projeto que contém o endpoint do Vertex AI no qual o modelo de destino está implementado.
Se usar o modelo remoto para analisar dados não estruturados de uma tabela de objetos e o contentor do Cloud Storage que usa na tabela de objetos estiver num projeto diferente do seu ponto final do Vertex AI, também tem de ter a função de administrador de armazenamento (
roles/storage.admin
) no contentor do Cloud Storage usado pela tabela de objetos.
Só precisa destas funções se for um administrador a configurar uma ligação para utilização como ligação predefinida ou um utilizador que esteja a usar uma ligação predefinida à qual ainda não foi concedida a função adequada à respetiva conta de serviço. Para mais informações, consulte o artigo Configure a associação predefinida.
- Se a ligação predefinida for usada para criar tabelas externas: Storage Admin (
Estas funções predefinidas contêm as autorizações necessárias para realizar as tarefas descritas neste documento. Para ver as autorizações exatas necessárias, expanda a secção Autorizações necessárias:
Autorizações necessárias
- Usar a ligação predefinida:
bigquery.connections.use
- Crie uma associação:
bigquery.connections.*
- Defina a ligação predefinida:
bigquery.config.*
- Defina autorizações de contas de serviço para uma associação predefinida que é usada
para criar tabelas externas:
storage.buckets.getIamPolicy
estorage.buckets.setIamPolicy
- Defina autorizações da conta de serviço para uma associação predefinida que é usada
para criar modelos remotos:
resourcemanager.projects.getIamPolicy
eresourcemanager.projects.setIamPolicy
- Se a ligação predefinida for usada com um modelo remoto que processa
dados não estruturados de uma tabela de objetos,
storage.buckets.getIamPolicy
estorage.buckets.setIamPolicy
Também pode conseguir estas autorizações com funções personalizadas ou outras funções predefinidas.
Configure a ligação predefinida
Para configurar a ligação predefinida pela primeira vez, use um dos seguintes métodos:
Crie uma associação, conceda funções adequadas à conta de serviço da associação e, de seguida, defina a associação como a associação predefinida.
O utilizador que cria e configura a associação predefinida precisa da função de administrador do BigQuery e da função de administrador do armazenamento ou administrador do IAM do projeto, conforme adequado. O utilizador da ligação predefinida precisa da função de utilizador da ligação do BigQuery.
Crie uma associação e, em seguida, defina-a como a associação predefinida. O serviço concede as funções adequadas à conta de serviço da ligação predefinida quando esta é usada.
O utilizador que cria e define a ligação predefinida precisa da função de administrador do BigQuery. O utilizador da ligação predefinida precisa da função de utilizador da ligação do BigQuery e da função de administrador do armazenamento ou administrador de IAM do projeto, conforme adequado.
Especifique a palavra-chave
DEFAULT
numa declaração suportada. O serviço cria uma associação, concede funções adequadas à conta de serviço da associação e, em seguida, define a associação como a associação predefinida.O utilizador da ligação predefinida precisa da função de administrador do BigQuery e da função de administrador do Storage ou de administrador do IAM do projeto, conforme adequado.
Defina a associação predefinida para um projeto
Defina a ligação de recursos da nuvem predefinida para o projeto através da declaração DDL ALTER PROJECT SET OPTIONS
.
O exemplo seguinte define a associação predefinida para o projeto:
ALTER PROJECT PROJECT_ID SET OPTIONS ( `region-REGION.default_cloud_resource_connection_id` = CONNECTION_ID);
Substitua o seguinte:
PROJECT_ID
: o ID do projeto onde está a definir a associação predefinida.REGION
: a região da ligação.CONNECTION_ID
: o ID ou o nome da associação a usar como predefinição para tabelas e modelos. Especifique apenas o ID ou o nome da ligação e exclua os prefixos do ID do projeto e da região anexados ao nome ou ao ID.
Para mais informações sobre como configurar uma associação predefinida para um projeto, consulte o artigo Faça a gestão das configurações predefinidas.
Aprovisionamento de autorizações para a ligação predefinida
Quando usa a ligação predefinida para criar uma tabela externa ou um modelo remoto, Google Cloud concede à conta de serviço da ligação predefinida as funções adequadas se a conta de serviço ainda não as tiver. Esta ação falha se não tiver privilégios administrativos no Cloud Storage ou no recurso do Vertex AI usado pela tabela externa ou pelo modelo remoto.
As seguintes funções são concedidas à conta de serviço da associação predefinida:
Tipo de tabela ou modelo | Recurso remoto | Funções atribuídas à conta de serviço da associação |
---|---|---|
Tabela do Cloud Storage BigLake | Cloud Storage | roles/storage.legacyBucketReader roles/storage.legacyObjectReader |
Tabela de objetos | Cloud Storage | roles/storage.legacyBucketReader roles/storage.legacyObjectReader |
Tabelas Iceberg do BigLake no BigQuery | Cloud Storage | roles/storage.legacyBucketWriter roles/storage.legacyObjectOwner |
Modelos remotos do BigQuery ML sobre modelos da Vertex AI | Modelos da Google | roles/aiplatform.user |
Implementável num ponto final a partir do Model Garden | ||
Modelos de utilizadores | ||
Modelos otimizados | roles/aiplatform.serviceAgent |
|
Modelos remotos do BigQuery ML sobre os serviços de IA da nuvem | Processador de documentos | roles/documentai.apiUser |
Reconhecimento de voz | roles/speech.serviceAgent |
|
PLN do Cloud | roles/serviceusage.serviceUsageConsumer |
|
Cloud Vision | roles/serviceusage.serviceUsageConsumer |
|
Cloud Translation | roles/cloudtranslate.user |
Crie tabelas externas com CONNECTION DEFAULT
Os exemplos seguintes mostram como criar tabelas externas especificando
WITH CONNECTION DEFAULT
no BigQuery.
Exemplo: crie uma tabela do BigLake do Cloud Storage
A seguinte expressão SQL cria uma tabela do BigLake do Cloud Storage com uma associação predefinida:
CREATE EXTERNAL TABLE PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME
WITH CONNECTION DEFAULT
OPTIONS (
format = 'TABLE_FORMAT',
uris = ['BUCKET_PATH']);
Exemplo: crie uma tabela de objetos com uma associação predefinida
A seguinte expressão SQL cria uma tabela de objetos com uma associação predefinida:
CREATE EXTERNAL TABLE PROJECT_ID.DATASET.EXTERNAL_TABLE_NAME
WITH CONNECTION DEFAULT
OPTIONS (
object_metadata = 'SIMPLE'
uris = ['BUCKET_PATH']);
Exemplo: crie tabelas Iceberg do BigLake no BigQuery com uma ligação predefinida
A seguinte expressão SQL cria tabelas Iceberg do BigLake no BigQuery com uma associação predefinida:
CREATE TABLE `myproject.tpch_clustered.nation` (
n_nationkey integer,
n_name string,
n_regionkey integer,
n_comment string)
CLUSTER BY n_nationkey
WITH CONNECTION DEFAULT
OPTIONS (
file_format = 'PARQUET',
table_format = 'ICEBERG',
storage_uri = 'gs://mybucket/warehouse/nation');
Crie modelos remotos com o REMOTE WITH CONNECTION DEFAULT
Os exemplos seguintes mostram como criar modelos remotos especificando
REMOTE WITH CONNECTION DEFAULT
no BigQuery.
Exemplo: crie um modelo remoto sobre um modelo do Vertex AI
A seguinte expressão SQL cria um modelo remoto com uma associação predefinida:
CREATE OR REPLACE MODEL `mydataset.flash_model`
REMOTE WITH CONNECTION DEFAULT
OPTIONS(ENDPOINT = 'gemini-2.0-flash');
Exemplo: crie um modelo remoto através de um serviço de IA na nuvem
A seguinte expressão SQL cria um modelo remoto num serviço de IA na nuvem com uma ligação predefinida:
CREATE MODEL `project_id.mydataset.mymodel`
REMOTE WITH CONNECTION DEFAULT
OPTIONS(REMOTE_SERVICE_TYPE = 'CLOUD_AI_VISION_V1')
Exemplo: crie um modelo remoto com um ponto final HTTPS
A seguinte expressão SQL cria um modelo remoto com um ponto final HTTPS e uma ligação predefinida:
CREATE MODEL `project_id.mydataset.mymodel`
INPUT(f1 INT64, f2 FLOAT64, f3 STRING, f4 ARRAY)
OUTPUT(out1 INT64, out2 INT64)
REMOTE WITH CONNECTION DEFAULT
OPTIONS(ENDPOINT = 'https://us-central1-aiplatform.googleapis.com/v1/projects/myproject/locations/us-central1/endpoints/1234')
O que se segue?
- Saiba mais acerca da configuração predefinida no BigQuery.