OSS對象檢查節點可用於通過FTP協議周期性檢測指定檔案是否存在。如果檔案存在,則啟動調度下遊任務;如果不存在,則按照配置的間隔時間重複資料偵測,直到滿足檢測的停止條件時停止檢測。該節點通常作為DataWorks調度系統與其他調度系統之間傳遞訊號使用。本文為您介紹使用OSS對象檢查節點的流程和注意事項。
節點介紹
OSS對象檢查節點的典型應用情境:當DataWorks調度系統中的任務需要訪問一個外部資料庫時,但由於該資料庫的相關資料寫入任務不在DataWorks中,DataWorks無法知道該資料庫何時完成寫入任務並可以被訪問。如果DataWorks讀取未寫入完成的資料,則可能導致讀取的資料不全或讀取失敗。為了保證DataWorks成功讀取完整的外部資料庫的資料,此時,可以讓其他調度系統在資料庫中的資料寫入任務完成後,在指定檔案系統中進行檔案標記(例如,產生一個.done檔案),表明該任務已完成。然後在DataWorks中配置一個OSS對象檢查節點,周期性檢測該.done檔案是否存在,當檢測到檔案存在時,表明該資料庫中的資料寫入任務已經完成,可以啟動調度需要訪問該資料庫資料的任務。
其他調度系統可以自行指定產生標記檔案的檔案系統。
本文以產生的標記檔案為
.done樣本,在實際使用中,您可以自訂標籤檔案的格式、名稱等資訊。
其他調度系統檢測到外部資料庫的資料已就緒(即資料寫入已完成,可以被訪問),會在指定的檔案系統中產生一個標記檔案,例如,
XXXX2024-09-29.done。本文以.done為尾碼的檔案作為標記檔案,您也可以根據業務需求,自訂標籤檔案。OSS資料來源讀取檔案系統中的標記檔案。
OSS對象檢查節點根據配置的檢測策略,定期檢測OSS資料來源中該標記檔案是否存在。
如果檢測到該標記檔案存在,則表示外部資料庫中的資料已準備就緒,可以被訪問,OSS對象檢查節點會將檢測成功的結果反饋至下遊節點。
如果檢測該標記檔案不存在,則表示外部資料庫中的資料未準備就緒,不能被訪問,OSS對象檢查節點會將檢測失敗並且不會將結果反饋至下遊節點,同時根據配置的檢測策略繼續檢測,直到達到預設的檢測上限後停止檢測。
下遊節點根據OSS對象檢查節點的反饋結果,選擇是否啟動訪問外部資料庫的資料。
如果OSS對象檢查節點反饋檢測成功,則下遊節點啟動訪問外部資料庫的資料。
如果OSS對象檢查節點反饋檢測失敗,則下遊節點不啟動訪問外部資料庫的資料。
下遊節點訪問外部資料庫的資料。
外部資料庫可以包含但不限於Oracle、MySQL、SQLServer等各類資料庫或儲存服務。
前提條件
RAM帳號添加至對應空間(可選)。
進行任務開發的RAM帳號已被添加至對應工作空間中,並具有開發或空間管理員(許可權較大,謹慎添加)角色許可權。新增成員並授權,詳情請參見為工作空間增加空間成員。
對應空間已綁定Serverless資源群組。詳情請參見:使用Serverless資源群組。
進行OSS對象檢查節點開發前,需建立對應的OSS對象檢查節點,詳情請參見:建立任務節點。
注意事項
分鐘和小時周期調度的任務,OSS對象檢查節點的Check停止策略不支援配置為Check停止時間,該類任務您只能選擇使用Check停止次數停止策略。
在任務運行時,將會通過MaxCompute訪問身份檢查OSS對象,請確認OSS Bucket使用權限設定。
在開發/生產環境中,將會通過空間管理員職責訪問身份檢查OSS對象,請確認OSS Bucket使用權限設定。
步驟一:開發OSS對象檢查節點
進入已建立OSS對象檢查節點後,即可按照介面提示進行配置。
配置檢查對象及檢測策略。
OSS對象:輸入OSS物件路徑,支援${bizdate}、${cyctime}等參數。
逾時時間:檢查節點檢查對象檔案的逾時時間。
OSS對象檢查節點在配置完檢測策略後,即可進行調度配置,詳情請參見調度配置。