如果客戶代管的 Looker 執行個體無法與 Looker 代管的動作中心通訊,Looker 管理員可能無法啟用支援串流結果或使用 OAuth 的動作。此外,如果 Looker 使用者傳送或排程資料至支援串流結果的動作,可能會導致查詢掛起,且無法設定 OAuth 動作。
如要使用 Looker 整合,Looker Action Hub 和 Looker 執行個體必須能夠相互通訊。如果客戶代管執行個體的管理員想瞭解適合其執行個體架構的解決方案,可以參閱「透過行動中樞分享資料」說明文件頁面中的「客戶代管執行個體的考量事項」一節,瞭解相關建議。
如果執行個體使用的是憑證授權單位 (CA) 核發的 SSL 憑證,但該憑證不在這個根憑證清單中,則 OAuth 和串流動作可能無法在客戶代管的 Looker 執行個體上使用。
如要查看已設定為支援串流結果或 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 用戶端 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
- 按一下「Create」按鈕,即可產生 OAuth 用戶端 ID 和 OAuth 用戶端密鑰。稍後您會需要這兩個值。
設定 OAuth 同意畫面
您可以透過 Google API 控制台的這個頁面,為專案中的所有應用程式設定同意畫面,讓使用者授予自己的資料存取權,並提供任何法律或隱私權文件的連結。如果您已完成這個步驟,或不需要設定同意畫面,請略過本節,返回終端機視窗設定環境變數,如本頁稍後的「設定環境變數」一節所述。
如要設定同意畫面,請按照下列步驟操作:
- 點選「設定同意畫面」。
- 選取這是否為內部或外部應用程式,然後點選「建立」。
- 在「應用程式名稱」欄位中輸入應用程式名稱。
- 在「使用者支援電子郵件」中,輸入要顯示在 OAuth 同意畫面中的電子郵件地址,以便使用者尋求支援。
- 您可以選擇為應用程式標誌上傳圖片檔案,以便在 OAuth 同意畫面中使用。
- 您可以視需要輸入應用程式首頁連結,該連結應與動作中樞位於相同的根網域。
- 您可以選擇在「應用程式隱私權政策連結」欄位中輸入應用程式隱私權政策的連結。連結必須與行動中心位於相同的根網域。
- 您可以選擇在「應用程式服務條款連結」欄位中輸入應用程式服務條款的連結。連結必須與行動中心位於相同的根網域。
- 在「已授權網域」部分,按一下「新增網域」,然後輸入動作中樞使用的根網域。
- 在「開發人員聯絡資訊」欄位中,輸入 Google 可用來聯絡您的電子郵件地址。
- 按一下「儲存並繼續」。
- 在「範圍」部分中,新增應用程式必須存取的使用者資料類型。包括電子郵件、個人資料、OpenID 和
https://mail.google.com
。由於這份名單包含敏感的使用者資訊,Google 需要驗證您的 OAuth 同意畫面,才能發布。 - 按一下「儲存並繼續」。
- 您也可以在「測試使用者」部分,新增您希望在驗證前可存取行動中心的使用者。
- 按一下「儲存並繼續」。
- 按一下「返回資訊主頁」。
- 在左側欄中,按一下「憑證」即可返回 OAuth 憑證設定畫面。
設定 OAuth 同意畫面後,如果您正在設定 Google OAuth 憑證,請返回該程序的第 7 步驟,完成憑證設定。否則,您可以返回終端機視窗來設定環境變數。
設定環境變數
在虛擬機器或容器環境中設定下列環境變數:
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
將行動中心新增至 Looker 執行個體
如何將行動中心新增至 Looker 執行個體:
- 在 Looker 中,前往「管理」面板的「平台」下方的「動作」頁面。
- 捲動至頁面底部,然後按一下「新增 Action Hub」按鈕。
- 輸入
ACTION_HUB_BASE_URL
,然後按一下「新增 Action Hub」。行動中心應會顯示在新標題下方,並附上名稱和ACTION_HUB_BASE_URL
。您的 Google 雲端硬碟和 Google 試算表動作應會顯示在這個標題下方。 - 如果連線失敗,請在「授權權杖」欄位中輸入先前產生的
api-key
,然後按一下行動中心標題頂端的「重新整理」連結。 - 啟用 Google 雲端硬碟和 Google 試算表動作,並確認這些動作在動作中樞中設定正確無誤。
下一步
接下來,請在 Google API 控制台中發布您建立的應用程式。如要發布,請前往「OAuth 同意畫面」頁面,然後點選「提交驗證」按鈕。請注意,應用程式發布程序可能需要一些時間,且需要透過 Google 完成一些驗證步驟。