我最近收到一些請求,希望分享有關在 JMP 19 中使用基於 REST 的 Snowflake 資料連接器的資訊。
幸好我已經做過相關的影片了!這是我發過的最簡單的貼文。
如果您想直接查看 JMP 的使用方法,請跳到時間戳記 2:11。
文字稿(大致內容):
我叫克里斯,是 JMP 的軟體開發人員,我想分享一些關於 JMP 19 中新增的基於 REST 的 Snowflake 資料連接器的資訊!
使用此連接器,使用者可以體驗到比基於 ODBC 的 Snowflake 連接器更高的效能。此外,基於 REST 的連接器無需安裝 ODBC Snowflake 驅動程式即可在 JMP 中運作。
目標
今天,我將介紹:
- Snowflake是什麼?
- 為什麼要使用基於 REST 的 Snowflake 連接器?
- 如何設定和連接基於 REST 的 Snowflake 連接器。
- 一些故障排除技巧。
Snowflake是什麼?
對於 Snowflake 的新手來說,它的描述之一是「Snowflake 將全新的 SQL 查詢引擎與專為雲端原生設計的創新架構相結合」。
從使用者角度來看,Snowflake 儲存著資料。使用者可以像使用任何基於 SQL 的資料庫一樣,提交 SQL 查詢來存取這些數據,但後端資料儲存在一個或多個雲端服務提供者(例如 AWS、Google Cloud 或 Azure)中。它能夠根據客戶需求靈活地擴展或縮減資源。
Snowflake 還提供了一個名為 Snowsight 的 Web 介面,使用者可以在該介面上執行查詢、管理 Snowflake、上傳資料、建立資料管道以及監控活動和使用情況。
ODBC 與 REST
在 JMP 19 中,使用者現在有兩種方式可以在 JMP 中存取 Snowflake 資料:一種是使用 ODBC Snowflake 資料連接器,另一種是使用基於 REST 的 Snowflake 連接器。基於 REST 的連接器利用多線程處理來獲取數據,這意味著與 ODBC 驅動程式相比,查詢可以更快完成。
REST 的局限性
目前支援的身份驗證方法包括使用 Snowflake 預設身份驗證器的「使用者名稱和密碼」身份驗證、OAuth 身份驗證,以及用於自動化腳本等場景的程式化存取權杖。
基於 REST 的連接器底層使用 Snowflake SQL API,因此不支援某些操作,例如具有資料暫存的 GET 和 PUT。
連接
了解了這些之後,讓我們來看看如何在 JMP 中配置基於 REST 的連接器並建立連接。
(打開 JMP)
首先,我們開啟 JMP 資料連接器介面。
(導航…和交談)
在搜尋欄中搜尋 Snowflake,選擇內建的 Snowflake 連接器,然後建立一個新的連接器。
使用使用者密碼進行身份驗證
在開始之前,需要說明的是,根據您使用的身份驗證系統,其中許多選項可能需要 Snowflake 管理員以及其他相關方的協助。但我們先來使用使用者名稱和密碼來建立一個連線。
我們首先需要的是 Snowflake URL,使用者通常透過該 URL 存取 Snowsight Web 介面,該 URL 通常以 .snowflake 結尾。 。
倉庫欄位指定您要連接的倉庫,資料庫和角色欄位也是如此。如果留空,則會使用您已定義的使用者預設值。通常,使用者會被限制於某些角色,甚至只能存取某些表,因此,如果這些欄位的值不正確,可能會導致連線失敗。
最後,請在使用者名稱和密碼欄中填寫您的憑證。您可以將密碼欄留空,連線時系統會提示您輸入密碼。使用測試按鈕測試連接,如果需要,可以儲存連接。
雙因素認證
您可能會發現 JMP 在連接時卡住,這可能表示 Snowflake 正在等待雙重認證 (2FA)。如果您的帳戶已配置 2FA,則需要回應提示。例如,您可以使用手機上的 Duo 應用程式來允許連線。
連接成功後,您將能夠看到所連接資料庫中的架構和表。然後,使用「開啟表格」或「查詢建構器」將資料匯入 JMP。
SQL 控制台
JMP 19 新增了 SQL 控制台,它提供了使用支援連接器執行多語句查詢的路徑。它類似於運行自訂 SQL,但也允許使用一個查詢同時開啟多個表。您可以將工作儲存為 .sql 文件,以便稍後開啟重複使用。
使用程式化存取令牌進行連接
對於需要繞過雙重認證 (2FA) 以進行腳本編寫或使用 JMP Live 刷新腳本的用戶,另一種連接方式是使用程式化存取權杖。此臨時令牌有效期最長為一年。請聯絡您的 Snowflake 管理員為您的使用者產生令牌。
若要將令牌與 JMP 搭配使用,請按照先前建立 Snowflake 使用者名稱/密碼連接器的步驟操作,但這次需要在連接器的密碼欄位中輸入令牌,而不是您常用的密碼。完成此步驟後,您應該可以正常連接,而無需啟用雙重認證 (2FA)。
使用 OAuth 連接
使用 OAuth 連接時,大部分欄位由您的 Snowflake 和安全管理員提供。請確保此身份驗證類型的使用者名稱和密碼欄位為空。與之前一樣,填寫 Snowflake URL 字段,以及資料庫、倉庫和角色字段(如果適用)。其餘欄位列在 OAuth 部分,這些欄位將由您的管理員提供。使用 OAuth 連線時,您可能需要進行身份驗證,並且可能還需要完成雙重認證。就我而言,系統會將我引導至瀏覽器視窗輸入我的憑證。
故障排除
讓我們再提一下你可能會遇到的一些問題以及一些可能的解決方案。
- 角色/倉庫錯誤:連線時,您可能會看到一條通用錯誤訊息:“ SQL 編譯錯誤:物件不存在,或無法執行操作。 ”
首先,我會檢查您的角色、倉庫和資料庫是否正確。如果您留空,則可能需要明確指定您要存取的資源。如果您已填寫,請仔細檢查拼字是否正確,以及您的使用者是否擁有這些資源的存取權限。為此,您可以諮詢 Snowflake 管理員,使用 Snowsight 驗證您的設置,或使用 snowsql 或 Snowflake CLI 等控制台工具。
- HTTPS:某些 Snowflake 配置有 IP 限制,或資源位於公司防火牆之後。請確保您擁有這些資源的存取權限,這可能包括存取公司網路或在資料連接器中設定代理程式和 noproxy 欄位。此外,如果您的基礎架構使用自簽名證書,則可能需要使用 Secure 欄位停用 TLS。除非您確定這是正確的配置,否則請勿停用 TLS,因為這可能會允許中間人攻擊。
感謝觀看,希望本影片能幫助您了解基於 REST 的 Snowflake 連接器的優勢,學習如何配置新的 Snowflake 資料連接器,並最終在 JMP 中連接到 Snowflake 資料。
在 snowflake.com 上可以找到更多關於使用 Snowflake 和運行 Snowflake 查詢的資訊。
我們希望用戶會覺得此連接器的效能提升很有價值,並期待未來能進一步改進。謝謝!
嗨@chrishesser ,我這邊似乎無法訪問該視頻。
您能否請同事幫忙存取影片並調整設定?