[Ultimate]{class="badge positive"}

使用Snowflake API連線Flow Service至Experience Platform

IMPORTANT
Snowflake來源可在來源目錄中提供給已購買Real-Time Customer Data Platform Ultimate的使用者。

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

快速入門

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

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

使用Experience Platform API

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

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

收集必要的認證

閱讀Snowflake 總覽以取得驗證的相關資訊。

在Azure上連線Snowflake至Experience Platform azure

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

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

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

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

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

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

API格式

POST /connections
連線字串
accordion
請求

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

code language-shell
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"
      }
  }'
table 0-row-2 1-row-2 2-row-2
屬性 說明
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
accordion
回應

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

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
使用加密私密金鑰的金鑰組驗證
accordion
請求
code language-shell
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"
    }
  }'
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
屬性 說明
auth.params.account 您的Snowflake帳戶名稱。
auth.params.username 與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database 將從其中提取資料的Snowflake資料庫。
auth.params.privateKey 您的Base64-帳戶的Snowflake編碼加密私密金鑰。
auth.params.privateKeyPassphrase 與您的私密金鑰對應的複雜密碼。
auth.params.warehouse 您正在使用的Snowflake倉儲。
connectionSpec.id Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。

code language-json
{
    "id": "2fce94c1-9a93-4971-8e94-c19a93097129",
    "etag": "\"d403848a-0000-0200-0000-5e978f7b0000\""
}
使用未加密私密金鑰的金鑰組驗證
accordion
請求
code language-shell
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 unencrypted private key",
      "description": "Snowflake base connection with unencrypted 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"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
屬性 說明
auth.params.account 您的Snowflake帳戶名稱。
auth.params.username 與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database 將從其中提取資料的Snowflake資料庫。
auth.params.privateKey Base64-帳戶的Snowflake編碼未加密私密金鑰。
auth.params.warehouse 您正在使用的Snowflake倉儲。
connectionSpec.id Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。

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

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

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

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

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

API格式

POST /connections
基本驗證

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

accordion
請求
code language-shell
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"
      }
  }'
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
屬性 說明
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資料庫關聯的結構描述名稱。 您必須確保您要授與資料庫存取權的使用者也擁有此綱要的存取權。
accordion
回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}
使用未加密私密金鑰的金鑰組驗證
accordion
請求
code language-shell
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 unencrypted private key",
      "description": "Snowflake base connection with unencrypted 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"
    }
  }'
table 0-row-2 1-row-2 2-row-2 3-row-2 4-row-2 5-row-2 6-row-2
屬性 說明
auth.params.account 您的Snowflake帳戶名稱。
auth.params.username 與您的Snowflake帳戶相關聯的使用者名稱。
auth.params.database 將從其中提取資料的Snowflake資料庫。
auth.params.privateKey Base64-帳戶的Snowflake編碼未加密私密金鑰。
auth.params.warehouse 您正在使用的Snowflake倉儲。
connectionSpec.id Snowflake連線規格識別碼: b2e08744-4f1a-40ce-af30-7abac3e23cf3
accordion
回應

成功的回應會傳回新建立連線的詳細資料,包括其唯一識別碼(id)。

code language-json
{
    "id": "4cb0c374-d3bb-4557-b139-5712880adc55",
    "etag": "\"1700d77b-0000-0200-0000-5e3b41a10000\""
}

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

recommendation-more-help
337b99bb-92fb-42ae-b6b7-c7042161d089