SqlActivity - AWS Data Pipeline

AWS Data Pipeline は、新規顧客には利用できなくなりました。の既存のお客様は、通常どおりサービスを AWS Data Pipeline 引き続き使用できます。詳細はこちら

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

SqlActivity

データベースでSQLクエリ (スクリプト) を実行します。

以下は、このオブジェクト型の例です。

{ "id" : "MySqlActivity", "type" : "SqlActivity", "database" : { "ref": "MyDatabaseID" }, "script" : "SQLQuery" | "scriptUri" : s3://scriptBucket/query.sql, "schedule" : { "ref": "MyScheduleID" }, }

構文

必須フィールド 説明 スロットタイプ
データベース 指定されたSQLスクリプトを実行するデータベース。 リファレンスオブジェクト、例:「database」:{「ref"myDatabaseId」}

オブジェクト呼び出しフィールド 説明 スロットタイプ
schedule

このオブジェクトは、スケジュール期間の実行中に呼び出されます。このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。たとえば "schedule": {"ref": "DefaultSchedule"} を指定することで、オブジェクトでスケジュールを明示的に設定できます。

ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。

マスタースケジュール内にネストされたスケジュールのツリーがパイプラインにある場合、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。

リファレンスオブジェクト、例:「schedule」:{「ref"myScheduleId」}

必須のグループ (次のいずれかが必要です) 説明 スロットタイプ
script 実行するSQLスクリプト。スクリプトまたは を指定する必要がありますscriptUri。スクリプトが Amazon S3 に保存されている場合、スクリプトは式として評価されません。スクリプトが Amazon S3 に保存されている場合、 に複数の値を指定する scriptArgument と便利です。 文字列
scriptUri このアクティビティで実行するSQLスクリプトの場所URIを指定する 。 文字列

必須のグループ (次のいずれかが必要です) 説明 スロットタイプ
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 パイプラインのスケジュールされた開始までの期間。この期間内にオブジェクトの実行が開始されている必要があります。 [Period] (期間)
maxActiveInstances コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 整数
maximumRetries 失敗時の最大再試行回数 整数
onFail 現在のオブジェクトが失敗したときに実行するアクション。 リファレンスオブジェクト、例: "onFail":{"ref"myActionId"}
onLateAction オブジェクトがまだスケジュールされていないか、「」で指定されたパイプラインのスケジュールされた開始からの期間内にまだ完了していない場合にトリガーされるアクションlateAfterTimeout。 リファレンスオブジェクト、例: "onLateAction":{"ref"myActionId"}
onSuccess 現在のオブジェクトが成功したときに実行するアクション。 リファレンスオブジェクト、例: "onSuccess":{"ref"myActionId"}
output 出力データの場所。これは、スクリプト内から参照する場合 ( など#{output.tablename})、および出力データノードcreateTableSqlで「」を設定して出力テーブルを作成する場合にのみ便利です。SQL クエリの出力は出力データノードに書き込まれません。 リファレンスオブジェクト、例:「output」:{「ref"myDataNodeId」}
parent スロットの継承元となる現在のオブジェクトの親。 リファレンスオブジェクト、例:「parent」:{「ref"myBaseObjectId」}
pipelineLogUri パイプラインのログをアップロードするための S3 URI (「s3://BucketName/Key/」など)。 文字列
precondition オプションで前提条件を定義します。データノードは、すべての前提条件が満たされREADYるまで「」とマークされません。 リファレンスオブジェクト、例:「precondition」:{「ref"myPreconditionId」}
キュー [Amazon Redshift のみ] 同時発生した複数アクティビティの割り当てと優先順位付けをキュー内の位置に基づいて行うことができる、Amazon Redshift クエリグループ設定に相当します。Amazon Redshift では、同時接続数が 15 に制限されています。詳細については、Amazon Redshift データベース開発者ガイドの「キューへのクエリの割り当て」を参照してください。 文字列
reportProgressTimeout へのリモートワークの連続呼び出しのタイムアウトreportProgress。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 [Period] (期間)
retryDelay 2 回の再試行の間のタイムアウト期間。 [Period] (期間)
scheduleType

スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。値は、cronondemand、および timeseries です。

timeseries スケジューリングは、インスタンスが各間隔の最後にスケジュールされることを意味します。

cron スケジューリングは、インスタンスが各間隔の最初にスケジュールされることを意味します。

ondemand スケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。ondemand スケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。ondemand パイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出します。

一覧表
scriptArgument スクリプトの変数のリスト。または、式を直接スクリプトフィールドに指定することもできます。スクリプト scriptArgument が Amazon S3 に保存されている場合、 の複数の値が役立ちます。例: #{format(@scheduledStartTime, "YY-MM-DD HH:MM:SS"}\n#{formatplusPeriod(@scheduledStartTime, "1 day"), "YY-MM-DD HH:MM:SS"} 文字列

実行時フィールド 説明 スロットタイプ
@activeInstances 現在スケジュールされているアクティブなインスタンスオブジェクトのリスト。 リファレンスオブジェクト、例: "activeInstances":{"ref"myRunnableObjectId"}
@actualEndTime このオブジェクトの実行が終了した時刻。 DateTime
@actualStartTime このオブジェクトの実行が開始された時刻。 DateTime
cancellationReason このオブジェクト cancellationReason がキャンセルされた場合の 。 文字列
@cascadeFailedOn オブジェクトが失敗した際の依存関係チェーンの説明。 リファレンスオブジェクト、例: "cascadeFailedOn":{"ref"myRunnableObjectId"}
emrStepLog EMR EMRアクティビティの試行でのみ使用できるステップログ 文字列
errorId このオブジェクトが失敗 errorId した場合の 。 文字列
errorMessage このオブジェクトが失敗 errorMessage した場合の 。 文字列
errorStackTrace このオブジェクトが失敗した場合は、エラースタックトレース。 文字列
@finishedTime このオブジェクトが実行を終了した時刻。 DateTime
hadoopJobLog EMRベースのアクティビティの試行で使用可能な Hadoop ジョブログ。 文字列
@healthStatus 終了状態に達した最後のオブジェクトインスタンスの成功または失敗を反映する、オブジェクトのヘルスステータス。 文字列
@healthStatusFromInstanceId 終了状態に達した最後のインスタンスオブジェクトの ID。 文字列
@healthStatusUpdatedTime ヘルス状態が最後に更新された時間。 DateTime
hostname タスクの試行を取得したクライアントのホスト名。 文字列
@lastDeactivatedTime このオブジェクトが最後に非アクティブ化された時刻。 DateTime
@latestCompletedRunTime 実行が完了した最後の実行の時刻。 DateTime
@latestRunTime 実行がスケジュールされた最後の実行の時刻。 DateTime
@nextRunTime 次回にスケジュールされた実行の時刻。 DateTime
reportProgressTime リモートアクティビティで進捗状況が報告された最新の時刻。 DateTime
@scheduledEndTime オブジェクトの予定された終了時刻 DateTime
@scheduledStartTime オブジェクトの予定された開始時刻 DateTime
@status このオブジェクトのステータス。 文字列
@version オブジェクトが作成されたパイプラインのバージョン。 文字列
@waitingOn このオブジェクトが待機している依存関係のリストの説明。 リファレンスオブジェクト、例: "waitingOn":{"ref"myRunnableObjectId"}

システムフィールド 説明 スロットタイプ
@error 形式が正しくないオブジェクトを説明するエラー。 文字列
@pipelineId このオブジェクトが属するパイプラインの ID。 文字列
@sphere オブジェクトの球は、ライフサイクルにおける場所を示します。コンポーネントオブジェクトにより、試行オブジェクトを実行するインスタンスオブジェクトが発生します。 文字列