创建跨云连接

跨云连接是一种 BigQuery 连接,可将 Amazon Web Services (AWS)、Microsoft Azure 和 Salesforce Data 360 中的数据引入 BigQuery 以供查询。这些连接是使用 BigQuery Omni 的标准 BigQuery 连接的替代方案,其中 BigQuery 会将轻量级计算工作器部署到远程区域,以便在不移动任何数据的情况下查询其他云中的数据。

与标准连接相比,工作负载可以从跨云连接中获益,原因如下:

  • 功能一致性。通过将其他云中的数据迁移到 BigQuery,您可以直接使用 BigQuery AI 功能、Gemini Enterprise Agent Platform、具体化视图、用户定义的函数以及其他无法通过标准连接使用的功能。
  • 成本效益。使用跨云连接的工作负载会消耗标准 slot 预留和承诺,因此无需管理单独的计算容量。
  • 智能缓存。在跨云传输数据时,BigQuery 会自动在本地缓存数据片段,从而避免在后续查询中产生高昂的跨云出站流量费用。如需了解详情,请参阅智能缓存

如果您的工作负载涉及 Apache Iceberg 目录,或者您需要在 BigQuery 以外的引擎之间进行查询,请考虑改用无边界湖仓一体的跨云数据访问功能

准备工作

授予为用户提供执行本文档中的每个任务所需权限的 Identity and Access Management 角色和第三方角色。

所需 BigQuery 角色

如需获得创建跨云连接所需的权限,请让您的管理员为您授予项目的 BigQuery Admin (roles/bigquery.admin) IAM 角色。 如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

所需的第三方角色

如需获得创建跨云连接所需的权限,请确保您拥有以下第三方角色:

  • 对于 AWS:一个可让您在 AWS 账号中创建 IAM 政策和角色的角色。
  • 对于 Azure:一种可让您在 Microsoft Entra ID (Azure AD) 中管理应用注册并为目标 Azure 账号分配角色(例如 Storage Blob Data Reader)的角色。

创建 AWS 跨云连接

如需创建 AWS 跨云连接,请执行以下操作:

  1. 为 BigQuery 创建 AWS IAM 政策,就像为标准 BigQuery 连接创建政策一样。
  2. 为 BigQuery 创建 AWS IAM 角色,就像为标准 BigQuery 连接创建角色一样。
  3. 如需创建连接资源,请使用 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"}}' \
        CONNECTION_ID

    替换以下内容:

    • LOCATION:标准 BigQuery 位置,而非 BigQuery Omni 位置。如需有关选择区域的指导,请参阅区域建议
    • PROJECT_ID:您的 Google Cloud 项目的 ID。
    • AWS_ACCOUNT_ID:上一步中的 AWS IAM 用户的 ID。
    • ROLE_NAME:您选择的 AWS 角色政策名称。
    • CONNECTION_ID:为此连接资源提供的 ID。

    如需详细了解 AWS 连接属性,请参阅 AwsProperties

  4. 如需记下服务账号信息,请使用 bq show 命令