創(chuàng)建同步Fc
創(chuàng)建同步Fc
1. 創(chuàng)建函數(shù)計(jì)算Function
1.1 新建Service
在函數(shù)計(jì)算控制臺中創(chuàng)建Service。去往函數(shù)計(jì)算控制臺。如果您已經(jīng)創(chuàng)建過Function,可以忽略此步。
1.2 新建Function
在剛創(chuàng)建的Service下創(chuàng)建Function,點(diǎn)擊“新建函數(shù)”。并輸入您的代碼,詳細(xì)操作請參照創(chuàng)建函數(shù)。觸發(fā)器頁面點(diǎn)擊”跳過””即可,最后點(diǎn)擊完成。
2. 服務(wù)關(guān)聯(lián)角色授權(quán)
當(dāng)選擇STS臨時賬號方式時,將會自動創(chuàng)建DataHub服務(wù)關(guān)聯(lián)角色,DataHub服務(wù)會使用此角色訪問Fc以完成數(shù)據(jù)同步
3. 創(chuàng)建DataHub Topic
4. 創(chuàng)建DataHub FunctionCompute Connector
4.1 進(jìn)入Topic詳情頁
4.2 選擇創(chuàng)建FC Connector
4.3 填寫配置信息
Endpoint: 函數(shù)計(jì)算服務(wù)地址,需填寫內(nèi)網(wǎng)服務(wù)地址,格式為
https://<account_id>.fc.<region>.aliyuncs.com
,例如,上海區(qū)域函數(shù)計(jì)算的地址為:https://12423423992.fc.cn-shanghai-internal.aliyuncs.com
。可參考函數(shù)計(jì)算服務(wù)入口。Service: 目標(biāo)函數(shù)計(jì)算的服務(wù)名
Function: 目標(biāo)函數(shù)計(jì)算的函數(shù)名
起始時間: 表示從DataHub的topic中哪個位置的記錄開始調(diào)用函數(shù)計(jì)算
5. Event結(jié)構(gòu)定義
發(fā)送到函數(shù)計(jì)算的數(shù)據(jù)遵循以下數(shù)據(jù)結(jié)構(gòu)定義:
{
"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的數(shù)據(jù)名稱為
acs:datahub:putRecord
;eventSourceARN: 事件來源標(biāo)識,包含datahub的project和topic名稱,如
/projects/test_project_name/topics/test_topic_name
;region: 事件來源DataHub所屬的區(qū)域,
cn-hangzhou
;records: 事件包含的記錄列表
eventId: 記錄的ID,組成方式為,
shardId:SequenceNumber
;systemTime: 該event存入DataHub的毫秒時間戳;
data: 事件的數(shù)據(jù)內(nèi)容,Tuple類型Topic該字段為列表,其中每個元素均為string類型的數(shù)據(jù)對應(yīng)每個topic中每個字段的值; Blob類型Topic該字段為string;
6. 注意事項(xiàng)
服務(wù)域名需為內(nèi)部服務(wù)域名,函數(shù)計(jì)算服務(wù)名、函數(shù)名需存在;
DataHub僅支持同步模式Invoke函數(shù),保證數(shù)據(jù)處理順序;
當(dāng)函數(shù)發(fā)生運(yùn)行時錯誤時,DataHub會在1s之后進(jìn)行重試,失敗次數(shù)達(dá)到512時,任務(wù)將被掛起;
可在Web控制臺查看任務(wù)運(yùn)行狀態(tài)以及點(diǎn)位,詳細(xì)出錯信息等;