翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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 を使用する方法の詳細については、以下を参照してください。