

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ワークフローを作成する
<a name="create-workflow"></a>

このトピックで説明されているように AWS マネジメントコンソール、 を使用してマネージドワークフローを作成できます。ワークフローの作成プロセスをできるだけ簡単にするために、コンソールのほとんどのセクションでコンテキストヘルプパネルを使用できます。

ワークフローには次の 2 種類のステップがあります。
+ **ノミナルステップ** — ノミナルステップは、受信ファイルに適用したいファイル処理ステップです。ノミナルステップを複数選択した場合、各ステップは線形シーケンスで処理されます。
+ **例外処理ステップ** – 例外ハンドラーは、わずかなステップが失敗したり、検証エラーが発生した場合に AWS Transfer Family 実行されるファイル処理ステップです。

**ワークフローを作成する**

1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) で AWS Transfer Family コンソールを開きます。

1. ナビゲーションペインで [**Workflows**] (ワークフロー) を選択します。

1. [**Workflows**] (ワークフロー) ページで [**Create workflow**] (ワークフローの作成) を選択します。

1. 「**ワークフローの作成**」ページで、説明を入力します。この説明は [**Workflows**] (ワークフロー) ページに表示されます。

1. **[ノミナルステップ]** セクションで **[ステップを追加]** を選択します。1 つ以上のステップを追加します。

   1. 使用可能なオプションからステップタイプを選択します。各種ステップの詳細については、[事前定義されたステップを使用する](nominal-steps-workflow.md) を参照してください。

   1. [**Next**] (次へ) を選択してからステップのパラメータを設定します。

   1. [**Next**] (次へ) を選択してからステップの詳細を見直します。

   1. 「**ステップの作成**」を選択してステップを追加し、次に進みます。

   1. 必要に応じて、ステップを追加し続けます。ワークフローの最大ステップ数は 8 です。

   1. 必要なノミナルステップをすべて追加したら、**[例外ハンドラー — オプション]** セクションまでスクロールし、**[ステップを追加]** を選択します。
**注記**  
リアルタイムで失敗を通知できるように、ワークフローが失敗したときに実行する例外ハンドラーとステップを設定することをお勧めします。

1. 例外ハンドラを設定するには、前述と同じ方法でステップを追加します。いずれかのステップでファイルに起因する例外が発生すると、例外ハンドラが 1 つずつ呼び出されます。

1. (オプション) **[タグ]** セクションまでスクロールダウンし、ワークフローのタグを追加します。

1. 設定を見直して [**Create workflow**] (ワークフローの作成) を選択します。
**重要**  
ワークフローを作成した後は編集できないため、設定を注意深く確認してください。

## ワークフローの設定と実行
<a name="configure-workflow"></a>

ワークフローを実行する前に、そのワークフローを Transfer Family サーバーに関連付ける必要があります。

**アップロードされたファイルに対してワークフローを実行するように Transfer Family を設定するには**

1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) で AWS Transfer Family コンソールを開きます。

1. 左側のナビゲーションペインで [**Servers**] (サーバー) を選択します。
   + ワークフローを既存のサーバーに追加するには、ワークフローで使用するサーバーを選択します。
   + または、新しいサーバーを作成して、そのサーバーにワークフローを追加します。詳細については、「[SFTP、FTPS、または FTP サーバーエンドポイントの設定](tf-server-endpoint.md)」を参照してください。

1. サーバーの詳細ページで下にスクロールして [**Additional details**] (その他の詳細) セクションで [**Edit**] (編集) を選択します。
**注記**  
 デフォルトでは、サーバーに関連付けられたワークフローはありません。[**Additional details**] (その他の詳細) セクションを使用して、選択したサーバーにワークフローを関連付けます。

1. 「**追加詳細の編集**」ページの「**管理ワークフロー**」セクションで、すべてのアップロードに対して実行するワークフローを選択します。
**注記**  
ワークフローがまだない場合は、「**新しいワークフローを作成する**」を選択し、ワークフローを作成します。

   1. 使用するワークフロー ID を選択します。

   1. 実行ロールを選択します。これは、Transfer Family がワークフローのステップを実行するときに引き受ける役割です。詳細については、「[ワークフローの IAM ポリシー](workflow-execution-role.md)」を参照してください。**[保存]** を選択します。  
![\[マネージドワークフロー画面。ワークフローと実行ロールの値が表示されます。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflows-addtoserver.png)

**注記**  
ワークフローをサーバーに関連付けたくない場合は、関連付けを削除できます。詳細については、「[Transfer Family サーバーからワークフローを削除する](transfer-workflows.md#remove-workflow-association)」を参照してください。

「**ワークフローを実行する**」

ワークフローを実行するには、関連付けられたワークフローで設定した Transfer Family サーバーにファイルをアップロードします。

**注記**  
サーバーからワークフローを削除し、新しいワークフローに置き換える場合、またはサーバー構成を更新する場合（ワークフローの実行ロールに影響する）、新しいワークフローを実行する前に約 10 分間待機する必要があります。Transfer Family サーバーはワークフローの詳細をキャッシュし、サーバーがキャッシュを更新するのに10分かかります。  
さらに、アクティブな SFTP セッションからログアウトし、10 分間の待ち時間の後にログインし直すと、変更を確認できます。

**Example**  

```
# Execute a workflow
> sftp bob@s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com

Connected to s-1234567890abcdef0.server.transfer.us-east-1.amazonaws.com.
sftp> put doc1.pdf
Uploading doc1.pdf to /amzn-s3-demo-bucket/home/users/bob/doc1.pdf
doc1.pdf                                                                    100% 5013KB 601.0KB/s   00:08    
sftp> exit
>
```

ファイルがアップロードされると、定義されたアクションがファイルに対して実行されます。たとえば、ワークフローにコピーステップが含まれている場合、そのステップで定義した場所にファイルがコピーされます。Amazon CloudWatch Logs を使用して、実行されたステップとその実行ステータスを追跡することができます。

## ワークフロー詳細の表示
<a name="view-details-workflow"></a>

以前に作成したワークフローの詳細や、ワークフローの実行状況を見ることができます。これらの詳細を表示するには、 コンソールまたは AWS Command Line Interface () を使用できますAWS CLI。

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

**ワークフロー詳細の表示**

1. [https://console.aws.amazon.com/transfer/](https://console.aws.amazon.com/transfer/) で AWS Transfer Family コンソールを開きます。

1. ナビゲーションペインで [**Workflows**] (ワークフロー) を選択します。

1. [**Workflows**] (ワークフロー) ページでワークフローを選択します。

   ワークフローの詳細ページが開きます。  
![\[Transfer Family ワークフローのワークフロー詳細画面。説明、ステップ、例外ハンドラー、および処理中の実行が表示されます。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflows-overview.png)

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

ワークフローの詳細を表示するには、次の例に示すように CLI で `describe-workflow` コマンドを使用します。ワークフロー ID `w-1234567890abcdef0` を独自の値に置き換えます。詳細については、「AWS CLI コマンドリファレンス」の「[describe-workflow](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/transfer/describe-workflow.html)」を参照してください。

```
# View Workflow details
> aws transfer describe-workflow --workflow-id w-1234567890abcdef0
{
    "Workflow": {
        "Arn": "arn:aws:transfer:us-east-1:111122223333:workflow/w-1234567890abcdef0",
        "WorkflowId": "w-1234567890abcdef0",
        "Name": "Copy file to shared_files",
        "Steps": [
            {
                "Type": "COPY",
                "CopyStepDetails": {
                "Name": "Copy to shared",
                "FileLocation": {
                    "S3FileLocation": {
                        "Bucket": "amzn-s3-demo-bucket",
                        "Key": "home/shared_files/"
                    }
                }
                }
            }
        ],
        "OnException": {}
    }
}
```

------

ワークフローが AWS CloudFormation スタックの一部として作成された場合は、 CloudFormation コンソール ([https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/)) を使用してワークフローを管理できます。

![\[スタックの一部であるワークフローのワークフロー詳細画面には AWS CloudFormation 、CloudFormation でこのワークフローを管理するメッセージが表示されます。\]](http://docs.aws.amazon.com/ja_jp/transfer/latest/userguide/images/workflows-cloudformation-link.png)
