文件Experience Platform來源連接器指南

Ultimate

使用Flow Service API連線Snowflake至Experience Platform

最後更新: 2025年6月12日
  • 主題:

建立對象:

  • 開發人員
重要
Snowflake來源可在來源目錄中提供給已購買Real-Time Customer Data Platform Ultimate的使用者。

閱讀本指南,瞭解如何使用Flow Service API將您的Snowflake來源帳戶連結至Adobe Experience Platform。

快速入門

本指南需要您深入了解下列 Adobe Experience Platform 元件:

  • 來源: Experience Platform允許從各種來源擷取資料,同時讓您能夠使用Experience Platform服務來建構、加標籤以及增強傳入的資料。
  • 沙箱: Experience Platform提供可將單一Experience Platform執行個體分割成個別虛擬環境的虛擬沙箱,以利開發及改進數位體驗應用程式。

使用Experience Platform API

如需如何成功呼叫Experience Platform API的詳細資訊,請參閱Experience Platform API快速入門指南。

以下章節提供您需瞭解的其他資訊,才能使用Flow Service API成功連線到Snowflake。

在Azure上連線Snowflake至Experience Platform

請閱讀下列步驟,以瞭解如何在Azure上將您的Snowflake來源連線至Experience Platform。

收集必要的認證

警告
Snowflake來源的基本驗證(或帳戶金鑰驗證)將於2025年11月被取代。 您必須移至金鑰組型驗證,才能繼續使用該來源,並將資料庫中的資料擷取至Experience Platform。 如需有關棄用的詳細資訊,請閱讀Snowflake 減少認證洩露風險的最佳實務指南。

您必須提供下列認證屬性的值,才能驗證您的Snowflake來源。

帳戶金鑰驗證
認證
說明
account
帳戶名稱可唯一識別組織內的帳戶。 在此情況下,您必須跨不同的Snowflake組織唯一識別帳戶。 若要這麼做,您必須在帳戶名稱前加上組織名稱。 例如: orgname-account_name。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。
warehouse
Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料帶到Experience Platform時必須個別存取。
database
Snowflake資料庫包含您要帶入Experience Platform的資料。
username
Snowflake帳戶的使用者名稱。
password
Snowflake使用者帳戶的密碼。
role
在Snowflake工作階段中使用的預設存取控制角色。 該角色應為已指派給指定使用者的現有角色。 預設角色為PUBLIC。
connectionString
用來連線至您Snowflake執行個體的連線字串。 Snowflake的連線字串模式為jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}
金鑰組驗證

若要使用金鑰組驗證,您必須產生2048位元RSA金鑰組,然後在建立Snowflake來源的帳戶時提供下列值。

認證
說明
account
帳戶名稱可唯一識別組織內的帳戶。 在此情況下,您必須跨不同的Snowflake組織唯一識別帳戶。 若要這麼做,您必須在帳戶名稱前加上組織名稱。 例如: orgname-account_name。 閱讀擷取 Snowflake 帳戶識別碼的指南,以取得其他指引。 如需詳細資訊,請參閱Snowflake 文件,以瞭解詳情。
username
您Snowflake帳戶的使用者名稱。
privateKey
您Snowflake帳戶的Base64-編碼私密金鑰。 您可以產生加密或未加密的私密金鑰。 如果您使用加密的私密金鑰,則在對Experience Platform進行驗證時,也必須提供私密金鑰複雜密碼。 如需詳細資訊,請參閱擷取 Snowflake 私密金鑰的指南。
privateKeyPassphrase
私密金鑰複雜密碼是附加的安全性層級,在使用加密的私密金鑰進行驗證時必須使用此層級。 如果您使用未加密的私密金鑰,則不需要提供複雜密碼。
database
包含您要擷取至Experience Platform之資料的Snowflake資料庫。
warehouse
Snowflake倉儲管理應用程式的查詢執行程式。 每個Snowflake倉儲彼此獨立,在將資料帶到Experience Platform時必須個別存取。

如需這些值的詳細資訊,請參閱Snowflake 金鑰組驗證指南。

NOTE
您必須將PREVENT_UNLOAD_TO_INLINE_URL標幟設定為FALSE,以允許從Snowflake資料庫將資料解除安裝至Experience Platform。

在Azure上的Experience Platform上為Snowflake建立基礎連線

基本連線會保留來源與Experience Platform之間的資訊,包括來源的驗證認證、連線的目前狀態,以及唯一的基本連線ID。 基礎連線ID可讓您從來源內部探索及導覽檔案,並識別您要擷取的特定專案,包括其資料型別和格式的資訊。

若要建立基底連線ID,請在提供您的Snowflake驗證認證作為要求內文的一部分時,對/connections端點提出POST要求。

API格式

POST /connections
連線字串
要求

下列要求會建立Snowflake的基礎連線:

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection",
      "description": "Snowflake base connection",
      "auth": {
          "specName": "ConnectionString",
          "params": {
              "connectionString": "jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
屬性
說明
auth.params.connectionString
用來連線至您Snowflake執行個體的連線字串。 Snowflake的連線字串模式為jdbc:snowflake://{ACCOUNT_NAME}.snowflakecomputing.com/?user={USERNAME}&password={PASSWORD}&db={DATABASE}&warehouse={WAREHOUSE}。
connectionSpec.id
Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3。
回應

成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id)。 在下個教學課程中探索您的資料時,需要此ID。

{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
使用加密私密金鑰的金鑰組驗證
要求
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "privateKeyPassphrase": "abcd1234",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
屬性
說明
auth.params.account
您的Snowflake帳戶名稱。
auth.params.username
與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database
將從其中提取資料的Snowflake資料庫。
auth.params.privateKey
您的Snowflake帳戶的Base64-編碼加密私密金鑰。
auth.params.privateKeyPassphrase
與您的私密金鑰對應的複雜密碼。
auth.params.warehouse
您正在使用的Snowflake倉儲。
connectionSpec.id
Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3。
回應

成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id)。 在下個教學課程中探索您的資料時,需要此ID。

{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
使用未加密私密金鑰的金鑰組驗證
要求
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection with encrypted private key",
      "description": "Snowflake base connection with encrypted private key",
      "auth": {
        "specName": "KeyPair Authentication",
        "params": {
            "account": "acme-snowflake123",
            "username": "acme-cj123",
            "database": "ACME_DB",
            "privateKey": "{BASE_64_ENCODED_PRIVATE_KEY}",
            "warehouse": "COMPUTE_WH"
        }
    },
    "connectionSpec": {
        "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
        "version": "1.0"
    }
  }'
屬性
說明
auth.params.account
您的Snowflake帳戶名稱。
auth.params.username
與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database
將從其中提取資料的Snowflake資料庫。
auth.params.privateKey
Snowflake帳戶的Base64-編碼未加密私密金鑰。
auth.params.warehouse
您正在使用的Snowflake倉儲。
connectionSpec.id
Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3。
回應

成功的回應會傳回新建立的連線,包括其唯一的連線識別碼(id)。 在下個教學課程中探索您的資料時,需要此ID。

{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}

將Snowflake連線到Amazon Web Services (AWS)上的Experience Platform

AVAILABILITY
本節適用於在Amazon Web Services (AWS)上執行的Experience Platform實作。 目前有限數量的客戶可使用在AWS上執行的Experience Platform 。 若要進一步瞭解支援的Experience Platform基礎結構,請參閱Experience Platform多雲端總覽。

請閱讀下列步驟,以瞭解如何將Snowflake來源連線至AWS上的Experience Platform。

在AWS的Experience Platform上為Snowflake建立基礎連線

API格式

POST /connections

要求

下列請求會建立Snowflake的基礎連線,以將日期擷取至AWS上的Experience Platform:

選取以檢視範例
curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/connections' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -H 'Content-Type: application/json' \
  -d '{
      "name": "Snowflake base connection for Experience Platform on AWS",
      "description": "Snowflake base connection for Experience Platform on AWS",
      "auth": {
          "specName": "Basic Authentication",
          "params": {
              "host": "acme.snowflakecomputing.com",
              "port": "443",
              "username": "acme-cj123",
              "password": "{PASSWORD}",
              "database": "ACME_DB",
              "warehouse": "COMPUTE_WH",
              "schema": "{SCHEMA}"
          }
      },
      "connectionSpec": {
          "id": "b2e08744-4f1a-40ce-af30-7abac3e23cf3",
          "version": "1.0"
      }
  }'
屬性
說明
auth.params.host
您的Snowflake帳戶連線到的主機URL。
auth.params.port
Snowflake透過網際網路連線到伺服器時使用的連線埠號碼。
auth.params.username
與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database
將從其中提取資料的Snowflake資料庫。
auth.params.password
與您的Snowflake帳戶關聯的密碼。
auth.params.warehouse
您正在使用的Snowflake倉儲。
auth.params.schema
與您的Snowflake資料庫關聯的結構描述名稱。 您必須確保您要授與資料庫存取權的使用者也擁有此綱要的存取權。

回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。 在下個教學課程中探索您的儲存空間時,需要此ID。

選取以檢視範例
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

依照此教學課程,您已使用Flow Service API建立Snowflake基礎連線。 您可以在下列教學課程中使用此基本連線ID:

  • 使用 Flow Service API探索資料表的結構和內容
  • 使用 Flow Service API建立資料流以將資料庫資料帶入Experience Platform
recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089