連結至 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
新增至許可清單,讓 SAP Datasphere 租用戶可接受來自所有 IP 位址的連線。 設定網路附件連線,讓 BigQuery 從靜態 IP 位址開啟連線。
如要進一步瞭解如何設定 SAP Datasphere 租用戶,請參閱「將 IP 位址加入 IP 許可清單」。
必要的角色
如要取得連結 SAP Datasphere 所需的權限,請要求管理員為您授予專案的 BigQuery 連結管理員 (roles/bigquery.connectionAdmin
) IAM 角色。如要進一步瞭解如何授予角色,請參閱「管理專案、資料夾和機構的存取權」。
將 BigQuery 連結至 SAP Datasphere
您可以在 Google Cloud 主控台或 bq 指令列工具中,將 BigQuery 連結至 SAP Datasphere。
主控台
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」窗格中,按一下
「Add data」。「Add data」對話方塊隨即開啟。
在「Filter By」窗格中的「Data Source Type」部分,選取「Databases」。
或者,您也可以在「Search for data sources」欄位中輸入
SAP HANA
。在「精選資料來源」部分,按一下「SAP HANA」。
按一下「SAP HANA:BigQuery 聯合存取」解決方案資訊卡。
在「External data source」對話方塊中,執行下列操作:
- 在「Connection type」(連線類型) 部分,選取
SAP HANA
。 - 在「Connection ID」(連線 ID) 專區中輸入連線 ID,以便識別此連線。
- 針對「Location type」,指定要與 SAP Datasphere 資料合併的 BigQuery 資料集區域。使用此連線的查詢必須從這個區域執行。
- 選用:在「Friendly name」(好記名稱) 中輸入使用者容易記得的連線名稱,例如
My connection resource
。好記名稱可以是任何值,方便您日後需要修改時識別連線資源。 - 選用:在「Description」(說明) 中輸入這項連線資源的說明。
- 在「Encryption」部分,選取「Google-managed encryption key」或「Customer-managed encryption key (CMEK)」。您可以選擇是否要使用 CMEK。
- 在「Host:port」中,輸入 SAP 資料庫執行個體的主機和通訊埠,格式為
HOST:PORT
,如 SAP Datasphere 網路控制台的「Database User Details」所示。 - 選用:針對「網路附件」,輸入網路附件的路徑,用來定義用於建立與 SAP Datasphere 連線的網路設定。
- 在「Username」(使用者名稱) 中輸入資料庫使用者名稱,請參閱 SAP Datasphere 網路控制台的「Database User Details」(資料庫使用者詳細資料)。例如:
MY_SPACE#BIGQUERY
。 - 在「密碼」中,輸入資料庫使用者的密碼。
- 在「Connection type」(連線類型) 部分,選取
點選「建立連線」。
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 資料庫執行個體的主機和連接埠,格式為HOST:PORT
,如 SAP Datasphere 網路控制台的「資料庫使用者詳細資料」所示。NETWORK_ATTACHMENT
(選用):以projects/{project}/regions/{region}/networkAttachments/{networkattachment}
格式輸入網路連結。您可以使用這個欄位設定 SAP Datasphere 連線,讓 BigQuery 從靜態 IP 位址開啟連線。USERNAME
:在 SAP Datasphere 網路主控台的「資料庫使用者詳細資料」中輸入資料庫使用者名稱。例如:MY_SPACE#BIGQUERY
。PASSWORD
:輸入資料庫使用者的密碼。CONNECTION_ID
:輸入連線 ID 來識別此連線。
與使用者分享連線
您可以授予下列角色,讓使用者查詢資料及管理連線:
roles/bigquery.connectionUser
:可讓使用者使用連線連結外部資料來源,並對這些資料來源執行查詢。roles/bigquery.connectionAdmin
:讓使用者管理連線。
如要進一步瞭解 BigQuery 中的 IAM 角色和權限,請參閱「預先定義的角色與權限」一文。
選取下列選項之一:
主控台
前往「BigQuery」頁面
連線會列在專案中,位於名為「External connections」的群組中。
在「Explorer」窗格中,依序點選「專案名稱」>「外部連線」>「連線」。
在「Details」窗格中,按一下「Share」,即可分享連線。接著,按照下列步驟操作:
在「Connection permissions」對話方塊中,新增或編輯主體,與其他主體共用連線。
按一下 [儲存]。
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 資料。