如果客戶代管的 Looker 執行個體無法與 Looker 代管的動作中心通訊,Looker 管理員可能無法啟用支援串流結果或使用 OAuth 的動作。此外,如果 Looker 使用者傳送或排定資料至支援串流結果的動作,可能會遇到查詢停止回應的問題,且無法設定 OAuth 動作。
如要使用 Looker 整合功能,Looker Action Hub 和 Looker 執行個體必須能夠彼此通訊。如要瞭解適合客戶代管執行個體架構的解決方案,客戶代管執行個體的管理員可以參閱「透過動作中心分享資料」說明文件頁面的「客戶代管執行個體注意事項」一節。
如果執行個體使用的 SSL 憑證是由不在這個根憑證清單中的憑證授權單位 (CA) 核發,客戶代管的 Looker 執行個體可能無法使用 OAuth 和串流動作。
如要查看設定為支援串流結果或 OAuth 的動作,請參閱「管理設定 - 動作」說明文件頁面上的 Looker 整合服務清單。
本頁說明如何啟動本機動作中樞伺服器,以使用支援串流結果或使用 Google OAuth 的 Looker 動作。您可以建立容器或虛擬機器 (VM),代管 Looker Action Hub 存放區程式碼的複製版本,然後按照下列步驟設定自己的本機動作中心伺服器。詳情請參閱下列章節:
- 為動作中心伺服器建立容器或虛擬機器 (VM) 設定。
- 設定 Google OAuth 憑證。
- 設定 Google OAuth 同意畫面。
- 設定環境變數。
- 產生 API 金鑰。
- 啟動新的動作中心。
- 將新動作中樞新增至 Looker 執行個體。
為動作中心伺服器建立容器或虛擬機器 (VM) 設定
您的 VM 或容器應符合下列配置和網路需求及依附元件:
建議的記憶體配置
Looker 建議為這個容器或 VM 分配 2 個 CPU/vCPU 執行緒,以及至少 2 GB 的記憶體。如果預期動作用量會很大,請考慮將記憶體增加到 2 GB 以上。
網路需求
動作中樞必須具有靜態 IP 位址或可透過內部網域名稱系統 (DNS) 解析的位址。
您的網路必須支援下列通訊需求:
- Looker 執行個體必須能與動作中樞通訊。
- Google Auth 必須能夠與動作中心通訊。
- 內部連線的瀏覽器必須能夠連上動作中心。
- 動作中心必須能連上 Google 雲端硬碟伺服器。
必要依附元件
將 Looker 動作存放區複製到新建立的 VM 或容器時:
- 確認已安裝 Node 12.13。
- 執行
yarn install
安裝必要套件。
設定環境後,您需要在 Google Cloud API 控制台中,為動作中心伺服器建立 Google OAuth 憑證。
設定 Google OAuth 憑證
如要為動作設定 Google OAuth 憑證,請按照下列步驟操作:
建立 Google OAuth 憑證
如要取得 Google OAuth 用戶端 ID 和用戶端密鑰,請按照下列步驟操作:
- 前往 Google Cloud 的「管理資源」頁面,然後按一下「建立專案」,建立新專案。
如要進一步瞭解如何建立專案,請參閱「建立及管理專案」指南。
- 建立新專案後,請選取該專案。
- 在控制台左側邊欄中,前往「API 和服務」>「憑證」頁面。
- 按一下「建立憑證」。
- 在下拉式選單中,按一下「OAuth client ID」。
- 您可能需要設定 OAuth 同意畫面。如果是,請按照本頁稍後「設定 OAuth 同意畫面」一節的說明操作,然後繼續進行步驟 7。
- 在「應用程式類型」中,選取「網頁應用程式」。
- 在「名稱」欄位中輸入應用程式名稱。
- 在「已授權的 JavaScript 來源」部分,新增您在內部使用的根 Looker 應用程式地址。
- 在 Google 雲端硬碟和 Google 試算表控制台中,設定「已授權的重新導向 URI」,其中
ACTION_HUB_BASE_URL
是動作中心地址:https://<ACTION_HUB_BASE_URL>/actions/google_sheets/oauth_redirect https://<ACTION_HUB_BASE_URL>/actions/google_drive/oauth_redirect
- 按一下「建立」按鈕,產生 OAuth 用戶端 ID 和 OAuth 用戶端密鑰。稍後會用到這兩項資訊。
設定 OAuth 同意畫面
您可以在 Google API 控制台的這頁中,為專案中的所有應用程式設定同意畫面,讓使用者授予資料存取權,並提供任何法律或隱私權文件的連結。如果您已完成這個步驟,或不需要設定同意畫面,請略過本節,並返回終端機視窗設定環境變數,如本頁稍後的「設定環境變數」一節所述。
如要設定同意畫面,請按照下列步驟操作:
- 點選「設定同意畫面」。
- 選取這是內部或外部應用程式,然後按一下「建立」。
- 在「應用程式名稱」欄位中輸入應用程式名稱。
- 在「使用者支援電子郵件」中,輸入要顯示在「OAuth 同意畫面」的使用者支援電子郵件地址。
- (選用) 上傳圖片檔案做為應用程式標誌,在 OAuth 同意畫面上使用。
- (選用) 輸入應用程式首頁連結,該連結應與動作中心位於相同的根網域。
- 視需要,在「應用程式隱私權政策連結」欄位中輸入應用程式隱私權政策的連結。連結必須與動作中心位於相同的根網域。
- (選用) 在「應用程式服務條款連結」欄位中輸入應用程式服務條款的連結。連結必須與動作中心位於相同的根網域。
- 在「Authorized domains」(已授權網域) 部分,按一下「ADD DOMAIN」(新增網域),然後輸入動作中心使用的根網域。
- 在「開發人員聯絡資訊」欄位中,輸入 Google 可與您聯絡的電子郵件地址。
- 按一下「儲存並繼續」。
- 在「範圍」部分,新增應用程式必須存取的使用者資料類型。包括電子郵件、個人資料、OpenID 和
https://mail.google.com
。由於這份清單包含敏感的使用者資訊,因此必須先通過 Google 的 OAuth 同意畫面驗證,才能發布。 - 按一下「儲存並繼續」。
- (選用) 在「測試使用者」部分中,新增您希望在驗證前存取動作中心的任何使用者。
- 按一下「儲存並繼續」。
- 按一下「返回資訊主頁」。
- 在左側邊欄中,按一下「憑證」,返回設定 OAuth 憑證。
設定 OAuth 同意畫面後,如果您正在設定 Google OAuth 憑證,請返回該程序的步驟 7,完成憑證設定。否則,請返回終端機視窗設定環境變數。
設定環境變數
在 VM 或容器環境中,設定下列環境變數:
ACTION_HUB_LABEL=<your action hub label name> ACTION_HUB_SECRET=<some secret> ACTION_HUB_BASE_URL=<your action hub base address> # For example https://actions.company.com # DO NOT INCLUDE A TRAILING SLASH GOOGLE_SHEET_CLIENT_ID=<OAuth client ID> GOOGLE_SHEET_CLIENT_SECRET=<OAuth client secret> GOOGLE_DRIVE_CLIENT_ID=<OAuth client ID> GOOGLE_DRIVE_CLIENT_SECRET=<OAuth client secret>
您應該可以同時為 Google 雲端硬碟和 Google 試算表使用相同的 OAuth client ID
和 OAuth client secret
,但最好同時設定兩組 Google API 權杖。
同時設定加密金鑰:
CIPHER_MASTER="<hex aes-256 key>"
這個金鑰不會用於長期加密,只會在 OAuth 流程中用於加密 state
。以下是十六進位 AES-256 金鑰的範例:
C4EFBBE2C364248419776459A00F2F4017CE77E29D9E8F64940687EA440A0CC9
產生 API 金鑰
如要取得 API 金鑰,請執行下列指令:
y
arn generate-api-key
保留產生的金鑰,以供稍後設定時使用。這組金鑰是根據 ACTION_HUB_SECRET
產生。
啟動本機動作中心伺服器
如要啟動動作中心,請執行下列指令:
yarn start
將 Action Hub 新增至 Looker 執行個體
如要在 Looker 執行個體中新增 Action Hub,請按照下列步驟操作:
- 在 Looker 中,前往「管理」面板的「平台」下方的「動作」頁面。
- 捲動至頁面底部,然後按一下「新增動作中心」按鈕。
- 輸入
ACTION_HUB_BASE_URL
,然後按一下「新增動作中心」。動作中心應會顯示在新的標題下方,並附上名稱和ACTION_HUB_BASE_URL
。Google 雲端硬碟和 Google 試算表動作應會顯示在這個標題下方。 - 如果連線失敗,請在「授權權杖」欄位中輸入先前產生的
api-key
,然後按一下動作中心標題頂端的「重新整理」連結。 - 啟用 Google 雲端硬碟和 Google 試算表動作,並確認動作中心中的設定正確無誤。
下一步
接下來,請發布您在 Google API 控制台中建立的應用程式。如要發布,請前往「OAuth 同意畫面」頁面,然後按一下「提交以供驗證」按鈕。請注意,應用程式發布程序可能需要一些時間,且需要完成 Google 的驗證步驟。