擷取記錄處理
選取記錄並產生每筆記錄的輸出以寫入檔案,與外部系統進行整合的處理稱為「擷取處理」。基準批次控制「外掛導向的擷取範本」 (F1-PDBEX) 可作為範本。
對於擷取處理,「處理記錄」演算法負責傳回應該寫入一或多個 XML 實例中檔案的資料,以及描述 XML 實例的結構名稱。程式將按照「檔案格式」批次參數中所指示的格式將資料寫入檔案。服務預設會針對日期與時間使用 OUAF 格式。若要置換此格式並使用 XSD 格式,請將「日期時間格式」批次參數設定為 'XSD''。
如果現有結構符合輸出要求,就可以使用該結構。否則,您應該定義資料區域,以視需要指出記錄的輸出格式。請注意,您必須為結構中的每個元素定義適當的欄位。這對固定位置檔案格式來說是必要的,但對任何輸出格式而言,都是不錯的做法。如需其中包含為每個結構元素定義之欄位的資料區域範例,請參閱 F1-PDBGenProcExtractRecord。
設計與設定「處理記錄」演算法有兩個選項:
-
建立特定處理記錄演算法類型以封裝擷取邏輯。本產品提供基準演算法類型,說明要遵循的基本技術。如需詳細資訊,請參閱「一般處理 - 範例處理記錄擷取」(F1-GENPROCEX) 演算法類型。
-
建立檔案整合類型以定義要包含在擷取中的記錄,並設定參考該整合類型的外掛導向批次控制。如需實作此類型功能的相關詳細資訊,請參考使用檔案整合進行擷取。
您的特定邊緣產品可能提供其他立即可用的「處理記錄」演算法類型。請使用演算法類型查詢,並搜尋此演算法實體的記錄。
依記錄 XML 節點分組
<account type="group"
<accountId>1234567890</accountId>
...
</account>
<sa type="group"
<saId>123457665</saId>
...
</sa>
<sa type="group"
<saId>1234588913</saId>
...
</sa>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-AccountRecord</schemaName>
<schemaType>F1DA</schemaType>
<data><account><accountId>1234567890</accountId>...</data>
</SchemaInstance>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-SAInfo</schemaName>
<schemaType>F1DA</schemaType>
<data><sa><saId>123457665</saId>... </data>
</SchemaInstance>
<SchemaInstance>
<recordXMLNode>record</recordXMLNode>
<schemaName>CM-SAInfo</schemaName>
<schemaType>F1DA</schemaType>
<data><sa><saId>1234588913</saId>... </data>
</SchemaInstance>
<root>
<record>
<account>
<accountId>1234567890</accountId>
...
</account>
<sa>
<saId>123457665</saId>
...
</sa>
<sa>
<saId>1234588913</saId>
...
</sa>
</record>
<record>
<account>
<accountId>987654320</accountId>
...
</account>
<sa>
...
</sa>
</record>
</root>
多執行緒擷取
擷取資料時,有可能會因資料量的緣故,而必須以多執行緒的方式執行工作。在此情況下,系統會使用檔案名稱中所含的執行緒編號來產生個別的檔案。在指示檔案名稱時,您可以主動包含執行緒編號作為替代變數。如果沒有這麼做,系統會附加執行緒編號。
基於方便性,系統支援在最後將各種執行緒產生的擷取檔案串連起來。系統執行此作業的方式是尋找檔案名稱相符的檔案 (不含執行緒編號)。因此,如果串連參數為 true,檔案名稱不得包含日期或時間。請注意下列有關串連功能的事項:
- 每個檔案的內容會依「原樣」串連在一起。個別檔案如果有標頭、標尾或摘要資訊,則將該資訊合併在串連的檔案中會不合邏輯。如果想要單一標頭、標尾或摘要,必須以單一執行緒執行擷取。
- 若檔案名稱指示應使用 Zip 壓縮,則不支援串連。
- 會保留個別執行緒檔案。
- 請注意,如果檔案格式為 XML,針對個別執行緒所寫入檔案的寫入副檔名將會是 ".tmp"。
略過記錄
依預設,擷取處理預期每次呼叫「處理記錄」外掛都會傳回一或多個結構。(通常在設計任何處理時,「選取記錄」演算法只選取應該處理的記錄,而「處理記錄」演算法不需要確認記錄是否應為處理的一部分。)不過,如果需要檢查「處理記錄」外掛中的條件,並且發現不需要對此記錄擷取任何資料,則處理記錄演算法應將「已略過」輸出參數傳回 true,程式才不會寫入空白資料列。
請注意,如果檔案整合記錄擷取記錄演算法未傳回資料,檔案整合類型的基準處理記錄演算法 (F1-FILEX-PR) 會將「已略過」參數設為 true。
設定新的處理
「選取記錄」演算法的相關設定新的特設處理主題中說明的幾點適用於擷取處理。
就「處理記錄」演算法而言,它負責傳回一或多個結構實例,這些實例中會植入應該要寫入檔案的資訊。如果您的邊緣產品未提供適合的外掛,請建立演算法實體為批次控制 - 處理記錄的外掛指令檔。請注意,外掛會接收在「選取記錄」外掛定義之 SQL 中選取的所有資訊。
請參考設定使用檔案整合類型的擷取處理,以取得設計使用此組態之擷取的資訊。
如果需要新的處理指令檔,請為新建立的指令檔定義演算法類型和演算法。透過複製基準範本 F1-PDBEX 建立批次控制。請外掛在上述步驟中建立的演算法,並視需要設定參數。請注意,如有必要,您可以在批次控制上設定自訂特設參數。基準和自訂批次參數值都可供「選取記錄」和「處理記錄」外掛演算法使用。