[Ultimate]{class="badge positive"}
Snowflake串流來源
-
已購買Real-Time CDP Ultimate的使用者可在API中使用Snowflake串流來源。
-
您現在可以在Amazon Web Services (AWS)上執行Adobe Experience Platform時使用Snowflake串流來源。 目前有限數量的客戶可使用在AWS上執行的Experience Platform 。 若要進一步瞭解支援的Experience Platform基礎結構,請參閱Experience Platform多雲端總覽。
Adobe Experience Platform 讓您可以從外部來源擷取資料,同時可以使用 Experience Platform 服務來建立、加標籤,同時強化傳入資料。 您可以從多種來源(例如Adobe應用程式、雲端儲存、資料庫和許多其他來源)內嵌資料。
Experience Platform支援從Snowflake資料庫串流資料。
瞭解Snowflake串流來源
Snowflake串流來源的運作方式是定期執行SQL查詢來載入資料,並為結果集中的每一列建立輸出記錄。
藉由使用Kafka Connect,Snowflake串流來源會追蹤它從每個資料表收到的最新記錄,以便它可以在下一個反複專案的正確位置開始。 來源使用此功能來篩選資料,並只從每個疊代的表格中取得更新的列。
先決條件
以下章節概述從Snowflake資料庫將資料串流到Experience Platform之前要完成的先決條件步驟:
IP位址允許清單
將來源連線至Experience Platform之前,您必須先將區域特定的IP位址新增至允許清單。 如需詳細資訊,請參閱允許清單IP位址以連線至Experience Platform的指南以瞭解詳細資訊。
以下檔案提供如何使用API或使用者介面將Amazon Redshift連線至Experience Platform的資訊:
收集必要的認證
若要讓Flow Service與Snowflake連線,您必須提供下列連線屬性:
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 7-row-2 | |
---|---|
認證 | 說明 |
account |
Snowflake帳戶的完整帳戶識別碼(帳戶名稱或帳戶定位器)已附加尾碼
如需詳細資訊,請閱讀Snowflake document on account identifiers。 |
warehouse |
Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料帶到Experience Platform時必須個別存取。 |
database |
Snowflake資料庫包含您要帶入Experience Platform的資料。 |
username |
Snowflake帳戶的使用者名稱。 |
password |
Snowflake使用者帳戶的密碼。 |
role |
(選用)可以為使用者針對指定連線提供的自訂定義角色。 如果未提供,此值會預設為public 。 |
connectionSpec.id |
連線規格會傳回來源的聯結器屬性,包括與建立基礎連線和來源連線相關的驗證規格。 Snowflake的連線規格識別碼為51ae16c2-bdad-42fd-9fce-8d5dfddaf140 。 |
若要使用金鑰組驗證,您必須產生2048位元RSA金鑰組,然後在建立Snowflake來源的帳戶時提供下列值。
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2 | |
---|---|
認證 | 說明 |
account |
帳戶名稱可唯一識別組織內的帳戶。 在此情況下,您必須跨不同的Snowflake組織唯一識別帳戶。 若要這麼做,您必須在帳戶名稱前加上組織名稱。 例如: orgname-account_name 。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。 |
username |
您Snowflake帳戶的使用者名稱。 |
privateKey |
您Base64-帳戶的Snowflake編碼私密金鑰。 您可以產生加密或未加密的私密金鑰。 如果您使用加密的私密金鑰,則在對Experience Platform進行驗證時,也必須提供私密金鑰複雜密碼。 如需詳細資訊,請參閱擷取 Snowflake 私密金鑰的指南。 |
passphrase |
複雜密碼是附加的安全性層級,在使用加密的私密金鑰進行驗證時必須使用此層級。 如果您使用未加密的私密金鑰,則不需要提供複雜密碼。 |
database |
包含您要擷取至Experience Platform之資料的Snowflake資料庫。 |
warehouse |
Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料帶到Experience Platform時必須個別存取。 |
如需這些值的詳細資訊,請參閱Snowflake 金鑰組驗證指南。
擷取您的帳戶識別碼 retrieve-your-account-identifier
若要使用Experience Platform驗證您的Snowflake執行個體,您必須從Snowflake UI儀表板取得帳戶識別碼。
請依照下列步驟尋找您的帳戶識別碼:
- 在Snowflake 應用程式UI儀表板上瀏覽至您的帳戶。
- 在左側導覽中,選取 Accounts,然後從標頭中選取 Active Accounts。
- 接著,選取資訊圖示,然後選取並複製目前URL的網域名稱。
擷取您的私密金鑰 retrieve-your-private-key
如果您打算針對Snowflake連線使用金鑰組驗證,則必須在連線至Experience Platform之前產生私密金鑰。
若要產生加密的Snowflake私密金鑰,請在終端機上執行下列命令:
code language-shell |
---|
|
如果成功,您應該會收到PEM格式的私密金鑰。
code language-shell |
---|
|
若要產生未加密的Snowflake私密金鑰,請在終端機上執行下列命令:
code language-shell |
---|
|
如果成功,您應該會收到PEM格式的私密金鑰。
code language-shell |
---|
|
產生您的私密金鑰後,直接在Base64中進行編碼,無需對其格式或內容進行任何變更。 編碼之前,請確定私密金鑰的結尾沒有額外的空格或空白行(包括結尾的新行)。
驗證設定
在建立Snowflake資料的來源連線之前,您還必須確定符合下列設定:
- 指派給特定使用者的預設倉儲必須與您在向Experience Platform進行驗證時輸入的倉儲相同。
- 指派給特定使用者的預設角色,必須能存取您在向Experience Platform進行驗證時輸入的相同資料庫。
若要驗證您的角色與倉儲:
- 在左側導覽中選取 Admin,然後選取 Users & Roles。
- 選取適當的使用者,然後選取右上角的省略符號(
...
)。 - 在出現的Edit user視窗中,瀏覽至Default Role以檢視與指定使用者相關聯的角色。
- 在相同視窗中,瀏覽至Default Warehouse以檢視與指定使用者相關聯的倉儲。
成功編碼後,您就可以在Experience Platform上使用該Base64編碼私密金鑰來驗證您的Snowflake帳戶。
設定角色設定 configure-role-settings
您必須設定角色的許可權(即使已指派預設公用角色),以允許來源連線存取相關Snowflake資料庫、結構描述和表格。 不同Snowflake個實體的各種許可權如下:
如需角色與許可權管理的詳細資訊,請參閱Snowflake API參考。
限制和常見問答 limitations-and-frequently-asked-questions
-
Snowflake來源的資料輸送量為每秒2000筆記錄。
-
訂價會因倉儲的有效時間長短及倉儲大小而有所不同。 對於Snowflake來源整合,最小大小x小型倉儲就足夠了。 建議啟用自動暫停,以便倉儲在不使用時能夠自行暫停。
-
Snowflake來源每10秒輪詢資料庫是否有新資料。
-
設定選項:
-
建立來源連線時,您可以為
backfill
來源啟用Snowflake布林值標幟。- 如果回填設為true,則timestamp.initial的值會設為0。 這表示會擷取時間戳記欄超過0紀元時間的資料。
- 如果回填設為false,則timestamp.initial的值會設為–1。 這表示會擷取時間戳記欄大於目前時間(來源開始擷取的時間)的資料。
-
時間戳記資料行的格式應該是:
TIMESTAMP_LTZ
或TIMESTAMP_NTZ
。 如果時間戳記資料行設為TIMESTAMP_NTZ
,則儲存值的對應時區應透過timezoneValue
引數傳遞。 如果未提供,此值將預設為UTC。TIMESTAMP_TZ
不能用於時間戳記資料行或對應中。
-
後續步驟
下列教學課程提供如何使用API將您的Snowflake串流來源連線至Experience Platform的步驟: