本指南說明如何在 Google Cloud的 Compute Engine 虛擬機器 (VM) 上執行 SAP LT 複本伺服器時,安裝及設定 2.0 或 2.1 版的 SAP 適用 BigQuery 連接器。
本指南將說明如何準備 BigQuery、SAP Landscape Transformation Replication Server (SAP LT Replication Server) 和 BigQuery Connector for SAP,以便直接安全地將 SAP 應用程式中的 SAP 資料即時複製到 BigQuery。
本指南適用於 SAP 管理員、 Google Cloud管理員,以及其他 SAP 和 Google Cloud 安全性與資料專家。
事前準備
安裝 SAP 適用的 BigQuery 連接器前,請確認已符合下列必備條件:
- 您已閱讀 BigQuery Connector for SAP 規劃指南。規劃指南會說明 BigQuery Connector for SAP 的選項、效能考量、欄位對應,以及其他 BigQuery Connector for SAP 最佳設定所需的資訊。
如果您還沒有 Google Cloud 專案,請建立一個:
專案已啟用計費功能。瞭解如何確認您已啟用專案的計費功能。您必須擁有帳單帳戶,才能使用 BigQuery 串流 API、BigQuery 和下載 BigQuery Connector for SAP。
已安裝的 SAP 軟體會進行最新維護,且所有 SAP 軟體的版本皆相容,如 SAP 產品供應情形對照表所述。
您使用的 SAP 軟體版本受到 SAP 專用 BigQuery 連接器支援,詳情請參閱「軟體需求」一節。
您擁有正確的 SAP 授權,可透過 SAP LT Replication Server SDK 將資料複製到任何目標。如要進一步瞭解 SAP 授權,請參閱 SAP 注意事項 2707835。
已安裝 SAP LT Replication Server。如要進一步瞭解如何安裝 SAP LT Replication Server,請參閱 SAP 說明文件。
已設定 SAP LT Replication Server 與來源系統之間的 RFC 或資料庫連線。如有需要,請使用 SAP 交易
SM59
測試 RFC 連線。使用 SAP 交易DBACOCKPIT
測試資料庫連線。
安裝和設定程序總覽
下表列出本指南涵蓋的程序,以及通常執行這些程序的角色。
程序 | 角色 |
---|---|
必要時,驗證 SAP 的所有適當授權後,請按照 SAP 的操作說明安裝 SAP Landscape Transformation Replication Server。 | SAP 管理員。 |
視需要安裝 SAP NetWeaver 的使用者介面 (UI) 外掛程式。詳情請參閱 SAP 軟體版本需求。 | SAP 管理員。 |
啟用必要的 Google Cloud API。 | Google Cloud 管理員。 |
如有需要,請在 SAP LT Replication Server 主機上安裝 gcloud CLI。 | SAP 管理員。 |
建立 BigQuery 資料集。 | Google Cloud 管理員或資料工程師。 |
設定 Google Cloud 驗證和授權。 | Google Cloud 安全性管理員。 |
下載 SAP 專用 BigQuery 連接器安裝套件。 | Google Cloud 帳單帳戶持有人。 |
安裝 SAP 專用 BigQuery 連接器。 | SAP 管理員。 |
為 BigQuery Connector for SAP 建立 SAP 角色和權限。 | SAP 管理員。 |
設定複寫。 | 資料工程師或管理員。 |
測試複製功能。 | 資料工程師或管理員。 |
驗證複製作業。 | 資料工程師或系統管理員。 |
啟用必要的 Google Cloud API
您必須啟用下列 Google Cloud API,才能讓 BigQuery Connector for SAP 存取 BigQuery:
- BigQuery API
- IAM Service Account Credentials API
如要瞭解如何啟用 Google Cloud API,請參閱啟用 API。
安裝 gcloud CLI
如要將資料複製到 BigQuery,sidadm
使用者帳戶必須有權存取 SAP LT Replication Server 主機上的 Google Cloud CLI (gcloud CLI)。
gcloud
components list
來確認安裝狀態。如果系統無法辨識指令,您必須安裝 gcloud CLI。SAP 管理員可以安裝 gcloud CLI。
如要安裝 gcloud CLI,請完成下列步驟:
按照 gcloud CLI 安裝操作說明操作。
授權
sidadm
使用者帳戶存取 gcloud CLI 安裝目錄。您可以選擇以
sidadm
設定 gcloud CLI 的預設專案:gcloud config set project PROJECT_ID
將
PROJECT_ID
替換為包含 BigQuery 資料集的專案 ID。例如:example-project-123456
。如果您未為 gcloud CLI 設定預設專案,則必須在發出的每個
gcloud
指令上指定--project
屬性。
如要進一步瞭解 BigQuery Connector for SAP 對 gcloud CLI 的要求,請參閱「gcloud CLI 相關規定」。
建立 BigQuery 資料集
您或資料工程師/管理員必須先建立 BigQuery 資料集,才能測試 Google Cloud BigQuery 的驗證和授權,或建立目標 BigQuery 資料表。
如要建立 BigQuery 資料集,您的使用者帳戶必須具備 BigQuery 的適當身分與存取權管理權限。詳情請參閱「必要權限」。
前往 Google Cloud 控制台的「BigQuery」頁面:
按一下專案 ID 旁邊的「查看動作」圖示
,然後點選「建立資料集」。在「Dataset ID」欄位中輸入專屬名稱。詳情請參閱「命名資料集」。
設定 Google Cloud 驗證和授權後,您可以擷取此資料集的相關資訊,藉此測試對 Google Cloud 的存取權。
如要進一步瞭解如何建立 BigQuery 資料集,請參閱「建立資料集」。
設定 Google Cloud 驗證與授權
Google Cloud 安全性管理員和 SAP 管理員需要完成以下步驟,才能 Google Cloud 驗證並授權存取 BigQuery:
- 為 BigQuery Connector for SAP 建立服務帳戶。
- 授予服務帳戶存取 BigQuery 所需的 IAM 角色。
- 將 BigQuery Connector for SAP 服務帳戶新增為 BigQuery 專案中的使用者。
- 在 SAP LT 複寫伺服器主機上設定 Google Cloud 的安全性設定:
- 授予主機 VM 取得存取權杖的權限。
- 視需要修改主機 VM 的 API 存取權範圍。
建立服務帳戶
BigQuery Connector for SAP 需要 IAM 服務帳戶,才能驗證及授權存取 BigQuery。
此服務帳戶必須是包含 BigQuery 資料集的 Google Cloud 專案中的實體。如果您在 BigQuery 資料集所在的專案中建立服務帳戶,系統會自動將服務帳戶新增為專案的使用者。
如果您在包含 BigQuery 資料集的專案以外的專案中建立服務帳戶,則需要在額外步驟中將服務帳戶新增至 BigQuery 資料集專案。
如要建立服務帳戶,請完成下列步驟:
在 Google Cloud 控制台中,前往「IAM & Admin」(身分與存取權管理及管理員) 的「Service accounts」(服務帳戶) 頁面。
如果出現提示,請選取 Google Cloud 專案。
按一下「Create Service Account」(建立服務帳戶)。
指定服務帳戶名稱,並視需要輸入說明。
按一下「建立並繼續」。
如果您要在與 BigQuery 資料集相同的專案中建立服務帳戶,請在「授予此服務帳戶存取專案」面板中選取下列角色:
- BigQuery 資料編輯器
- BigQuery 工作使用者
如果您要在 BigQuery 資料集以外的專案中建立服務帳戶,請勿向服務帳戶授予任何角色。
按一下「繼續」。
視情況授予其他使用者服務帳戶的存取權。
按一下 [完成]。服務帳戶會顯示在專案的服務帳戶清單中。
如果您在包含 BigQuery 資料集的專案以外的專案中建立服務帳戶,請記下服務帳戶名稱。您可以在將服務帳戶新增至 BigQuery 專案時指定名稱。詳情請參閱「將服務帳戶新增至 BigQuery 專案」。
服務帳戶現在會列為服務帳戶建立所在 Google Cloud 專案的「IAM 權限」頁面中的主體。
將服務帳戶新增至 BigQuery 專案
如果您在包含目標 BigQuery 資料集的專案以外的專案中建立了 SAP 專用 BigQuery 連接器的服務帳戶,就必須將服務帳戶新增至 BigQuery 資料集專案。
如果您是在與 BigQuery 資料集相同的專案中建立服務帳戶,可以略過這個步驟。
如要將現有服務帳戶新增至 BigQuery 資料集專案,請完成下列步驟:
在 Google Cloud 控制台中,前往「IAM Permissions」(身分與存取權管理) 頁面:
確認頁面頂端附近顯示含有目標 BigQuery 資料集的專案名稱。例如:
專案「
PROJECT_NAME
」的權限如果不是,請切換專案。
在「IAM」頁面中,按一下「
」。系統會開啟「Add principals to "PROJECT_NAME
"」對話方塊。在「Add principals to "
PROJECT_NAME
"」對話方塊中,完成下列步驟:- 在「新增主體」欄位中,指定服務帳戶的名稱。
- 在「請選擇角色」欄位中,指定「BigQuery 資料編輯者」。
- 按一下「新增其他角色」。「請選擇角色」欄位會再次顯示。
- 在「請選擇角色」欄位中,指定「BigQuery 工作使用者」。
- 按一下 [儲存]。服務帳戶會顯示在「IAM」頁面中的專案實體清單中。
服務帳戶現在可用於存取這個專案中的 BigQuery 資料集。
在主機 VM 上設定安全性
BigQuery Connector for SAP 要求代管 SAP LT 複本伺服器的 Compute Engine VM 必須使用下列安全性選項進行設定:
- 主機 VM 的存取權範圍必須設為允許 Cloud API 的完整存取權。
- 主機 VM 的服務帳戶必須具備 IAM 服務帳戶憑證建立者角色。
如果主機 VM 未設定這些選項,您必須進行設定。
如要變更 VM 的存取權範圍,您需要停止 VM。
檢查主機 VM 的 API 存取權範圍
檢查 SAP LT 複製伺服器主機 VM 的目前存取權範圍設定。如果 VM 已具備所有 Cloud API 的完整存取權,您就不需要變更存取權範圍。
如要檢查主機 VM 的存取範圍,請完成下列步驟:
Google Cloud 控制台
在 Google Cloud 控制台中,開啟「VM instances」(VM 執行個體) 頁面:
如有需要,請選取 Google Cloud 包含 SAP LT 複製伺服器主機的專案。
在「VM instances」(VM 執行個體) 頁面中,按一下主機 VM 的名稱。系統會開啟 VM 詳細資料頁面。
在主機 VM 詳細資料頁面的「API 和身分管理」下方,檢查「Cloud API 存取權範圍」的目前設定:
- 如果設定為「Allow full access to all Cloud APIs」(允許所有 Cloud API 的完整存取權),表示設定正確,您不必變更。
- 如果設定不是「允許所有 Cloud API 的完整存取權」,您必須停止 VM 並變更設定。如需操作說明,請參閱下一節。
gcloud CLI
顯示主機 VM 目前的存取權範圍:
gcloud compute instances describe VM_NAME --zone=VM_ZONE --format="yaml(serviceAccounts)"
如果存取權範圍不包含
https://www.googleapis.com/auth/cloud-platform
,您需要變更主機 VM 的存取權範圍。舉例來說,如果您要使用預設的 Compute Engine 服務帳戶建立 VM 執行個體,就必須變更下列預設存取範圍:serviceAccounts: - email: 600915385160-compute@developer.gserviceaccount.com scopes: - https://www.googleapis.com/auth/devstorage.read_only - https://www.googleapis.com/auth/logging.write - https://www.googleapis.com/auth/monitoring.write - https://www.googleapis.com/auth/servicecontrol - https://www.googleapis.com/auth/service.management.readonly - https://www.googleapis.com/auth/trace.append
如果
scopes
下列出的唯一範圍是https://www.googleapis.com/auth/cloud-platform
,如以下範例所示,您就不需要變更範圍:serviceAccounts: - email: 600915385160-compute@developer.gserviceaccount.com scopes: - https://www.googleapis.com/auth/cloud-platform
變更主機 VM 的 API 存取權範圍
如果 SAP LT 複製伺服器主機 VM 沒有Google Cloud API 的完整存取權,請變更存取權範圍,允許所有 Cloud API 的完整存取權。
如要變更主機 VM 的 Cloud API 存取權範圍設定,請完成下列步驟:
Google Cloud 控制台
如有需要,請限制授予主機 VM 安全性帳戶的角色。
您可以在主機 VM 的詳細資料頁面中,在「API 和身分管理」下方找到安全性帳戶名稱。您可以在 Google Cloud 控制台的 IAM 頁面中,變更授予服務帳戶的角色,方法是點選 「使用者」下方的「變更」。
視需要停止主機 VM 上執行的任何工作負載。
在 Google Cloud 控制台中,開啟「VM instances」(VM 執行個體) 頁面:
在 VM 執行個體頁面中,按一下主機 VM 的名稱,開啟 VM 詳細資料頁面。
在主機 VM 詳細資料頁面的頂端,按一下
「STOP」,停止主機 VM。虛擬機器人停止運作後,請按一下
「編輯」。在「Security and access」(安全性和存取權) >「Access scopes」(存取權範圍) 下方,選取「Allow full access to all Cloud APIs」(允許所有 Cloud API 的完整存取權)。
按一下 [儲存]。
在主機 VM 詳細資料頁面的頂端,按一下
「START/RESUME」,啟動主機 VM。視需要重新啟動主機 VM 中已停止的所有工作負載。
gcloud CLI
如有需要,請調整授予 VM 服務帳戶的 IAM 角色,確保主機 VM 對 Google Cloud服務的存取權受到適當限制。
如要瞭解如何變更授予服務帳戶的角色,請參閱「更新服務帳戶」。
必要時,請停止在主機 VM 上執行的任何 SAP 軟體。
停止 VM:
gcloud compute instances stop VM_NAME --zone=VM_ZONE
變更 VM 的存取權範圍:
gcloud compute instances set-service-account VM_NAME --scopes=cloud-platform --zone=VM_ZONE
啟動 VM:
gcloud compute instances start VM_NAME --zone=VM_ZONE
視需要啟動在主機 VM 上執行的 SAP 軟體。
讓主機 VM 取得存取權杖
您必須授予主機 VM 服務帳戶權限,才能取得 SAP 適用的 BigQuery 連接器存取 BigQuery 所需的存取權杖。
如要授予建立存取權杖的權限,請完成下列步驟:
在 Google Cloud 控制台中,開啟「VM instances」(VM 執行個體) 頁面:
在 VM 執行個體頁面中,按一下主機 VM 的名稱,開啟 VM 詳細資料頁面。
在 VM 詳細資料頁面的「API 和身分管理」下方,記下服務帳戶名稱。以下是預設 Compute Engine 服務帳戶的範例名稱:
SVC-ACCT-NUMBER-compute@developer.gserviceaccount.com
在 Google Cloud 控制台中,前往「IAM」頁面:
在專案主體清單中找出服務帳戶名稱,然後按一下
「Edit principal」(編輯主體)。「Edit permissions」對話方塊隨即開啟。在「Edit permissions」(編輯權限) 對話方塊中,按一下「Add another role」(新增其他角色)。系統會顯示「請選擇角色」欄位。
在「Select a role」欄位中,指定「Service Account Token Creator」。
按一下 [儲存]。系統會將您帶回「身分與存取權管理」權限頁面。
主機 VM 現已具備建立存取權杖的權限。
設定 SSL 憑證和 HTTPS
使用 SSL 和 HTTPS 可確保 BigQuery Connector for SAP 與 BigQuery API 之間的通訊安全無虞。
請從 Google Trust Services 存放區下載下列憑證:
GTS Root R1
GTS CA 1C3
在 SAP GUI 中,使用
STRUST
交易將根憑證和子憑證匯入SSL client SSL Client (Standard)
PSE 資料夾。如需 SAP 提供的更多資訊,請參閱「SAP 說明 - 維護 PSE 認證清單」。
在 SAP LT 複本伺服器主機上,確認所有防火牆規則或 Proxy 都已設定為允許從 HTTPS 通訊埠傳送至 BigQuery API 的出站流量。
具體來說,SAP LT Replication Server 需要能夠存取下列Google Cloud API:
- https://bigquery.googleapis.com
- https://iamcredentials.googleapis.com
如要進一步瞭解 SAP 如何設定 SSL,請參閱 SAP 附註 510007 - 在應用程式伺服器 ABAP 上設定 SSL 的其他考量。
測試 Google Cloud 驗證和授權
請要求存取權存證,並擷取 BigQuery 資料集的相關資訊,確認您已正確設定 Google Cloud 驗證機制。
請按照下列程序,從 SAP LT Replication Server 主機 VM 測試驗證和授權: Google Cloud
在 SAP LT 複本伺服器主機 VM 上,開啟指令列殼層。
切換至
sidadm
使用者。向主機 VM 的中繼資料伺服器要求第一個存取權杖:
curl "http://metadata.google.internal/computeMetadata/v1/instance/service-accounts/default/token" -H "Metadata-Flavor: Google"
中繼資料伺服器會傳回類似下列範例的存取權權杖,其中 ACCESS_TOKEN_STRING_1 是您在下一個步驟中複製至指令的存取權權杖字串:
{"access_token":"ACCESS_TOKEN_STRING_1", "expires_in":3599,"token_type":"Bearer"}
請在取代預留位置值後,發出以下指令,向 IAM API 要求第二個存取權杖:
curl --request POST \ 'https://iamcredentials.googleapis.com/v1/projects/-/serviceAccounts/SERVICE_ACCOUNT:generateAccessToken' \ --header 'Authorization: Bearer ACCESS_TOKEN_STRING_1' \ --header 'Accept: application/json' \ --header 'Content-Type: application/json' \ --data '{"scope":["https://www.googleapis.com/auth/bigquery"],"lifetime":"300s"}' \ --compressed
更改下列內容:
SERVICE_ACCOUNT
:您在先前步驟中為 BigQuery Connector for SAP 建立的服務帳戶。ACCESS_TOKEN_STRING_1
:上一個步驟中的第一個存取權杖字串。
IAM API 會傳回第二個存取權杖 ACCESS_TOKEN_STRING_2,類似於下列範例。在下一個步驟中,您會將第二個符記字串複製到 BigQuery API 的要求中。
{"access_token":"ACCESS_TOKEN_STRING_2","expires_in":3599,"token_type":"Bearer"}
請先替換預留位置值,再發出下列指令,即可從 BigQuery API 擷取 BigQuery 資料集的相關資訊:
curl "https://bigquery.googleapis.com/bigquery/v2/projects/PROJECT_ID/datasets/DATASET_NAME" \ -H "Accept: application/json" -H "Authorization: Bearer ACCESS_TOKEN_STRING_2"
更改下列內容:
PROJECT_ID
:包含 BigQuery 資料集的專案 ID。DATASET_NAME
:BigQuery 中定義的目標資料集名稱。ACCESS_TOKEN_STRING_2
:IAM API 在前一個步驟中傳回的存取權杖字串。
如果 Google Cloud 驗證設定正確,系統就會傳回資料集相關資訊。
如果未正確設定,請參閱 BigQuery Connector for SAP 疑難排解。
下載安裝套件
從 BigQuery Connector for SAP 下載入口下載 BigQuery Connector for SAP 安裝套件。
您需要 Cloud Billing 編號才能完成下載作業。如要瞭解帳單帳戶,請參閱「Cloud Billing 和付款資料」。
安裝套件包含傳輸檔案,您可以將這些檔案複製到 SAP LT Replication Server 的適當傳輸目錄。
安裝 SAP 適用的 BigQuery 連接器
收到包含 SAP 專用 BigQuery Connector 的傳輸檔案的安裝套件後,SAP 管理員可以將傳輸檔案匯入 SAP LT Replication Server,藉此安裝 SAP 專用 BigQuery Connector。
BigQuery Connector for SAP 的 SAP 傳輸包含 BigQuery Connector for SAP 所需的所有物件,包括 /GOOG/
命名空間、DDIC 物件、SLT SDK BADI 實作和類別、報表程式等等。
在將傳輸檔案匯入 SAP LT Replication Server 之前,請先確認 SAP LT Replication Server 是否支援 SAP 適用的 BigQuery 連接器,詳情請參閱「軟體需求」一文。
即使使用支援的 SAP LT Replication Server 版本,在某些情況下,匯入傳輸檔案時,您可能會看到錯誤訊息 Requests do not match the component version of the target system
。在這種情況下,您需要將傳輸檔案重新匯入 SAP LT 複本伺服器,並在重新匯入時,在「Import Transport Request」畫面 >「Options」分頁中選取「Ignore Invalid Component Version」核取方塊。
以下程序是一般程序。每個 SAP 系統都不同,因此請與 SAP 系統管理員合作,確定 SAP 系統可能需要的程序變更:
將 SAP 適用的 BigQuery Connector 傳輸檔案複製到下列 SAP LT Replication Server 傳輸匯入目錄:
/usr/sap/trans/cofiles/KXXXXXX.ED1
/usr/sap/trans/data/RXXXXXX.ED1
在上述範例中,
XXXXXX
代表編號檔案名稱。在 SAP GUI 中,使用交易代碼
STMS_IMPORT
或STMS
將檔案匯入 SAP 系統。請確認
/GOOG/SLT_SDK
套件中的所有物件都處於有效狀態且一致:- 在 SAP 介面中輸入交易代碼
SE80
。 - 在套件選取器中,選取
/GOOG/SLT_SDK
。 在「Object name」欄位中,按一下套件
/GOOG/SLT_SDK
的滑鼠右鍵,然後依序選擇「Check」>「Package」>「Check」>「Objects of Package」。「結果」欄中的綠色勾號表示所有物件都通過套件檢查。
- 在 SAP 介面中輸入交易代碼
確認 BigQuery Connector for SAP 已準備好進行設定
如要進一步確認已正確匯入傳輸檔案,且 BigQuery Connector for SAP 已準備好進行設定,請確認 BigQuery Connector for SAP Business Add-In (BAdI) 實作項目處於活動狀態,且 BigQuery Connector for SAP 複本應用程式在 IUUC_REPL_APPL
資料表中具有項目。
- 檢查 BAdI 實作方式:
- 使用交易 SE80 前往並選取
/GOOG/EI_IUUC_REPL_RUNTIME_BQ
增強物件資料夾。 - 選取「Enh. 頁面右側的「Implementation Elements」。
- 在「執行階段行為」下方,確認已勾選「實作項目處於有效狀態」。
- 使用交易 SE80 前往並選取
- 檢查複製應用程式:
- 使用 SAP 資料瀏覽器或交易
SE16
,顯示IUUC_REPL_APPL
資料表。 - 確認下列應用程式是否顯示在
IUUC_REPL_APPL
表格中:/GOOG/SLT_BQ
ZGOOG_SLT_BQ
:在未註冊/GOOG/
命名空間時使用
- 使用 SAP 資料瀏覽器或交易
為 BigQuery Connector for SAP 建立 SAP 角色和授權
如要使用 BigQuery Connector for SAP,除了標準 SAP LT 複本伺服器授權外,使用者還需要存取 BigQuery Connector for SAP 提供的 /GOOG/SLT_SETTINGS
和 /GOOG/REPLIC_VALID
自訂交易。
根據預設,有權存取自訂交易的使用者可以修改任何設定,因此您可以視需要限制存取特定設定的權限。
BigQuery Connector for SAP 傳輸檔案包含 Google BigQuery
Settings Authorization
物件 ZGOOG_MTID
,用於 BigQuery Connector for SAP 專屬授權。
如要授予自訂交易的存取權,並限制存取特定設定:
使用 SAP 交易代碼
PFCG
,為 SAP 適用的 BigQuery 連接器定義角色。將角色存取權授予自訂交易
/GOOG/SLT_SETTINGS
和/GOOG/REPLIC_VALID
。如要限制角色的存取權,請使用
ZGOOG_MTID
授權物件,指定角色可存取的每個設定授權群組。例如:- BigQuery Connector for SAP (
ZGOOG_MTID
) 的授權物件:Activity 01
Authorization Group AUTH_GROUP_1,AUTH_GROUP_N
AUTH_GROUP_01
和AUTH_GROUP_N
是 SAP LT Replication Server 設定中定義的值。為
ZGOOG_MTID
指定的授權群組必須與 SAPS_DMIS_SLT
授權物件中為角色指定的授權群組相符。- BigQuery Connector for SAP (
設定複製作業
如要設定複製作業,請指定 BigQuery Connector for SAP 和 SAP LT Replication Server 設定。
在 /GOOG/CLIENT_KEY
中指定存取權設定
使用交易 SM30
指定 BigQuery 存取權設定。BigQuery Connector for SAP 會將設定儲存為 /GOOG/CLIENT_KEY
自訂設定表中的記錄。
如要指定存取權設定,請按照下列步驟操作:
在 SAP GUI 中輸入交易代碼
SM30
。選取
/GOOG/CLIENT_KEY
設定資料表。請在下列表格欄位中輸入值:
欄位 資料類型 說明 名稱 字串 指定
CLIENT_KEY
設定的描述性名稱,例如ABAP_SDK_CKEY
。用戶端金鑰名稱是 BigQuery Connector for SAP 用來識別存取 BigQuery 的設定的專屬 ID。
服務帳戶名稱 字串 在「建立服務帳戶」步驟中,為 SAP 適用的 BigQuery 連接器建立的服務帳戶名稱 (以電子郵件地址格式表示)。例如:
sap-example-svc-acct@example-project-123456.iam.gserviceaccount.com
。範圍 字串 按照 Compute Engine 的建議,指定
https://www.googleapis.com/auth/cloud-platform
API 存取範圍。這個存取範圍對應主機 VM 上的設定Allow full access to all Cloud APIs
。詳情請參閱「在主機 VM 上設定存取權範圍」。專案 ID 字串 包含目標 BigQuery 資料集的專案 ID。 指令名稱 字串 請將這個欄位留空。
授權類別 字串 用於複製作業的授權類別。 指定
/GOOG/CL_GCP_AUTH_GOOGLE
。授權欄位 不適用 請將這個欄位留空。 權杖重新整理秒數 整數 指定存取權權杖到期並必須重新整理前的時間長度 (以秒為單位)。預設值為
3600
(一小時)。將
1
的值指定為3599
會覆寫預設的到期時間3600
秒。如果指定0
,BigQuery Connector for SAP 會使用預設值3600
。
建立 SAP LT Replication Server 複寫設定
使用 SAP 交易 LTRC
建立 SAP LT Replication Server 複製設定。
如果 SAP LT Replication Server 在與來源 SAP 系統不同的伺服器上執行,請在建立複製設定之前,確認兩個系統之間有 RFC 連線。
複製作業設定中的部分設定會影響效能。如要判斷安裝作業的適當設定值,請前往 SAP 說明入口網站,查看您所用 SAP LT Replication Server 版本的效能最佳化指南。
視您使用的版本而定,SAP LT Replication Server 的介面和設定選項可能略有不同。
如要設定複寫作業,請使用 SAP LT Replication Server 版本的程序:
在 DMIS 2011 SP17、DMIS 2018 SP02 或以上版本中設定複製作業
下列步驟說明如何在較新版本的 SAP LT Replication Server 中設定複寫功能。如果您使用的是舊版,請參閱「在 DMIS 2011 SP16、DMIS 2018 SP01 或更早版本中設定複製功能」。
在 SAP GUI 中輸入交易代碼
LTRC
。按一下「建立設定」圖示。「Create Configuration」精靈會隨即開啟。
在「Configuration Name」(設定名稱) 和「Description」(說明) 欄位中,輸入設定的名稱和說明,然後按一下「Next」(下一步)。
您可以立即指定授權群組,限制對特定授權群組的存取權,也可以稍後再指定。
在「Source System Connection Details」(來源系統連線詳細資料) 面板中:
- 選取「RFC Connection」圓形按鈕。
- 在「RFC Destination」欄位中,指定來源系統的 RFC 連線名稱。
- 視需要選取「允許多次使用」和「從單一用戶端讀取」核取方塊。詳情請參閱 SAP LT Replication Server 說明文件。
- 點按「Next」。
這些步驟適用於 RFC 連線,但如果來源是資料庫,您可以改為使用交易
DBACOCKPIT
定義連線,然後選取「DB Connection」。在「Target System Connection Details」面板中:
- 選取「其他」圓形按鈕。
- 在「Scenario」欄位中,從下拉式選單中選取「SLT SDK」。
- 點按「Next」。
在「指定轉移設定」面板中:
在「資料移轉設定」部分的「應用程式」欄位中,輸入
/GOOG/SLT_BQ
或ZGOOG_SLT_BQ
。在「Job options」部分,在以下各個欄位中輸入起始值:
- 資料移轉工作數量
- 初始載入工作數量
- 計算工作數量
在「Replication Options」部分,選取「Real Time」單選按鈕。
點按「Next」。
查看設定後,按一下「儲存」。
記下「Mass Transfer」欄中的三位數 ID。您會在後續步驟中使用此值。
如需更多資訊,請參閱 SAP 附註 2652704 附帶的 PDF 檔案:Replicating Data Using SLT SDK - DMIS 2011 SP17, DMIS 2018 SP02.pdf。
在 DMIS 2011 SP16、DMIS 2018 SP01 或更早版本中設定複寫
下列步驟說明如何在舊版 SAP LT Replication Server 中設定複寫功能。如果您使用的是較新版本,請參閱「在 DMIS 2011 SP17、DMIS 2018 SP02 或以上版本中設定複製作業」。
- 在 SAP GUI 中輸入交易代碼
LTRC
。 - 按一下「新增」。系統會開啟對話方塊,讓您指定新的設定。
- 在「指定來源系統」步驟中:
- 選擇「RFC 連線」做為連線類型。
- 輸入 RFC 連線名稱。
- 確認已選取「允許多人使用」欄位。
- 在「指定目標系統」步驟中:
- 輸入目標系統的連線資料。
- 選擇「RFC 連線」做為連線類型。
- 在「RFC 通訊情境」欄位中,從下拉式清單中選取「使用 BAdI 將資料寫入目標」值。RFC 連線會自動設為「NONE」。
- 在「指定轉移設定」步驟中,按下 F4 說明。先前定義的應用程式會顯示在「Application」欄位中。
- 記下「Mass Transfer」欄中的三位數 ID。您會在後續步驟中使用此值。
如需更多資訊,請參閱 SAP 注意事項 2652704附帶的 PDF 檔案:使用 SLT SDK 複製資料 - DMIS 2011 SP15、SP16、DMIS 2018 SP00、SP01.pdf。
為 BigQuery 建立大量移轉設定
使用自訂 /GOOG/SLT_SETTINGS
交易,為 BigQuery 設定大量移轉作業,並指定資料表和欄位對應項目。
選取初始大量轉移選項
首次輸入 /GOOG/SLT_SETTINGS
交易時,請選取要編輯的 BigQuery 大量移轉設定部分。
如要選取大量移轉設定的部分,請按照下列步驟操作:
在 SAP GUI 中,輸入前面有
/n
的/GOOG/SLT_SETTINGS
交易:/n/GOOG/SLT_SETTINGS
在
/GOOG/SLT_SETTINGS
交易的啟動畫面中,從「Settings Table」下拉式選單中選取「Mass Transfers」。針對新的大眾傳輸設定,請將「Mass Transfer Key」欄位留空。
按一下「執行」圖示。畫面上會顯示「BigQuery 設定維護 - 大量移轉」畫面。
指定資料表建立作業和其他一般屬性
在 BigQuery 大量移轉設定的初始部分,您可以指定大量移轉設定,並指定相關聯的用戶端金鑰,以及與建立目標 BigQuery 資料表相關的特定屬性。
SAP LT Replication Server 會將大量移轉設定儲存為 /GOOG/BQ_MASTR
自訂設定表中的記錄。
您在後續步驟中指定的欄位均為必填欄位。
在「BigQuery 設定維護 - 大量移轉」畫面中,按一下「附加資料列」圖示。
在顯示的資料列中,指定下列設定:
- 在「Mass Transfer Key」欄位中,定義此移轉作業的名稱。這個名稱會成為大量轉移作業的主鍵。
- 在「Mass Transfer ID」欄位中,輸入建立對應 SAP LT Replication Server 複製設定時產生的三位數 ID。
- 如要將來源欄位的標籤或簡短說明,用作 BigQuery 中目標欄位的名稱,請勾選「Use Custom Names Flag」核取方塊。如要進一步瞭解欄位名稱,請參閱「欄位的預設命名選項」。
如要儲存觸發插入作業的變更類型,並啟用來源資料表、SAP LT 複製伺服器統計資料和 BigQuery 資料表之間的記錄計數驗證功能,請選取「額外欄位標記」核取方塊。
設定這個標記後,BigQuery Connector for SAP 會在 BigQuery 資料表結構中新增資料欄。詳情請參閱「記錄變更和計數查詢的額外欄位」。
如要遇到含有資料錯誤的記錄時停止傳送資料,請按一下「Break at First Error Flag」核取方塊 (建議使用)。詳情請參閱「BREAK 標記」。
遇到資料錯誤的記錄時,如要略過記錄並繼續將記錄插入 BigQuery 資料表,請按一下「略過無效記錄標記」核取方塊。建議您不要勾選這項設定。詳情請參閱「SKIP 標記」。
在「Google Cloud Key Name」欄位中,輸入對應
/GOOG/CLIENT_KEY
設定的名稱。SAP 適用的 BigQuery 連接器會自動從
/GOOG/CLIENT_KEY
設定中擷取 Google Cloud 專案 ID。在「BigQuery 資料集」欄位中,輸入您在此程序中先前建立的目標 BigQuery 資料集名稱。
在「Is Setting Active Flag」欄位中,按一下核取方塊啟用大量轉移設定。
按一下 [儲存]。
系統會在
/GOOG/BQ_MASTR
資料表中附加大量轉移記錄,並自動填入「變更者」、「變更日期」和「變更時間」欄位。按一下「顯示表格」。
系統會顯示新的大量轉移記錄,接著顯示表格屬性輸入面板。
指定資料表屬性
您可以在 /GOOG/SLT_SETTINGS
交易的第二個部分中,指定資料表屬性 (例如資料表名稱和資料表分割),以及要納入每個傳輸或傳送至 BigQuery 的區塊的記錄數量。
您指定的設定會儲存在 /GOOG/BQ_TABLE
設定資料表中,做為記錄。
這些設定為選用設定。
如要指定表格屬性,請按照下列步驟操作:
按一下「附加資料列」圖示。
在「SAP Table Name」欄位中,輸入來源 SAP 資料表的名稱。
在「External Table Name」(外部資料表名稱) 欄位中,輸入目標 BigQuery 資料表的名稱。如果目標資料表尚不存在,BigQuery Connector for SAP 會建立這個名稱的表格。如要瞭解 BigQuery 的資料表命名慣例,請參閱「資料表命名」一文。
「Send Uncompressed Flag」欄位會停用記錄壓縮功能。只有在您需要 BigQuery Connector for SAP 使用來源表格中用來初始化欄位的值,複製來源記錄中的任何空白欄位時,才需要指定這個標記。為提升效能,請勿指定這個標記。詳情請參閱「錄影壓縮」。
您可以選擇在「Chunk Size」欄位中,指定要傳送至 BigQuery 的每個區塊中,記錄的最大數量。盡可能使用 SAP 適用的 BigQuery 連接器允許的最大區塊大小,目前為 10,000 筆記錄,也是預設值。如果來源記錄包含大量欄位,欄位數量可能會增加區塊的整體位元組大小,進而導致區塊錯誤。如果發生這種情況,請嘗試縮減區塊大小,以減少位元組大小。詳情請參閱「BigQuery Connector for SAP 中的區塊大小」。
您也可以在「Partition Type」欄位中,指定用於分區的時間增量。有效值為
HOUR
、DAY
、MONTH
或YEAR
。詳情請參閱「資料表分區」。您可以選擇在「Partition Field」欄位中,指定目標 BigQuery 資料表中包含用於分區的時間戳記的欄位名稱。指定「劃分欄位」時,您必須一併指定「劃分類型」。詳情請參閱「資料表分區」。
在「Is Setting Active Flag」欄位中,按一下核取方塊即可啟用表格屬性。如果未勾選「Is Setting Active Flag」方塊,BigQuery Connector for SAP 會建立 BigQuery 資料表,並使用 SAP 來源資料表的名稱、預設的區塊大小,且不進行分割。
按一下 [儲存]。
系統會將屬性儲存為
/GOOG/BQ_TABLE
設定資料表中的記錄,並自動填入「Changed By」、「Changed On」 和「Changed At」 欄位。按一下「顯示欄位」。
系統會顯示新的表格屬性記錄,接著顯示欄位對應項目面板。
自訂預設欄位對應
如果來源 SAP 資料表包含時間戳記欄位或布林值,請變更預設資料類型對應關係,以便正確反映目標 BigQuery 資料表中的資料類型。
您也可以變更其他資料類型,以及用於目標欄位的名稱。
您可以直接在 SAP GUI 中編輯預設對應項目,也可以將預設對應項目匯出至試算表或文字檔,讓其他人無須存取 SAP LT 複製伺服器,即可編輯值。
如要進一步瞭解預設欄位對應項目和可進行的變更,請參閱「欄位對應」。
如要自訂目標 BigQuery 欄位的預設對應項目,請按照下列步驟操作:
在交易
/GOOG/SLT_SETTINGS
的「BigQuery 設定維護 - 欄位」頁面中,針對目前設定的大量移轉作業顯示預設欄位對應項目。視需要編輯「外部資料元素」欄中的預設目標資料類型。特別是,請變更下列資料類型的目標資料類型:
- 時間戳記。將預設目標資料類型從
NUMERIC
變更為TIMESTAMP
或TIMESTAMP (LONG)
。 - 布林值。將預設目標資料類型從
STRING
變更為BOOLEAN
。 - 十六進位數。將預設目標資料類型從
STRING
變更為BYTES
。
如要編輯預設資料類型對應關係,請按照下列步驟操作:
- 在需要編輯的欄位列上,按一下「外部資料元素」欄位。
- 在資料類型對話方塊中,選取所需的 BigQuery 資料類型。
- 確認變更後,按一下「儲存」。
- 時間戳記。將預設目標資料類型從
如果您在「BigQuery 設定維護」頁面中指定「自訂名稱」標記,請視需要在「暫時欄位名稱」欄中編輯預設目標欄位名稱。
您指定的值會覆寫「External Field Name」欄中顯示的預設名稱。
視需要在「欄位說明」欄中編輯預設目標欄位說明。
您可以選擇匯出欄位對應表,以便外部編輯。如需操作說明,請參閱「在 CSV 檔案中編輯 BigQuery 欄位對應」。
完成所有變更並上傳所有外部編輯的值後,請確認已勾選「Is Setting Active Flag」核取方塊。如果未選取「Is Setting Active Flag」,SAP 適用的 BigQuery 連接器會使用預設值建立目標資料表。
按一下 [儲存]。
變更會儲存在
/GOOG/BQ_FIELD
設定表格中,並自動填入「變更者」、「變更日期」和「變更時間」欄位。
測試複製作業
啟動資料佈建作業,測試複製作業設定:
在 SAP GUI 中開啟 SAP LT Replication Server Cockpit (交易
LTRC
)。按一下要測試的資料表複製作業的大量轉移設定。
按一下「資料佈建」。
在「Data Provisioning」面板中,開始佈建資料:
- 輸入來源資料表的名稱。
- 按一下要測試的資料配置類型的圓形按鈕。例如「Start Load」。
按一下「執行」圖示。系統隨即開始轉移資料,並在「參與物件」畫面上顯示進度。
如果 BigQuery 中沒有該資料表,SAP 專用 BigQuery 連接器會根據您先前使用
/GOOG/SLT_SETTINGS
交易定義的資料表和欄位屬性,建立結構定義並使用該結構定義建立資料表。資料表的初始載入時間長短取決於資料表和記錄的大小。
訊息會寫入交易
LTRC
中的 SAP LT Replication Server「應用程式記錄」部分。
驗證複製作業
您可以使用下列方法驗證複製作業:
- 在 SAP LT Replication Server 中:
- 在「資料佈建」畫面上監控複製作業。
- 查看「Application Logs」畫面中的錯誤訊息。
- 在 BigQuery 的資料表資訊分頁中:
- 查看「Schema」分頁,確認結構定義正確無誤。
- 查看「預覽」分頁標籤,預覽已插入的資料列。
- 查看「Details」分頁,瞭解插入的資料列數量、資料表大小和其他資訊。
- 如果在設定 BigQuery 資料表時勾選「Extra Fields Flag」核取方塊,請輸入
/GOOG/REPLIC_VALID
自訂交易,執行複製驗證工具。
檢查 SAP LT Replication Server 中的複製作業
使用交易 LTRC
即可查看啟動後的初始載入或複製工作進度,並檢查錯誤訊息。
您可以在 SAP LT 複本伺服器的「Load Statistics」分頁標籤下方查看負載狀態,也可以在「Data Transfer Monitor」分頁標籤下方查看工作進度。
在交易 LTRC
的「Application Logs」畫面中,您可以查看 BigQuery、SAP 專用 BigQuery 連接器和 SAP LT Replication Server 傳回的所有訊息。
SAP LT Replication Server 中由 BigQuery Connector for SAP 程式碼發出的訊息,開頭會加上前置字串 /GOOG/SLT
。從 BigQuery API 傳回的訊息會以前置字串 /GOOG/MSG
開頭。
SAP LT Replication Server 傳回的訊息開頭不會有 /GOOG/
前置字元。
在 BigQuery 中檢查複製作業
在 Google Cloud 控制台中確認資料表已建立,且 BigQuery 會將資料插入其中。
前往 Google Cloud 控制台的「BigQuery」頁面。
在「Explorer」部分的搜尋欄位中,輸入目標 BigQuery 資料表的名稱,然後按下
Enter
。表格資訊會顯示在頁面右側內容窗格中的分頁下方。
在表格資訊部分,按一下下列標題,檢查表格和資料列插入作業:
- 預覽:顯示插入至 BigQuery 資料表的資料列和欄位。
- 結構定義:顯示欄位名稱和資料類型。
- 「詳細資料」:顯示資料表大小、資料列總數和其他詳細資料。
執行複製驗證工具
如果在設定 BigQuery 資料表時選取「Extra Fields Flag」,您可以使用複本驗證工具產生報表,比較 BigQuery 資料表中的記錄數量,以及 SAP LT 複本伺服器統計資料或來源資料表中的記錄數量。
如要執行複製驗證工具,請按照下列步驟操作:
在 SAP GUI 中,輸入前面有
/n
的/GOOG/REPLIC_VALID
交易:/n/GOOG/REPLIC_VALID
在「Processing Options」部分,按一下「Execute Validation」圓形按鈕。
在「Selection Options」部分中,輸入下列規格:
- 在「GCP 合作夥伴 ID」欄位的下拉式選單中,選取「BigQuery」。
- 在「檢查類型」欄位的下拉式選單中,選取要產生的報表類型:
- 初始載入計數
- 複製計數
- 目前計數
- 如果畫面上顯示「Check Date」欄位,請指定需要計算計數的日期。
- 在「Mass Transfer Key」欄位中,輸入質量轉移設定名稱。
按一下「執行」圖示,執行複製驗證工具。
驗證完成後,請在「處理選項」部分,按一下「顯示報表」單選按鈕,然後點選「執行」圖示,即可顯示報表。
詳情請參閱「複製驗證工具」。
疑難排解
如要瞭解如何使用 BigQuery Connector for SAP 在 SAP 和 BigQuery 之間設定及執行載入或複製作業,並排解可能發生的問題,請參閱 BigQuery Connector for SAP 疑難排解指南。
取得支援
如需協助解決複製和 BigQuery Connector for SAP 的問題,請收集所有可用的診斷資訊,然後與 Cloud Customer Care 團隊聯絡。如要瞭解如何與 Customer Care 聯絡,請參閱「取得 SAP 支援 Google Cloud」。