CreateWorkflow - AWS Transfer Family

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

CreateWorkflow

ファイル転送完了後にワークフローが呼び出す、指定されたステップとステップの詳細に従って、ワークフローを作成します。ワークフローの作成後に、CreateServer および UpdateServer のオペレーションで workflow-details フィールドを指定することで、作成したワークフローを任意の転送サーバーに関連付けることができます。

リクエストの構文

{ "Description": "string", "OnExceptionSteps": [ { "CopyStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string" }, "CustomStepDetails": { "Name": "string", "SourceFileLocation": "string", "Target": "string", "TimeoutSeconds": number }, "DecryptStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string", "Type": "string" }, "DeleteStepDetails": { "Name": "string", "SourceFileLocation": "string" }, "TagStepDetails": { "Name": "string", "SourceFileLocation": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }, "Type": "string" } ], "Steps": [ { "CopyStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string" }, "CustomStepDetails": { "Name": "string", "SourceFileLocation": "string", "Target": "string", "TimeoutSeconds": number }, "DecryptStepDetails": { "DestinationFileLocation": { "EfsFileLocation": { "FileSystemId": "string", "Path": "string" }, "S3FileLocation": { "Bucket": "string", "Key": "string" } }, "Name": "string", "OverwriteExisting": "string", "SourceFileLocation": "string", "Type": "string" }, "DeleteStepDetails": { "Name": "string", "SourceFileLocation": "string" }, "TagStepDetails": { "Name": "string", "SourceFileLocation": "string", "Tags": [ { "Key": "string", "Value": "string" } ] }, "Type": "string" } ], "Tags": [ { "Key": "string", "Value": "string" } ] }

リクエストパラメータ

すべてのアクションに共通のパラメータの詳細については、「共通パラメータ」を参照してください。

リクエストは以下の JSON 形式のデータを受け入れます。

Description

ワークフローの説明テキスト。

型: 文字列

長さの制限: 最小長は 0 です。最大長は 256 です。

パターン:[\w- ]*

必須: いいえ

OnExceptionSteps

ワークフローの実行中にエラーが発生した場合に実行する手順 (アクション) を指定します。

注記

カスタムステップの場合、Lambda 関数で FAILURE をコールバック API に送信して例外ステップを開始する必要があります。さらに、タイムアウトになる前に Lambda が SUCCESS を送信しない場合、例外ステップが実行されます。

タイプ:WorkflowStep オブジェクトの配列

配列メンバー:最小数は 0 項目です。最大 8 項目。

必須: いいえ

Steps

指定したワークフローに含まれるステップの詳細を指定します。

TYPE では、このステップで実行するものを以下のアクションから指定します。

  • COPY - ファイルを別の場所にコピーします。

  • CUSTOM - AWS Lambda 関数ターゲットを使用してカスタムステップを実行します。

  • DECRYPT - アップロード前に暗号化されていたファイルを復号化します。

  • DELETE - ファイルを削除します。

  • TAG - ファイルにタグを追加します。

注記

現在、コピーとタグ付けは S3 でのみサポートされています。

ファイルの場所として、Amazon S3 バケットとキー、または Amazon EFS ファイルシステム ID とパスのいずれかを指定します。

タイプ:WorkflowStep オブジェクトの配列

配列メンバー:最小数は 0 項目です。最大 8 項目。

必須: はい

Tags

ワークフローのグループ化および検索に使用できるキーバリューペア。タグとは、任意の目的でユーザーにアタッチされるメタデータです。

型: Tag オブジェクトの配列

配列メンバー:最小数は 1 項目です。最大数は 50 項目です。

必須:いいえ

レスポンスの構文

{ "WorkflowId": "string" }

レスポンス要素

アクションが成功すると、サービスは HTTP 200 レスポンスを返します。

サービスから以下のデータが JSON 形式で返されます。

WorkflowId

ワークフローの一意の識別子。

型: 文字列

長さの制限: 固定長は 19 です。

パターン:w-([a-z0-9]{17})

エラー

すべてのアクションに共通のエラーについては、「共通エラー」を参照してください。

AccessDeniedException

このアクションを実行する十分なアクセス権限がありません。

HTTP ステータスコード:400

InternalServiceError

この例外は、 AWS Transfer Family サービスでエラーが発生した場合にスローされます。

HTTP ステータスコード:500

InvalidRequestException

この例外は、クライアントが不正な形式のリクエストを送信した場合にスローされます。

HTTP ステータスコード:400

ResourceExistsException

要求されたリソースは存在しないか、コマンドに指定されたリージョン以外のリージョンに存在します。

HTTP ステータスコード:400

ServiceUnavailableException

AWS Transfer Family サービスが利用できないため、リクエストは失敗しました。

HTTP ステータスコード:500

ThrottlingException

リクエストのスロットリングにより、リクエストが拒否されました。

HTTP ステータスコード:400

次の例のように、ワークフローステップ情報をテキストファイルに保存し、そのファイルを使用してワークフローを作成できます。次の例では、ワークフローステップを example-file.json (コマンドを実行した場所と同じフォルダ内) に保存し、ワークフローをバージニア北部 (us-east-1) リージョンで作成することを前提とします。

aws transfer create-workflow --description "example workflow from a file" --steps file://example-file.json --region us-east-1
// Example file containing workflow steps [ { "Type": "TAG", "TagStepDetails": { "Name": "TagStep", "Tags": [ { "Key": "name", "Value": "testTag" } ] } }, { "Type": "COPY", "CopyStepDetails": { "Name": "CopyStep", "DestinationFileLocation": { "S3FileLocation": { "Bucket": "DOC-EXAMPLE-BUCKET", "Key": "DOC-EXAMPLE-KEY/" } }, "OverwriteExisting": "TRUE", "SourceFileLocation": "${original.file}" } }, { "Type": "DELETE", "DeleteStepDetails":{ "Name":"DeleteStep", "SourceFileLocation": "${original.file}" } } ]

CreateWorkflow コールにより、新しいワークフローのワークフロー ID が返されます。

レスポンス例

{ "WorkflowId": "w-1234abcd5678efghi" }

その他の参照資料

言語固有の AWS SDKs のいずれかでこの API を使用する方法の詳細については、以下を参照してください。