全部產品
Search
文件中心

DataHub:建立同步Fc

更新時間:Jul 13, 2024

建立同步Fc

1. 建立Function ComputeFunction

1.1 建立Service

在Function Compute控制台中建立Service。去往Function Compute控制台。如果您已經建立過Function,可以忽略此步。

1.2 建立Function

在剛建立的Service下建立Function,點擊“建立函數”。並輸入您的代碼,詳細操作請參照建立函數。觸發器頁面點擊”跳過””即可,最後點擊完成。

2. 服務關聯角色授權

當選擇STS臨時帳號方式時,將會自動建立DataHub服務關聯角色,DataHub服務會使用此角色訪問Fc以完成資料同步

3. 建立DataHub Topic

參見Web控制台操作指南

4. 建立DataHub FunctionCompute Connector

4.1 進入Topic詳情頁

8-1

4.2 選擇建立FC Connector

8-2

4.3 填寫配置資訊

8-3

  • Endpoint: Function Compute服務地址,需填寫內網服務地址,格式為 https://<account_id>.fc.<region>.aliyuncs.com,例如,上海地區Function Compute的地址為:https://12423423992.fc.cn-shanghai-internal.aliyuncs.com。可參考Function Compute服務入口

  • Service: 目標Function Compute的服務名

  • Function: 目標Function Compute的函數名

  • 起始時間: 表示從DataHub的topic中哪個位置的記錄開始調用Function Compute

    5. Event結構定義

    發送到Function Compute的資料遵循以下資料結構定義:

{
  "eventSource": "acs:datahub",
  "eventName": "acs:datahub:putRecord",
  "eventSourceARN": "/projects/test_project_name/topics/test_topic_name",
  "region": "cn-hangzhou",
  "records": [
    {
      "eventId": "0:12345",
      "systemTime": 1463000123000,
      "data": "[\"col1's value\",\"col2's value\"]"
    },
    {
      "eventId": "0:12346",
      "systemTime": 1463000156000,
      "data": "[\"col1's value\",\"col2's value\"]"
    }
  ]
}

其中:

  • eventSource: 事件來源,此處為常字串acs:datahub;

  • eventName: 事件名稱,來自datahub的資料名稱為acs:datahub:putRecord;

  • eventSourceARN: 事件來源標識,包含datahub的project和topic名稱,如 /projects/test_project_name/topics/test_topic_name;

  • region: 事件來源DataHub所屬的地區,cn-hangzhou;

  • records: 事件包含的記錄列表

    • eventId: 記錄的ID,組成方式為,shardId:SequenceNumber;

    • systemTime: 該event存入DataHub的毫秒時間戳記;

    • data: 事件的資料內容,Tuple類型Topic該欄位為列表,其中每個元素均為string類型的資料對應每個topic中每個欄位的值; Blob類型Topic該欄位為string;

      6. 注意事項

  • 服務網域名稱需為內部服務網域名稱,Function Compute服務名、函數名需存在;

  • DataHub僅支援同步模式Invoke函數,保證資料處理順序;

  • 當函數發生執行階段錯誤時,DataHub會在1s之後進行重試,失敗次數達到512時,任務將被掛起;

  • 可在Web控制台查看任務運行狀態以及點位,詳細出錯資訊等;