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" }, }

语法

必填字段 描述 槽类型
database 要在其上运行所提供SQL脚本的数据库。 参考对象,例如 “数据库”:{"ref”:” myDatabaseId “}

对象调用字段 描述 槽类型
schedule

该对象在计划间隔的执行中调用。您必须指定对另一个对象的计划引用,以便设置该对象的依赖项执行顺序。您可以明确地针对该对象设置计划,例如通过指定 "schedule": {"ref": "DefaultSchedule"}

在大多数情况下,最好将计划引用放在默认管道对象上,以便所有对象继承该计划。

如果管道有一个嵌套在主计划中的计划树,则可以创建具有计划引用的父对象。有关示例可选计划配置的更多信息,请参阅 https://docs.aws.amazon.com/datapipeline/latest/DeveloperGuide/dp-object-schedule.html

参考对象,例如 “日程安排”:{“ref”:” myScheduleId “}

所需的组 (下列选项之一是必需的) 描述 槽类型
script 要运行的SQL脚本。必须指定脚本或scriptUri。在将脚本存储在 Amazon S3 中时,脚本不会计算为表达式。当脚本存储在 Amazon S3 中时,为指定多个值会很有帮助。 scriptArgument String
scriptUri A URI 指定要在本活动中执行的SQL脚本的位置。 String

所需的组 (下列选项之一是必需的) 描述 槽类型
runsOn 运行活动或命令的计算资源。例如,亚马逊EC2实例或亚马逊EMR集群。 引用对象,例如 runsOn ““: {" ref”:” myResourceId “}
workerGroup 工作线程组。这可用于路由任务。如果您提供 runsOn 值并且存在 workerGroup,则将忽略 workerGroup String

可选字段 描述 槽类型
attemptStatus 来自远程活动的最近报告的状态。 String
attemptTimeout 远程工作完成的超时时间。如果设置此字段,则可能会重试未在设定的开始时间内完成的远程活动。 周期
dependsOn 指定与另一个可运行对象的依赖关系。 引用对象,例如 dependsOn ““: {" ref”:” myActivityId “}
failureAndRerun模式 描述依赖项失败或重新运行时的使用者节点行为。 枚举
input 输入数据的位置。 参考对象,例如 “输入”:{"ref”:” myDataNode Id "}
lateAfterTimeout 自管道的计划开始时间后的时段,对象运行必须在该时段内开始。 周期
maxActiveInstances 组件的并发活动实例的最大数量。重新运行不计入活动实例数中。 整数
maximumRetries 失败后的最大重试次数 整数
onFail 当前对象失败时要运行的操作。 引用对象,例如 onFail ““: {" ref”:” myActionId “}
onLateAction 如果在管道预定启动后的时间段内,某个对象尚未计划或仍未完成,则应触发的操作(由 “lateAfterTimeout” 指定)。 引用对象,例如 onLateAction ““: {" ref”:” myActionId “}
onSuccess 当前对象成功时要运行的操作。 引用对象,例如 onSuccess ““: {" ref”:” myActionId “}
output 输出数据的位置。这仅适用于从脚本内部进行引用(例如#{output.tablename}),以及通过在输出数据节点中设置 “createTableSql” 来创建输出表。SQL查询的输出不会写入输出数据节点。 参考对象,例如 “输出”:{"ref”:” myDataNode Id "}
parent 槽将继承自的当前对象的父级。 引用对象,例如 “父对象”:{"ref”:” myBaseObject Id "}
pipelineLogUri 用于上传管道日志的 S3URI(例如 's3: BucketName ///Key/ ')。 String
precondition (可选) 定义先决条件。在满足所有先决条件之前,数据节点不会被标记 READY “”。 参考对象,例如 “前提条件”:{“ref”:” myPreconditionId “}
队列 [仅 Amazon Redshift] 对应于 Amazon Redshift 中的 query_group 设置,允许您根据在队列中的放置位置来分配并发活动以及确定它们的优先级。Amazon Redshift 将同时连接的数量限制为 15。有关更多信息,请参阅《Amazon Redshift 数据库开发人员指南》中的向队列分配查询 String
reportProgressTimeout 远程办公连续调用超时reportProgress。如果设置此字段,则未报告指定时段的进度的远程活动可能会被视为停滞且已重试。 周期
retryDelay 两次重试之间的超时时间。 周期
scheduleType

计划类型允许您指定应在间隔的结尾还是开头计划您管道定义中的对象。值包括:cronondemandtimeseries

timeseries 计划表示在每个间隔结束时计划实例。

cron 计划表示在每个间隔开始时计划实例。

ondemand 计划让您可以在每次激活时运行一次管道。这意味着,您不需要克隆或重新创建管道以再次运行它。如果您使用 ondemand 计划,则必须在默认对象中指定它,并且该计划必须是在管道中为对象指定的唯一 scheduleType。要使用 ondemand 管道,请为每个后续运行调用 ActivatePipeline 操作。

枚举
scriptArgument 脚本的变量列表。或者,您可以直接在脚本字段中放置表达式。当脚本存储在 Amazon S3 中时,的多个值会很有用。 scriptArgument 示例:# {format (@ scheduledStartTime、“YY-MM-DD HH: MM: SS”}\ n # {format plusPeriod (@,“1 天”) scheduledStartTime、“YY-MM-DD HH: MM: SS”} String

运行时字段 描述 槽类型
@activeInstances 当前计划的有效实例对象的列表。 引用对象,例如 activeInstances ““: {" ref”:” myRunnableObject Id "}
@actualEndTime 该对象的执行完成时间。 DateTime
@actualStartTime 该对象的执行开始时间。 DateTime
cancellationReason cancellationReason 如果此对象已取消,则为。 String
@cascadeFailedOn 对象在其上失败的依赖项链的描述。 引用对象,例如 cascadeFailedOn ““: {" ref”:” myRunnableObject Id "}
emrStepLog EMR步骤日志仅在尝试EMR活动时可用 String
errorId errorId 如果此对象失败,则为。 String
errorMessage errorMessage 如果此对象失败,则为。 String
errorStackTrace 该对象失败时显示的错误堆栈跟踪。 String
@finishedTime 该对象完成其执行的时间。 DateTime
hadoopJobLog Hadoop 作业日志可用于尝试进行EMR基于活动的情况。 String
@healthStatus 对象的运行状况,反映进入终止状态的上个对象实例成功还是失败。 String
@healthStatusFromInstanceId 进入终止状态的上个实例对象的 ID。 String
@ T healthStatusUpdated ime 上次更新运行状况的时间。 DateTime
hostname 已执行任务尝试的客户端的主机名。 String
@lastDeactivatedTime 上次停用该对象的时间。 DateTime
@ T latestCompletedRun ime 已完成执行的最新运行的时间。 DateTime
@latestRunTime 已计划执行的最新运行的时间。 DateTime
@nextRunTime 计划下次运行的时间。 DateTime
reportProgressTime 远程活动报告进度的最近时间。 DateTime
@scheduledEndTime 对象的计划结束时间。 DateTime
@scheduledStartTime 对象的计划开始时间。 DateTime
@status 该对象的状态。 String
@version 用来创建对象的管道版本。 String
@waitingOn 该对象在其上处于等待状态的依赖项列表的描述。 引用对象,例如 waitingOn ““: {" ref”:” myRunnableObject Id "}

系统字段 描述 槽类型
@error 用于描述格式不正确的对象的错误消息。 String
@pipelineId 该对象所属的管道的 ID。 String
@sphere 对象的范围指明对象在生命周期中的位置:组件对象产生实例对象,后者执行尝试对象。 String