メニュー
AWS Data Pipeline
開発者ガイド (API Version 2012-10-29)

SqlActivity

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

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

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

構文

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

オブジェクト呼び出しフィールド 説明 スロットタイプ
schedule このオブジェクトは、スケジュール期間の実行中に呼び出されます。ユーザーは、このオブジェクトの依存関係の実行順序を設定するには、別のオブジェクトへのスケジュール参照を指定する必要があります。ユーザーは、オブジェクトでスケジュールを明示的に設定して、この要件を満たすことができます。たとえば、"schedule": {"ref": "DefaultSchedule"} と指定します。ほとんどの場合、すべてのオブジェクトがそのスケジュールを継承するように、スケジュール参照をデフォルトのパイプラインオブジェクトに配置することをお勧めします。または、パイプラインにスケジュールのツリー (マスタースケジュール内のスケジュール) がある場合、ユーザーは、スケジュール参照がある親オブジェクトを作成することができます。オプションのスケジュール設定の例については、「http://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html」を参照してください。 参照オブジェクト。たとえば、"schedule":{"ref":"myScheduleId"}

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

必須のグループ (次のいずれかが必要です) 説明 スロットタイプ
runsOn アクティビティまたはコマンドを実行するコンピューティングリソース。たとえば、Amazon EC2 インスタンスまたは Amazon EMR クラスター。 参照オブジェクト。たとえば、"runsOn":{"ref":"myResourceId"}
workerGroup ワーカーグループ。これはルーティングタスクに使用されます。runsOn 値を指定して、workerGroup がある場合、workerGroup は無視されます。 文字列

オプションのフィールド 説明 スロットタイプ
attemptStatus リモートアクティビティから最も最近報告されたステータス。 文字列
attemptTimeout リモートの作業完了のタイムアウト。設定された場合、設定された開始時間内に完了しなかったリモートアクティビティを再試行することができます。 間隔
dependsOn 実行可能な別のオブジェクトで依存関係を指定します。 参照オブジェクト。たとえば、"dependsOn":{"ref":"myActivityId"}
failureAndRerunMode 依存関係が失敗または再実行されたときのコンシューマーノードの動作を示します。 一覧表
input 入力データの場所。 参照オブジェクト。たとえば、"input":{"ref":"myDataNodeId"}
lateAfterTimeout パイプラインのスケジュールされた開始までの期間。この期間内にオブジェクトの実行が開始されている必要があります。 間隔
maxActiveInstances コンポーネントで同時にアクティブになるインスタンスの最大数。再実行はアクティブなインスタンスの数にはカウントされません。 整数
maximumRetries 失敗時の最大再試行回数 整数
onFail 現在のオブジェクトが失敗したときに実行するアクション。 参照オブジェクト。たとえば、"onFail":{"ref":"myActionId"}
onLateAction オブジェクトがまだスケジュールされていない場合や、パイプラインのスケジュールされた開始までの期間("lateAfterTimeout" で指定)内にまだ完了していない場合にトリガーされるアクション。 参照オブジェクト。たとえば、"onLateAction":{"ref":"myActionId"}
onSuccess 現在のオブジェクトが成功したときに実行するアクション。 参照オブジェクト。たとえば、"onSuccess":{"ref":"myActionId"}
出力 出力データの場所。これが便利なのは、スクリプト内から出力テーブルを参照する場合や(#{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 へのリモート作業の連続した呼び出しのタイムアウト。設定された場合、指定された期間の進捗状況を報告しないリモートアクティビティは停止されたと見なし、再試行できます。 間隔
retryDelay 2 回の再試行の間のタイムアウト期間。 間隔
scheduleType スケジュールタイプによって、パイプライン定義のオブジェクトを、期間の最初にスケジュールするか、最後にスケジュールするかを指定できます。[Time Series Style Scheduling] は、インスタンスが各間隔の最後にスケジュールされることを意味し、[Cron Style Scheduling] は、インスタンスが各間隔の最初にスケジュールされることを意味します。オンデマンドスケジュールにより、アクティベーションごとに 1 回パイプラインを実行することができます。つまり、パイプラインを再実行するために、クローンしたり再作成したりする必要はありません。オンデマンドスケジュールを使用する場合は、デフォルトオブジェクトで指定し、パイプラインのオブジェクトに対して指定される唯一の scheduleType である必要があります。オンデマンドパイプラインを使用するには、それ以降の実行ごとに、ActivatePipeline オペレーションを呼び出すだけです。値は、cron、ondemand、および timeseries です。 一覧表
scriptArgument スクリプトの変数のリスト。または、式を直接スクリプトフィールドに指定することもできます。scriptArgument に複数の値を設定すると、スクリプトを Amazon S3 に保存する際に役立ちます。例: #{format(@scheduledStartTime, "YY-MM-DD HH:MM:SS"}\n#{format(plusPeriod(@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 このオブジェクトのステータス。 文字列
@バージョン オブジェクトが作成されたパイプラインのバージョン。 文字列
@waitingOn このオブジェクトが待機している依存関係のリストの説明。 参照オブジェクト。たとえば、"waitingOn":{"ref":"myRunnableObjectId"}

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

このページの内容: