Beta Ultimate

串流 Snowflake 使用進行Experience Platform的資料 Flow Service API

重要
  • 此 Snowflake 串流來源為測試版。 請閱讀 來源概觀 以取得有關使用測試版標籤來源的詳細資訊。
  • 此 Snowflake 已購買Real-time Customer Data Platform Ultimate的使用者可在API中使用串流來源。

本教學課程提供如何連線並串流資料的步驟。 Snowflake Adobe Experience Platform帳戶,使用 [Flow Service API] (https://www.adobe.io/experience-platform-apis/references/flow-service/).

快速入門

本指南需要您實際瞭解下列Adobe Experience Platform元件:

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

如需先決條件設定及相關資訊,請參閱 Snowflake 串流來源。 請閱讀 Snowflake 串流來源概觀.

使用平台API

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

建立基礎連線

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

POST若要建立基本連線ID,請向 /connections 端點,同時提供 Snowflake 要求內文中的驗證認證。

API格式

POST /connections

要求

下列要求會建立 Snowflake:

秘訣

auth.specName 輸入的值必須與下面的範例完全相同,包括空格。

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": "Basic Authentication for Snowflake",
          "params": {
              "account": "wixnnnd-ui60793.snowflakecomputing.com",
              "database": "ACME_DB",
              "warehouse": "ACME_WH",
              "username": "nikola15",
              "schema": "PUBLIC",
              "password": "xxxx",
              "role": "ACCOUNTADMIN"
          }
      },
      "connectionSpec": {
          "id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
          "version": "1.0"
      }
  }'
屬性 說明
auth.params.account 您的名稱 Snowflake 串流帳戶。
auth.params.database 您的名稱 Snowflake 從中提取資料的資料庫。
auth.params.warehouse 您的名稱 Snowflake 倉儲。 此 Snowflake warehouse會管理應用程式的查詢執行程式。 每個倉儲彼此獨立,且在將資料帶到Platform時必須個別存取。
auth.params.username 您的使用者名稱 Snowflake 串流帳戶。
auth.params.schema (選用)與下列專案關聯的資料庫結構: Snowflake 串流帳戶。
auth.params.password 您的密碼 Snowflake 串流帳戶。
auth.params.role (選用)此專案的使用者角色 Snowflake 連線。 如果未提供,則此值預設為 public.
connectionSpec.id 此 Snowflake 連線規格ID: 51ae16c2-bdad-42fd-9fce-8d5dfddaf140.

回應

成功回應會傳回新建立的基本連線及其對應的電子標籤。

{
    "id": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
    "etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}

探索您的資料表格

接下來,使用基本連線ID透過向以下專案發出GET請求,以探索並瀏覽來源的資料表: /connections/{BASE_CONNECTION_ID}/explore?objectType=root 端點時,將基本連線ID作為引數提供。

API格式

GET /connections/{BASE_CONNECTION_ID}/explore?objectType=root
參數 說明
{BASE_CONNECTION_ID} 您的的基本連線ID Snowflake 串流來源。

要求

以下請求會擷取您的結構和內容 Snowflake 串流帳戶。

curl -X GET \
  'https://platform.adobe.io/data/foundation/flowservice/connections/1b614dc0-b76e-41e1-b25f-09f4a9d3f111/explore?objectType=root' \
  -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}'

回應

成功的回應會在根層級傳回來源資料的結構和內容。

{
    "items": [
        {
            "type": "table",
            "name": "ACME"
        }
    ]
}
屬性 說明
items.type 表格的型別。
items.names 表格的名稱。

建立來源連線

來源連線會建立和管理與擷取資料之外部來源的連線。

POST若要建立來源連線,請向 /sourceConnections 的端點 Flow Service API。

API格式

POST /sourceConnections

要求

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/sourceConnections' \
  -H 'authorization: Bearer {ACCESS_TOKEN}' \
  -H 'content-type: application/json' \
  -H 'x-api-key: {API_KEY}' \
  -H 'x-gw-ims-org-id: {ORG_ID}' \
  -H 'x-sandbox-name: {SANDBOX_NAME}' \
  -d '{
      "name": "Snowflake Streaming Source Connection",
      "description": "A source connection for Snowflake Streaming data",
      "baseConnectionId": "1b614dc0-b76e-41e1-b25f-09f4a9d3f111",
      "connectionSpec": {
          "id": "51ae16c2-bdad-42fd-9fce-8d5dfddaf140",
          "version": "1.0"
      },
      "params": {
          "tableName": "ACME",
          "timestampColumn": "dOb",
          "backfill": "true"
      }
  }'
屬性 說明
baseConnectionId 貴機構的已驗證基本連線ID Snowflake 串流來源。 此ID是在先前的步驟中產生的。
connectionSpec.id 的連線規格ID Snowflake 串流來源。
params.tableName 中的表格名稱 Snowflake 要帶到Platform的資料庫。
params.timestampColumn 用於擷取增量值的時間戳記資料行名稱。
params.backfill 布林值旗標,可判斷資料是從開始(0紀元時間)擷取,還是從來源起始時間擷取。 如需此值的詳細資訊,請閱讀 Snowflake 串流來源概觀.

回應

成功的回應會傳回您的來源連線ID及其對應的etag。 來源連線ID將用於後續步驟以建立資料流。

{
    "id": "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6",
    "etag": "\"d300cf4e-0000-0200-0000-6447a7750000\""
}

建立資料流

若要建立資料流以串流瀏覽的資料 Snowflake 帳戶至平台,您必須向以下網站發出POST請求: /flows 端點,並提供下列值:

秘訣

請依照下列連結取得如何擷取下列ID的逐步指南。

API格式

POST /flows

要求

以下請求會為您的建立串流資料流 Snowflake 帳戶。

curl -X POST \
  'https://platform.adobe.io/data/foundation/flowservice/flows' \
  -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 Streaming Dataflow",
      "description": "A dataflow for Snowflake streaming data",
      "sourceConnectionIds": [
        "61c0c5f1-bfe5-40f7-8f8c-a4dc175ddac6"
      ],
      "targetConnectionIds": [
        "78f41c31-3652-4a5e-b264-74331226dcf3"
      ],
      "flowSpec": {
        "id": "c1a19761-d2c7-4702-b9fa-fe91f0613e81",
        "version": "1.0"
      },
      "transformations": [
        {
          "name": "Mapping",
          "params": {
            "mappingId": "44d42ed27c46499a80eb0c0705c38cbd",
            "mappingVersion": 0
          }
        }
      ]
    }'
屬性 說明
sourceConnectionIds 您的來源連線ID Snowflake 串流來源。
targetConnectionIds 您的目標連線ID Snowflake 串流來源。
flowSpec.id 為建立資料流的流程規格ID Snowflake 串流來源。 此流程規格ID可讓您使用對應轉換建立串流資料流。 此ID已修正,且為: c1a19761-d2c7-4702-b9fa-fe91f0613e81.
transformations.params.mappingId 資料流的對應ID。

回應

成功回應會傳回您的流量ID及其對應的etag。

{
    "id": "2edc08ac-4df5-4fe6-936f-81a19ce92f5c",
    "etag": "\"770029f8-0000-0200-0000-6019e7d40000\""
}

後續步驟

依照本教學課程所述,您已為您的建立串流資料流 Snowflake 資料使用 Flow Service API。 如需Adobe Experience Platform來源的其他資訊,請瀏覽下列檔案:

本頁內容