AWS Data Pipeline は、新規顧客には利用できなくなりました。の既存のお客様 AWS Data Pipeline は、通常どおりサービスを引き続き使用できます。詳細はこちら
翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
ShellCommandActivity
コマンドまたはスクリプトを実行します。ShellCommandActivity
を使用して、時系列で、または cron 風に、スケジュールしたタスクを実行できます。
stage
フィールドが true に設定されS3DataNode
、 で使用されると、 はデータのステージングの概念ShellCommandActivity
をサポートします。つまり、Amazon S3 から Amazon EC2やローカル環境などのステージロケーションにデータを移動し、スクリプトと を使用してデータに対して作業を実行しShellCommandActivity
、Amazon S3 に戻すことができます。
この場合、シェルコマンドを入力 S3DataNode
に接続すると、シェルスクリプトは、ShellCommandActivity
の入力フィールドを参照する ${INPUT1_STAGING_DIR}
、${INPUT2_STAGING_DIR}
などのフィールドを使用して直接データを操作できます。
同様に、シェルコマンドの出力も、${OUTPUT1_STAGING_DIR}
、${OUTPUT2_STAGING_DIR}
などで参照される出力ディレクトリにステージングして、自動的に Amazon S3 に戻すことができます。
これらの式は、コマンドライン引数としてシェルコマンドに渡して、データ変換ロジックで使用することができます。
ShellCommandActivity
では、Linux 形式のエラーコードと文字列が返されます。ShellCommandActivity
の結果がエラーであれば、返される error
はゼロ以外の値になります。
例
以下は、このオブジェクト型の例です。
{ "id" : "CreateDirectory", "type" : "ShellCommandActivity", "command" : "mkdir new-directory" }
構文
オブジェクト呼び出しフィールド | 説明 | スロットタイプ |
---|---|---|
schedule |
このオブジェクトは、 このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへの この要件を満たすには、オブジェクトで明示的に ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、 負荷を分散するために、 は物理オブジェクトをスケジュールより少し前に AWS Data Pipeline 作成しますが、スケジュールに従って実行します。 オプションのスケジュール設定の例については、「https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。 |
リファレンスオブジェクト、例:「schedule」:{「ref"myScheduleId」} |
必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ |
---|---|---|
コマンド | 実行するコマンド。$ を使用して位置指定パラメータを参照し、scriptArgument を使用してコマンドのパラメータを指定します。この値および関連するパラメーターは、Task Runner を実行している環境で機能する必要があります。 |
文字列 |
scriptUri | シェルコマンドとしてダウンロードして実行するファイルの Amazon S3 URIパス。指定できる scriptUri または command フィールドは 1 つだけです。scriptUri はパラメータを使用できません。代わりに command を使用します。 |
文字列 |
必須のグループ (次のいずれかが必要です) | 説明 | スロットタイプ |
---|---|---|
runsOn | Amazon EC2インスタンスや Amazon EMRクラスターなど、アクティビティやコマンドを実行する計算リソース。 | リファレンスオブジェクト、例: "runsOn":{"ref"myResourceId"} |
workerGroup | ルーティングタスクに使用されます。値 runsOn を指定して、workerGroup がある場合、workerGroup は無視されます。 |
文字列 |
オプションのフィールド | 説明 | スロットタイプ |
---|---|---|
attemptStatus | リモートアクティビティから最も最近報告されたステータス。 | 文字列 |
attemptTimeout | リモートの作業完了のタイムアウト。設定された場合、指定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 | [Period] (期間) |
dependsOn | 実行可能な別のオブジェクトで依存関係を指定します。 | リファレンスオブジェクト、例: "dependsOn":{"ref"myActivityId"} |
failureAndRerunモード | 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 | 一覧表 |
input | 入力データの場所。 | リファレンスオブジェクト、例:「input」:{「ref"myDataNodeId」} |
lateAfterTimeout | オブジェクトが完了しなければならない、パイプライン開始からの経過時間。スケジュールタイプが ondemand に設定されていない場合にのみトリガーされます。 |
[Period] (期間) |
maxActiveInstances | コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 | 整数 |
maximumRetries | 失敗時の最大再試行回数。 | 整数 |
onFail | 現在のオブジェクトが失敗したときに実行するアクション。 | リファレンスオブジェクト、例: "onFail":{"ref"myActionId"} |
onLateAction | オブジェクトが予定されていないか、完了していない場合にトリガーされるアクション。 | リファレンスオブジェクト、例: "onLateAction":{"ref"myActionId"} |
onSuccess | 現在のオブジェクトが成功したときに実行するアクション。 | リファレンスオブジェクト、例: "onSuccess":{"ref"myActionId"} |
output | 出力データの場所。 | リファレンスオブジェクト、例:「output」:{「ref"myDataNodeId」} |
parent | スロットの継承元となる現在のオブジェクトの親。 | リファレンスオブジェクト、例:「parent」:{「ref"myBaseObjectId」} |
pipelineLogUri | パイプラインのログをアップロードする 's3://BucketName/Key/' URIなどの Amazon S3 。 |
文字列 |
precondition | オプションで前提条件を定義します。データノードは、すべての前提条件が満たされREADYるまで「」とマークされません。 | リファレンスオブジェクト、例:「precondition」:{「ref"myPreconditionId」} |
reportProgressTimeout | リモートアクティビティによる reportProgress への連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 |
[Period] (期間) |
retryDelay | 2 回の再試行の間のタイムアウト期間。 | [Period] (期間) |
scheduleType |
パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。 値は、
|
一覧表 |
scriptArgument | コマンドで指定されたコマンドに渡す文字列の JSON形式の配列。たとえば、コマンドが echo $1 $2 であれば、scriptArgument を "param1", "param2" のように指定できます。複数の引数およびパラメータがある場合は、次のように scriptArgument を渡すことができます。
"scriptArgument":"arg1","scriptArgument":"param1","scriptArgument":"arg2","scriptArgument":"param2" scriptArgument は command でのみ使用できます。scriptUri で使用するとエラーが発生します。 |
文字列 |
ステージ | ステージングが有効かどうか決定し、ステージングされたデータ変数(${INPUT1_STAGING_DIR} や
${OUTPUT1_STAGING_DIR} など)にシェルコマンドがアクセスできるようにします。 |
ブール値 |
stderr | コマンドからリダイレクトされたシステムエラーメッセージを受け取る パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 |
文字列 |
stdout | コマンドからリダイレクトされた出力を受け取る Amazon S3 パス。runsOn フィールドを使用する場合、アクティビティを実行するリソースが一時的であるため、これは Amazon S3 パスにする必要があります。ただし、workerGroup フィールドを指定した場合は、ローカルファイルパスを指定できます。 |
文字列 |
実行時フィールド | 説明 | スロットタイプ |
---|---|---|
@activeInstances | 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 | リファレンスオブジェクト、例: "activeInstances":{"ref"myRunnableObjectId"} |
@actualEndTime | このオブジェクトの実行が終了した時刻。 | DateTime |
@actualStartTime | このオブジェクトの実行が開始された時刻。 | DateTime |
cancellationReason | このオブジェクトがキャンセルされた場合の cancellationReason 。 |
文字列 |
@cascadeFailedOn | オブジェクトの失敗の原因となった依存関係の説明。 | リファレンスオブジェクト、例: "cascadeFailedOn":{"ref"myRunnableObjectId"} |
emrStepLog | Amazon EMR ステップログは、Amazon EMRアクティビティの試行でのみ使用できます。 | 文字列 |
errorId | このオブジェクトが失敗した場合は errorId 。 |
文字列 |
errorMessage | このオブジェクトが失敗した場合は errorMessage 。 |
文字列 |
errorStackTrace | このオブジェクトが失敗した場合は、エラースタックトレース。 | 文字列 |
@finishedTime | このオブジェクトが実行を終了した時刻。 | DateTime |
hadoopJobLog | Amazon EMRベースのアクティビティの試行で利用可能な Hadoop ジョブログ。 | 文字列 |
@healthStatus | 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 | 文字列 |
@healthStatusFromInstanceId | 終了状態に達した最後のインスタンスオブジェクトの ID。 | 文字列 |
@healthStatusUpdatedTime | ヘルス状態が最後に更新された時間。 | DateTime |
hostname | タスクの試行を取得したクライアントのホスト名。 | 文字列 |
@lastDeactivatedTime | このオブジェクトが最後に非アクティブ化された時刻。 | DateTime |
@latestCompletedRunTime | 実行が完了した最後の実行の時刻。 | DateTime |
@latestRunTime | 実行がスケジュールされた最後の実行の時刻。 | DateTime |
@nextRunTime | 次回にスケジュールされた実行の時刻。 | DateTime |
reportProgressTime | リモートアクティビティで進捗状況が報告された最新の時刻。 | DateTime |
@scheduledEndTime | オブジェクトの予定された終了時刻。 | DateTime |
@scheduledStartTime | オブジェクトの予定された開始時刻。 | DateTime |
@status | オブジェクトのステータス。 | 文字列 |
@version | オブジェクトの作成に使用される AWS Data Pipeline バージョン。 | 文字列 |
@waitingOn | このオブジェクトが待機している依存関係のリストの説明。 | リファレンスオブジェクト、例: "waitingOn":{"ref"myRunnableObjectId"} |
システムフィールド | 説明 | スロットタイプ |
---|---|---|
@error | 形式が正しくないオブジェクトを説明するエラー。 | 文字列 |
@pipelineId | このオブジェクトが属するパイプラインの ID。 | 文字列 |
@sphere | ライフサイクル内のオブジェクトの場所です。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 | 文字列 |