使用不同的身份验证方法创建 BigQuery 数据源
启用 数据库工具和 SQL 插件
此功能依赖于 GoLand 默认捆绑并启用的 数据库工具和 SQL 插件。 如果相关功能不可用,请确保未禁用插件。
按 Ctrl+Alt+S 打开设置,然后选择 。
打开 已安装 选项卡,查找 数据库工具和 SQL 插件,并选中插件名称旁的复选框。
官方文档
有关 BigQuery 的完整信息,请参阅 官方文档。
BigQuery 是一个基于 REST 的 Web 服务,允许您在大型数据集上运行复杂的基于 SQL 的分析查询。
要创建 BigQuery 数据源并测试连接,您可以使用以下方法:
Google 用户帐户
当使用 Google 用户帐户进行授权时,您需要在 Web 浏览器中获取授权码。
连接到 BigQuery
要连接到数据库,请创建一个存储连接详细信息的数据源。
选择要创建的数据源。 您可以通过以下几种方式进行操作:
在主菜单中,转到 并选择 BigQuery。
在 go.mod 文件中,点击 创建新数据源 边栏图标(
)。

在 数据库 工具窗口中,点击工具栏上的
新建。 导航至 数据源 并选择 BigQuery。

检查连接设置区域底部是否有 下载缺失的驱动文件 链接。 单击此链接以下载与数据库交互所需的驱动程序。 如需直接下载链接,请参阅 JetBrains JDBC drivers 页面。

已下载 JDBC 驱动程序的位置为 GoLand 配置目录。
您也可以使用自己的数据库驱动程序,而不是提供的驱动程序。 有关使用自定义驱动程序连接数据库的更多信息,请参阅 Add a user driver to an existing connection。
如果没有 下载缺失的驱动文件 链接,则表示您已拥有所需的驱动程序。
从 身份验证 列表中选择 Google 用户帐号。
在 项目ID 字段中输入项目 ID。
通常,它是服务帐号电子邮件中 @ 符号(
@)之后的部分。 例如,bigqueryproject-322409。 有关项目 ID 的格式,请参阅 创建服务帐号的官方说明。在 需要授权码 对话框中剪切 URL,将其粘贴到浏览器地址栏中,然后按 Enter 跳转至该地址。
在您的 Google 帐号中授权访问 BigQuery 应用程序。
复制从 Google 收到的授权码,将其粘贴到 需要授权码 对话框中,然后单击 确定。
确保可以通过提供的详细信息建立数据库连接。 为此,请单击连接详细信息部分底部的 测试连接 链接。
如遇连接问题,请参阅 无法连接到数据库 页面。
(可选)默认情况下,仅会内省默认项目和数据集,并提供工作支持。 如果还希望使用其他项目与数据集,请在 架构 选项卡中选择它们以进行内省。

单击 确定 创建数据源。
在 数据库 工具窗口中找到新建的数据源。
应用默认凭据
为授权使用,BigQuery 驱动程序会使用来自专用凭据文件的数据 — 服务帐号密钥文件。 默认情况下,文件路径为 ~/.config/gcloud/application_default_credentials.json 。
您可以使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量来自定义凭据文件的位置。 或者,在 服务帐户密钥文件 字段中设置凭据文件的路径。
如需为连接生成服务帐号密钥文件,您需要创建 Google Cloud Platform 服务帐号。
步骤 1. 获取凭据文件
按照 官方说明 创建服务帐号。
在向导的 将此服务账号授予项目访问权限 步骤中,为该服务帐号选择角色。
例如,若需只读访问权限,请从 BigQuery 菜单中选择 BigQuery 数据查看器、 BigQuery 作业用户 和 BigQuery 用户。 或者,选择 以访问项目中的所有资源。
有关角色和权限的详细信息,请参阅 cloud.google.com 上的预定义角色和权限。
请按照 官方说明 生成并下载服务帐号密钥文件。
步骤 2. 连接到 BigQuery
如需连接数据库,请创建一个保存连接详细信息的数据源。
选择要创建的数据源。 您可以通过以下任一方式进行操作:
在主菜单中,转到 并选择 BigQuery。
在 go.mod 文件中的 创建新数据源 行号区域图标(
)上点击。

在 数据库 工具窗口中,单击工具栏上的
新建。 导航至 数据源 并选择 BigQuery。

检查连接设置区域底部是否有 下载缺失的驱动文件 链接。 单击此链接以下载与数据库交互所需的驱动程序。 如需直接下载链接,请参阅 JetBrains JDBC drivers 页面。

已下载 JDBC 驱动程序的位置为 GoLand 配置目录。
您也可以使用自己的数据库驱动程序来替代提供的驱动程序。 有关使用您自己的驱动程序连接数据库的详细信息,请参阅 将用户驱动程序添加到现有连接。
如果没有 下载缺失的驱动文件 链接,则表示您已拥有所需的驱动程序。
在 身份验证 列表中,选择 应用程序默认凭据。
在 服务帐户密钥文件 字段中,输入您在 第 1 步 中获取的 JSON 服务帐号密钥文件的路径。 获取凭据。
请确保可以使用所提供的详细信息建立数据库连接。 为此,请单击连接详情部分底部的 测试连接 链接。
如果遇到连接问题,请参阅 无法连接到数据库 页面。
(可选)默认情况下,仅默认项目和数据集会被内省并可供使用。 如果还希望使用其他项目和数据集,请在 架构 选项卡中选择要内省的内容。

点击 确定 创建数据源。
在 数据库 工具窗口中找到新建的数据源。

Google 服务帐户
为了执行授权,BigQuery 驱动程序会使用特殊凭据文件中的数据 —— 即 服务帐号密钥文件。 默认情况下,文件路径为 ~/.config/gcloud/application_default_credentials.json 。
您可以使用 GOOGLE_APPLICATION_CREDENTIALS 环境变量设置凭据文件的自定义位置。 或者,您可在 密钥文件 字段中设置凭据文件的路径。
若要为连接生成服务帐号密钥文件,您需要创建一个 Google Cloud Platform 服务帐号。
步骤 1. 获取凭据文件
请按照 官方指南 创建服务帐号。
在向导的 将此服务账号授予项目访问权限 步骤中,为此服务帐号选择角色。
例如,若需只读访问权限,请从 BigQuery 菜单中选择 BigQuery 数据查看器、 BigQuery 作业用户 和 BigQuery 用户。 或者,选择 以访问项目中的所有资源。
有关角色与权限的更多信息,请参阅 cloud.google.com 上的预定义角色与权限。
请按照 官方指南 生成并下载服务帐号密钥文件。
步骤 2. 连接到 BigQuery
如需连接数据库,请创建一个用于存储连接详细信息的数据源。
请选择要创建的数据源。 您可以通过以下几种方式之一完成此操作:
在主菜单中,依次转到 并选择 BigQuery。
在 go.mod 文件中,点击 创建新数据源 边空图标(
)。

在 数据库 工具窗口中,点击工具栏上的
新建。 导航至 数据源 并选择 BigQuery。

请检查连接设置区域底部是否有 下载缺失的驱动文件 链接。 点击该链接以下载与数据库交互所需的驱动程序。 如需直接下载链接,请参阅 JetBrains JDBC 驱动程序 页面。

已下载的 JDBC 驱动程序的存储位置为 GoLand 配置目录。
您也可以使用自己的数据库驱动程序来替代提供的驱动程序。 有关使用您自己的驱动程序连接数据库的详细信息,请参阅 将用户驱动程序添加到现有连接。
如果没有 下载缺失的驱动文件 链接,则表示您已拥有所需的驱动程序。
在 身份验证 列表中,选择 Google 服务帐号。
在 服务帐户电子邮件 字段中,输入服务帐号的名称。
您可以在 Google Cloud Platform 的 服务账号 页面( )中,作为 电子邮件 找到服务帐号名称。 有关创建服务帐号及名称格式的详情,请参阅 官方指南。 服务帐号的名称应如下所示:
intellij-ide@bigqueryproject-322409.iam.gserviceaccount.com。在 项目ID 字段中,输入项目 ID。
通常,它是服务账号电子邮件中位于 at 符号(
@)之后的部分。 例如,bigqueryproject-322409。 有关项目 ID 的格式,请参阅 创建服务账号的官方说明。在 密钥文件 字段中,输入您在 步骤 1 中获取的 JSON 服务账号密钥文件的路径。 获取凭据。
确保可以使用提供的详细信息建立数据库连接。 为此,请单击连接详细信息部分底部的 测试连接 链接。
如果遇到任何连接问题,请参阅 无法连接到数据库 页面。
(可选)默认情况下,仅会对默认项目和数据集进行内省处理,且只能使用这些项目和数据集。 如果您还希望使用其他项目和数据集,请在 架构 选项卡中选择要用于内省的项目和数据集。

单击 确定 创建数据源。
在 数据库 工具窗口中找到新数据源。

访问和刷新令牌(OAuth 2.0)
要使用 访问令牌与刷新令牌 认证方式连接到 BigQuery 数据库,需要以下凭据:client ID、client secret、refresh 和 access token。
当使用 OAuth 2.0 进行认证时,用户在同意用户同意屏幕上展示的条款后会被认证。 OAuth 同意屏幕是一个对话框,显示谁请求访问用户数据以及数据的类型的通知。
在生成 client ID 和 client secret 之前,您需要配置 OAuth 同意屏幕。
步骤 1. 获取凭据
请按照 官方说明创建 OAuth 同意屏幕。
有关用户同意的更多信息,请参阅 support.google.com 上的 User consent 部分
请按照 官方说明获取 client ID 和 client secret。
URI 请使用以下内容:
https://developers.google.com/oauthplayground在 已创建 OAuth 客户端 窗口中找到您的 client ID 和 client secret。 或者,您可以点击已创建的 OAuth client ID 配置,并在此获取您的凭据。
拥有 client ID 和 client secret 后,您可以生成授权码和令牌。 为此,请执行以下步骤:
在单独的浏览器标签页中打开 OAuth 2.0 Playground。
点击 OAuth 2.0 配置 图标,选中 使用您自己的 OAuth 凭据 复选框。
将您的 client ID 和 client secret 分别粘贴到 OAuth 客户端 ID 和 OAuth 客户端密钥 字段中。

在 OAuth 2.0 配置 窗口中点击 关闭。
在 步骤 1:选择并授权 API 选择并授权 API 上的向导中,选择 。
点击 授权 API。
按浏览器中的向导操作,并授予应用权限。

在 步骤 2:将授权码交换为令牌 上,点击 将授权码交换为令牌。
复制收到的 refresh 和 access token。

步骤 2. 连接到 BigQuery
若要连接到数据库,请创建一个数据源来存储连接详细信息。
选择您要创建的数据源。 您可以通过以下方式之一完成此操作:
在主菜单中,转到 并选择 BigQuery。
在 go.mod 文件中单击 创建新数据源 行号区域图标(
)。

在 数据库 工具窗口中,点击工具栏上的
新建。 导航到 数据源 并选择 BigQuery。

检查连接设置区域底部是否有 下载缺失的驱动文件 链接。 点击此链接下载与数据库交互所需的驱动程序。 有关直接下载链接,请参阅 JetBrains JDBC 驱动程序页面。

已下载 JDBC 驱动程序的位置是 GoLand 配置目录。
您也可以使用自己的数据库驱动程序替代内置驱动程序。 有关使用您自己的驱动程序连接数据库的更多信息,请参阅 将用户驱动程序添加到现有连接。
如果没有 下载缺失的驱动文件 链接,说明您已经拥有所需的驱动程序。
从 身份验证 列表中选择 访问和刷新令牌。
在 项目ID 字段中输入项目 ID。
通常,它是服务帐号电子邮件中位于 at 符号(
@)之后的部分。 例如,bigqueryproject-322409。 有关项目 ID 的格式,请参阅 官方服务帐号创建指南。在 访问令牌 字段中粘贴 您的访问令牌。
在 刷新令牌 字段中粘贴 您的刷新令牌。
在 客户端ID 字段中粘贴 您的 client ID。
在 客户端密钥 字段中粘贴 您的 client secret。
请确保可以使用所提供的详细信息建立数据库连接。 为此,请点击连接详细信息部分底部的 测试连接 链接。
如遇连接问题,请参阅 无法连接到数据库 页面。
(可选)默认情况下,仅会对默认项目与数据集进行内部检查,并可供使用。 如果您还希望使用其他项目与数据集,请在 架构 选项卡中选择它们以进行内部检查。

点击 确定 来创建数据源。
在 数据库 工具窗口中查找您的新数据源。
