跳轉到主要內容
Finalize 端口用於完成被延遲的來源訊息。將其放在工作流程成功路徑的末端,用於確認工作流程已成功處理某個檔案,讓接收該檔案的端口執行其後續處理作業,例如刪除來源檔案。Finalize 端口隨知行之橋提供,不需要另外的授權。
只有 File 端口 可以延遲最終確定。其他來源端口不支援此功能。

核心功能

  • 延遲清理來源檔案,在下游工作流程成功之前不會刪除已接收的檔案
  • 自動處理逾時,釋放待處理檔案以供再次接收,且不刪除來源檔案
  • 無需設定即可關聯到來源端口,因為訊息本身攜帶了尋找來源端口所需的資訊
  • 訊息無法最終確定時提供清楚的錯誤訊息

概觀

預設情況下,File 端口等來源端口在接收到訊息後會立即完成該訊息。任何後續處理作業(例如從來源資料夾中刪除檔案)都會立即執行,即使下游工作流程隨後失敗也是如此。 在 File 端口上啟用 延遲最終確定接收的檔案 後,端口會將每個接收到的檔案保持為待處理狀態。Finalize 端口會在工作流程的其餘部分成功後完成該待處理檔案。 當訊息到達 Finalize 端口時,該端口會:
  1. 讀取訊息攜帶的延遲來源資訊。
  2. 找到接收該檔案的來源端口。
  3. 通知來源端口最終確定該檔案,從而觸發來源端口中設定的清理作業(例如,啟用 刪除檔案(接收後) 時刪除該檔案)。
Finalize 端口沒有輸出,只能作為工作流程中的最後一個端口使用。

端口配置

本節包含所有可設定的端口屬性。

設定索引標籤

與端口核心設定相關的設定。
設定描述
端口 Id端口的靜態、唯一識別碼。
端口型別顯示端口型別及其用途的描述。
端口描述一個可選欄位,用於提供端口及其在流中的角色的自由格式描述。

進階索引標籤

其他設定

日誌

用於管理日誌建立和儲存的設定。

設定描述
日誌級別指定要記錄在端口日誌目錄中的資訊型別:
  • None - 不建立任何日誌。
  • Error - 僅當端口遇到錯誤時才建立日誌。
  • Warning - 僅當端口發出警告時才建立日誌。
  • Info - 記錄工作流程的一般資訊,包括任何錯誤和警告(如果適用)。
  • Debug - 記錄成功和失敗工作流程的詳細偵錯資訊。
  • Trace - 記錄成功和失敗工作流程的詳細跟蹤資訊。
請注意:Debug 和 Trace 級別的日誌可能會記錄敏感資訊,包括訊息內容和 SSL 憑證。儘管連線屬性(例如密碼)被遮蔽了,但在與您的組織外部共享它們之前,請檢視此級別的日誌以避免洩漏敏感資訊。
日誌資料夾結構指示端口根據選定的時間間隔將日誌資料夾中的檔案分組。例如,Weekly 選項指示端口每週建立一個新的子資料夾,並將該周的所有日誌儲存在該資料夾中。空白設定告訴端口將所有日誌直接儲存在日誌資料夾中。對於處理許多交易的端口,使用子資料夾有助於保持日誌的有序性並提高效能。
保留訊息副本指示端口在日誌目錄中儲存最新訊息副本的切換。請注意,端口每個子資料夾只保留一個訊息,並且端口在再次執行時會覆蓋以前儲存的訊息。

其它

特殊設定適用於特定用例。

設定描述
其他設定允許在以分號分隔的清單中配置隱藏的端口設定,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用這些設定。

自動化索引標籤

自動化設定

與端口自動處理檔案相關的設定。

效能

與端口資源分配相關的設定。

設定描述
最大工作執行緒數此端口上處理檔案時從執行緒池中消耗的最大工作執行緒數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。
最大檔案數分配給端口的每個執行緒傳送的最大檔案數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。

通知索引標籤

SLA 索引標籤

交易索引標籤

此索引標籤列出了與該端口關聯的所有訊息。使用搜尋列尋找特定訊息,或點選漏斗圖示套用篩選條件。可以依時間、訊息方向和/或狀態進行篩選。

將 Finalize 與 File 端口搭配使用

若要將已接收檔案的刪除作業延遲到工作流程成功之後:
  1. 在接收檔案的 File 端口上,啟用 延遲最終確定接收的檔案;如果希望刪除來源檔案,還需啟用 刪除檔案(接收後)。請參閱接收。
  2. 建置處理該檔案的工作流程其餘部分。
  3. 新增一個 Finalize 端口,並將其連接到處理該檔案的最後一個端口的 成功路徑。
例如,某個工作流程先使用 File 端口接收檔案,再使用 X12 端口對其進行轉換,然後將資料 upsert 到 SQL Server,最後對檔案進行最終確定,其設定如下: 包含 File 端口、X12 端口、SQL Server 端口和 Finalize 端口的工作流程
  1. File 端口從其設定的路徑接收檔案,並將其保持為待處理狀態。
  2. X12 端口將檔案轉換為 XML。
  3. SQL Server 端口將 XML 資料 upsert 到 SQL Server。
  4. SQL Server 端口的 成功路徑 連接到 Finalize 端口,由 Finalize 端口完成該待處理檔案。
只有在工作流程開頭接收檔案的 File 端口才能延遲最終確定。工作流程後段用於將檔案傳送到資料夾的 File 端口不會延遲任何作業,但工作流程仍可以用一個 Finalize 端口結尾,以完成原始檔案。 在發生以下任一情況之前,檔案會一直保持待處理狀態,且不會被再次接收:
  • 檔案到達 Finalize 端口。 File 端口完成該檔案並執行設定的清理作業。
  • 達到待處理逾時時間。 此逾時由 File 端口 自動化索引標籤 上的 接收待處理逾時(分) 設定控制。訊息會被標記為 Pending Timeout 錯誤,來源檔案不會被刪除,並且該檔案會被釋放,以便可以再次接收。
並非來自已啟用延遲最終確定之端口的訊息無法被最終確定。將一般訊息傳送到 Finalize 端口會導致錯誤。

來源檔案變更

如果來源檔案在接收之後、最終確定之前發生了變更,端口不會刪除該檔案。應用程式日誌中會包含以下訊息,其中 {0} 為檔名: Source file '{0}' changed after it was received. Deferred finalization will not delete it.

待處理逾時

File 端口 自動化 索引標籤上的 接收待處理逾時(分) 設定控制已接收檔案保持待處理狀態的時長。預設值為 10 分鐘;設定為 0 時,檔案會無限期保持待處理狀態。如果待處理訊息在逾時之前未被最終確定:
  • 應用程式日誌會記錄該訊息在等待最終確定時超過了待處理逾時時間。
  • 系統會傳送一封主旨為 Send Failure: Pending Timeout 的錯誤通知。
  • 訊息會被標記為 Pending Timeout 錯誤,在 交易 索引標籤中顯示為 Error。
  • 來源檔案不會被刪除,該檔案將可以被再次接收。
待處理訊息檢查會以 檢查待處理 自動化動作的形式執行。在 Debug 日誌級別下,自動化日誌會記錄每次檢查以及其處理的逾時訊息數量。

延遲訊息資訊

為延遲最終確定而保留的檔案會在其訊息標頭中攜帶額外資訊。若要檢視這些標頭,請在 File 端口的 交易 索引標籤中開啟該訊息,然後前往 詳細資料 索引標籤。

疑難排解

當 Finalize 端口無法完成訊息時,會回報以下錯誤。