

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# AWS Transfer Family 受管工作流程
<a name="transfer-workflows"></a>

 AWS Transfer Family 支援 受管工作流程以進行檔案處理。透過 受管工作流程，您可以在檔案透過 SFTP、FTPS 或 FTP 傳輸之後啟動工作流程。使用此功能，您可以協調檔案處理所需的所有必要步驟，以安全且經濟實惠的方式滿足您的business-to-business (B2B) 檔案交換合規要求。此外，您可以受益於end-to-end稽核和可見性。

![\[流程圖顯示受管工作流程如何協助處理檔案。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/workflows-diagram.png)


透過協調檔案處理任務，受管工作流程可協助您在下游應用程式取用資料之前預先處理資料。這類檔案處理任務可能包括：
+ 將檔案移至使用者特定的資料夾。
+ 將檔案解密為工作流程的一部分。
+ 標記檔案。
+ 透過建立 AWS Lambda 函數並將其連接至工作流程來執行自訂處理。
+ 成功傳輸檔案時傳送通知。（如需詳細說明此使用案例的部落格文章，請參閱[使用 AWS Transfer Family 受管工作流程自訂檔案交付通知](https://aws.amazon.com/blogs/storage/customize-file-delivery-notifications-using-aws-transfer-family-managed-workflows/)。)

若要快速複寫和標準化組織中跨多個業務單位的常見上傳後檔案處理任務，您可以使用基礎設施即程式碼 (IaC) 部署工作流程。您可以指定要在完整上傳的檔案上啟動的受管工作流程。您也可以指定不同的受管工作流程，以便在因為過早中斷連線而僅部分上傳的檔案上啟動。內建例外狀況處理可協助您快速回應檔案處理結果，同時讓您控制如何處理失敗。此外，每個工作流程步驟都會產生詳細的日誌，您可以稽核以追蹤資料歷程。

若要開始使用，請執行下列任務：

1. 設定您的工作流程以包含預先處理動作，例如根據您的需求複製、標記和其他步驟。如需詳細資訊，請參閱 [建立工作流程](create-workflow.md)。

1. 設定執行角色，供 Transfer Family 用來執行工作流程。如需詳細資訊，請參閱 [工作流程的 IAM 政策](workflow-execution-role.md)。

1. 將工作流程映射到伺服器，以便在檔案送達時，即時評估和啟動此工作流程中指定的動作。如需詳細資訊，請參閱 [設定和執行工作流程](create-workflow.md#configure-workflow)。

**相關資訊**
+ 若要監控工作流程執行，請參閱 [使用 Transfer Family 伺服器的 CloudWatch 指標](metrics.md)。
+ 如需詳細的執行日誌和疑難排解資訊，請參閱 [使用 Amazon CloudWatch 對工作流程相關錯誤進行故障診斷](workflow-issues.md#workflows-cloudwatch-errors)。
+ Transfer Family 提供部落格文章和研討會，引導您建置檔案傳輸解決方案。此解決方案利用 AWS Transfer Family 受管 SFTP/FTPS 端點和 Amazon Cognito 和 DynamoDB 進行使用者管理。

  部落格文章可在[使用 Amazon Cognito 做為 AWS Transfer Family 和 Amazon S3 的身分提供者](https://aws.amazon.com/blogs/storage/using-amazon-cognito-as-an-identity-provider-with-aws-transfer-family-and-amazon-s3/)取得。您可以在[此處](https://catalog.workshops.aws/transfer-family-sftp/en-US)檢視研討會的詳細資訊。
+ 以下影片提供 Transfer Family 受管工作流程的簡介。  
[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/t-iNqCRospw/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/t-iNqCRospw)
+ 以下研討會提供實作實驗室，以建置全自動化和事件驅動的工作流程，涉及將檔案傳輸到外部 SFTP 伺服器或從外部 SFTP 伺服器傳輸到 Amazon S3，以及這些檔案的常見前置和後置處理：[事件驅動的 MFT 研討會](https://catalog.us-east-1.prod.workshops.aws/workshops/e55c90e0-bbb0-47e1-be83-6bafa3a59a8a/en-US)。

  此影片提供本研討會的逐步解說。  
[![AWS Videos](http://img.youtube.com/vi/https://www.youtube.com/embed/oojopisG4lA/0.jpg)](http://www.youtube.com/watch?v=https://www.youtube.com/embed/oojopisG4lA)

**Topics**
+ [建立工作流程](create-workflow.md)
+ [使用預先定義的步驟](nominal-steps-workflow.md)
+ [使用自訂檔案處理步驟](custom-step-details.md)
+ [工作流程的 IAM 政策](workflow-execution-role.md)
+ [工作流程的例外狀況處理](#exception-workflow)
+ [監控工作流程執行](cloudwatch-workflow.md)
+ [從範本建立工作流程](workflow-template.md)
+ [從 Transfer Family 伺服器移除工作流程](#remove-workflow-association)
+ [受管工作流程的限制](#limitations-workflow)

如需 受管工作流程入門的更多說明，請參閱下列資源：
+ [AWS Transfer Family 受管工作流程](https://www.youtube.com/watch?v=t-iNqCRospw)示範影片
+ [使用 AWS Transfer Family 工作流程部落格文章建置雲端原生檔案傳輸平台](https://aws.amazon.com/blogs/architecture/building-a-cloud-native-file-transfer-platform-using-aws-transfer-family-workflows/) 

## 工作流程的例外狀況處理
<a name="exception-workflow"></a>

如果在工作流程執行期間發生任何錯誤，則會執行您指定的例外狀況處理步驟。您可以指定工作流程的錯誤處理步驟，方式與指定工作流程的標稱步驟相同。例如，假設您已在名目步驟中設定自訂處理，以驗證傳入的檔案。如果檔案驗證失敗，例外狀況處理步驟可以傳送電子郵件給管理員。

下列範例工作流程包含兩個步驟：
+ 檢查上傳檔案是否為 CSV 格式的名目步驟
+ 例外狀況處理步驟，會在上傳的檔案不是 CSV 格式且名目步驟失敗時傳送電子郵件

若要啟動例外狀況處理步驟，名目步驟中的 AWS Lambda 函數必須以 回應`Status="FAILURE"`。如需工作流程中錯誤處理的詳細資訊，請參閱 [使用自訂檔案處理步驟](custom-step-details.md)。

![\[\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/workflow-exception-sample.png)


## 從 Transfer Family 伺服器移除工作流程
<a name="remove-workflow-association"></a>

如果您已將工作流程與 Transfer Family 伺服器建立關聯，且現在想要移除該關聯，您可以使用主控台或以程式設計方式執行此操作。

------
#### [ Console ]

**從 Transfer Family 伺服器移除工作流程**

1. 在 https：//[https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) 開啟 AWS Transfer Family 主控台。

1. 在左側導覽窗格中，選擇**伺服器**。

1. 在伺服器 **ID **欄中選擇伺服器的識別符。

1. 在伺服器的詳細資訊頁面上，向下捲動至**其他詳細資訊**區段，然後選擇**編輯**。

1. 在**編輯其他詳細資訊**頁面的**受管工作流程**區段中，清除所有設定的資訊：
   + 從工作流程的工作流程清單中選取破折號 (-) **以完成檔案上傳**。
   + 如果尚未清除，請從工作流程清單中選取破折號 (-) **以進行部分檔案上傳**。
   +  從**受管工作流程執行**角色的角色清單中選取破折號 (-)。

   如果您沒有看到破折號，請向上捲動直到看到它，因為它是每個選單中的第一個值。

   畫面看起來應該如下所示。  
![\[受管工作流程窗格，顯示所有參數已清除。\]](http://docs.aws.amazon.com/zh_tw/transfer/latest/userguide/images/workflows-remove-from-server.png)

1. 向下捲動並選擇**儲存**以儲存變更。

------
#### [ CLI ]

您可以使用 `update-server`（或 `UpdateServer` API) 呼叫，並為 `OnUpload`和 `OnPartialUpload` 參數提供空引數。

從 中 AWS CLI，執行下列命令：

```
aws transfer update-server --server-id your-server-id --workflow-details '{"OnPartialUpload":[],"OnUpload":[]}'
```

`your-server-id` 以您伺服器的 ID 取代 。例如，如果您的伺服器 ID 為 `s-01234567890abcdef`，則命令如下：

```
aws transfer update-server --server-id s-01234567890abcdef --workflow-details '{"OnPartialUpload":[],"OnUpload":[]}'
```

------

## 受管工作流程的限制
<a name="limitations-workflow"></a>

**限制**

下列限制目前適用於 的上傳後處理工作流程 AWS Transfer Family。
+ 不支援跨帳戶和跨區域 AWS Lambda 函數。不過，您可以跨帳戶複製 ，但前提是您的 AWS Identity and Access Management (IAM) 政策已正確設定。
+ 對於所有工作流程步驟，工作流程存取的任何 Amazon S3 儲存貯體都必須與工作流程本身位於相同的區域。
+ 對於解密步驟，解密目的地必須符合區域和備份存放區的來源 （例如，如果要解密的檔案存放在 Amazon S3 中，則指定的目的地也必須在 Amazon S3 中）。
+ 僅支援非同步自訂步驟。
+ 自訂步驟逾時為近似值。也就是說，逾時可能需要比指定的時間稍長。此外，工作流程取決於 Lambda 函數。因此，如果函數在執行期間延遲，則工作流程不會知道延遲。
+ 如果您超過限流限制，Transfer Family 不會將工作流程操作新增至佇列。
+ 大小為 0 的檔案不會啟動工作流程。大小大於 0 的檔案會啟動相關聯的工作流程。
+ 您可以將檔案處理工作流程連接至使用 AS2 通訊協定的 Transfer Family 伺服器：不過，AS2 訊息不會執行連接到伺服器的工作流程。

**限制**

 此外，下列功能限制適用於 Transfer Family 的工作流程：
+ 每個 帳戶每個區域的工作流程數量限制為 10 個。
+ 自訂步驟的逾時上限為 30 分鐘。
+ 工作流程中的步驟數目上限為 8。
+ 每個工作流程的標籤數量上限為 50。
+ 包含解密步驟的並行執行數目上限為每個工作流程 250 個。
+ 每個使用者每個 Transfer Family 伺服器最多可存放 3 個 PGP 私有金鑰。
+ 解密檔案的大小上限為 10 GB。
+ 我們會使用爆量容量為 100 且重新填充速率為 1 的[字符儲存貯](https://en.wikipedia.org/wiki/Token_bucket)體系統來調節新的執行速率。
+ 每當您從伺服器移除工作流程並將其取代為新的工作流程，或更新伺服器組態 （這會影響工作流程的執行角色） 時，您必須等待大約 10 分鐘，才能執行新的工作流程。Transfer Family 伺服器會快取工作流程詳細資訊，伺服器重新整理其快取需要 10 分鐘。

  此外，您必須登出任何作用中的 SFTP 工作階段，然後在 10 分鐘的等待期間之後重新登入，以查看變更。