创建跨云连接
跨云连接是一种 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 跨云连接,请执行以下操作:
- 为 BigQuery 创建 AWS IAM 政策,就像为标准 BigQuery 连接创建政策一样。
- 为 BigQuery 创建 AWS IAM 角色,就像为标准 BigQuery 连接创建角色一样。
如需创建连接资源,请使用
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。
如需记下服务账号信息,请使用
bq show命令: