连接到 SAP Datasphere
作为 BigQuery 管理员,您可以创建一个连接来访问 SAP Datasphere 数据。借助此连接,数据分析师可以查询 SAP Datasphere 中的数据。
准备工作
启用 BigQuery Connection API。
创建 SAP Datasphere 数据库用户。 记下 BigQuery 连接到的用户名、密码、主机名和端口。
通过执行以下任一操作,将 SAP Datasphere 租户配置为接受来自所选 IP 地址的流量:
- 将所有 Google IP 地址范围添加到 SAP Datasphere 中“受信任的 IP”许可名单。
- 通过将
0.0.0.0/0
添加到许可名单,向来自所有 IP 地址的连接开放 SAP Datasphere 租户。 - 配置具有网络连接的连接,以便 BigQuery 从静态 IP 地址打开该连接。
如需详细了解如何配置 SAP Datasphere 租户,请参阅将 IP 地址添加到 IP 许可名单。
所需的角色
如需获得连接到 SAP Datasphere 所需的权限,请让管理员为您授予该项目的 BigQuery Connection Admin (roles/bigquery.connectionAdmin
) IAM 角色。
如需详细了解如何授予角色,请参阅管理访问权限。
将 BigQuery 连接到 SAP Datasphere
您可以在 Google Cloud 控制台或 bq 命令行工具中将 BigQuery 连接到 SAP Datasphere。
控制台
在 Google Cloud 控制台中,转到 BigQuery 页面。
在探索器面板中,点击添加添加。
在搜索字段中,搜索并选择与外部数据源的连接。
在外部数据源对话框中,执行以下操作:
- 对于连接类型,选择
SAP HANA
。 - 在连接 ID 部分,输入连接 ID 以标识此连接。
- 对于位置类型,指定要与 SAP Datasphere 中的数据组合的 BigQuery 数据集的区域。使用此连接的查询必须从此区域运行。
- 可选:对于易记名称,输入方便用户使用的连接名称,例如
My connection resource
。易记名称可以是任何容易辨识的值,让您以后在需要修改连接资源时能够轻松识别。 - 可选:对于说明,输入此连接资源的说明。
- 对于加密,选择 Google 管理的加密密钥或客户管理的加密密钥 (CMEK)。我们并不强制要求使用 CMEK。
- 对于 Host:port:输入 SAP 数据库实例的主机和端口,如 SAP Datasphere Web 控制台数据库用户详细信息中所示,格式为
HOST:PORT
。 - 可选:在网络连接字段中,输入网络连接的路径,以定义用于建立与 SAP Datasphere 的连接的网络配置。
- 对于用户名:输入 SAP Datasphere Web 控制台数据库用户详细信息中的数据库用户名。例如
MY_SPACE#BIGQUERY
。 - 对于密码:输入数据库用户的密码。
- 对于连接类型,选择
点击创建连接。
bq
输入带有以下标志的 bq mk
命令:
bq mk \
--connection \
--location=LOCATION \
--project_id=PROJECT_ID \
--connector_configuration '{
"connector_id": "saphana",
"endpoint": {
"host_port": "HOST_PORT"
},
"authentication": {
"username_password": {
"username": "USERNAME",
"password": {
"plaintext": "PASSWORD"
}
}
},
"network": {
"private_service_connect": {
"network_attachment": "NETWORK_ATTACHMENT"
}
}
}' \
CONNECTION_ID
替换以下内容:
LOCATION
:指定要与 SAP Datasphere 中的数据组合的 BigQuery 数据集的区域。使用此连接的查询必须从此区域运行。PROJECT_ID
:输入您的 Google Cloud 项目 ID。HOST_PORT
:输入 SAP 数据库实例的主机和端口,如 SAP Datasphere Web 控制台数据库用户详细信息中所示,格式为HOST:PORT
。NETWORK_ATTACHMENT
(可选):以projects/{project}/regions/{region}/networkAttachments/{networkattachment}
格式输入网络连接。使用此字段,您可以配置 SAP Datasphere 连接,以便 BigQuery 从静态 IP 地址打开该连接。USERNAME
:输入 SAP Datasphere Web 控制台数据库用户详细信息中的数据库用户名。例如MY_SPACE#BIGQUERY
。PASSWORD
:输入数据库用户的密码。CONNECTION_ID
:输入连接 ID 以标识此连接。
与用户共享连接
您可以授予以下角色,以使用户可以查询数据并管理连接:
roles/bigquery.connectionUser
:允许用户使用连接与外部数据源建立连接,并对其运行查询。roles/bigquery.connectionAdmin
:允许用户管理连接。
如需详细了解 BigQuery 中的 IAM 角色和权限,请参阅预定义的角色和权限。
从下列选项中选择一项:
控制台
转到 BigQuery 页面。
连接列在项目的外部连接组中。
在探索器窗格中,点击您的项目名称 > 外部连接 > 连接。
在详细信息窗格中,点击共享以共享连接。之后,执行以下操作:
在连接权限对话框中,通过添加或修改主账号与其他主账号共享连接。
点击保存。
bq
您不能使用 bq 命令行工具共享连接。如需共享连接,请使用 Google Cloud 控制台或 BigQuery Connections API 方法共享连接。
API
使用 BigQuery Connections REST API 参考文档部分中的 projects.locations.connections.setIAM
方法,并提供一个 policy
资源实例。
Java
试用此示例之前,请按照 BigQuery 快速入门:使用客户端库中的 Java 设置说明进行操作。 如需了解详情,请参阅 BigQuery Java API 参考文档。
如需向 BigQuery 进行身份验证,请设置应用默认凭据。 如需了解详情,请参阅为客户端库设置身份验证。
后续步骤
- 了解不同的连接类型。
- 了解如何管理连接。
- 了解联合查询。
- 了解如何查询 SAP Datasphere 数据。