You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Terraform为AWS Data Pipeline配置每日凌晨12:30调度?

在Terraform中配置AWS Data Pipeline每日凌晨12:30调度触发

要在Terraform中实现AWS Data Pipeline的每日凌晨12:30调度,核心是通过aws_datapipeline_pipeline资源的pipeline_objects字段定义调度规则,以下是具体实现方案:

核心配置逻辑

AWS Data Pipeline的调度需通过Schedule类型的管道对象配置,结合cron表达式精确指定触发时间。默认调度时间为UTC时区,若需适配本地时区需先转换为UTC时间再调整表达式。

完整Terraform代码示例

resource "aws_datapipeline_pipeline" "daily_1230_pipeline" {
  name      = "daily-1230-execution-pipeline"
  unique_id = "daily-1230-pipeline-uid"

  pipeline_objects = [
    # 管道默认配置
    {
      id    = "Default"
      name  = "Default"
      fields = [{ key = "workerGroup", string_value = "default-worker-group" }]
    },
    # 每日凌晨12:30(UTC)调度规则
    {
      id    = "Daily1230Schedule"
      name  = "Daily1230Schedule"
      fields = [
        { key = "type", string_value = "Schedule" },
        { key = "scheduleType", string_value = "cron" },
        # cron表达式格式:分钟 小时 日 月 星期 年
        { key = "cronExpression", string_value = "30 0 * * ? *" },
        # 调度起始时间(ISO 8601 UTC格式)
        { key = "startDateTime", string_value = "2024-01-01T00:30:00Z" }
      ]
    },
    # 关联调度的任务示例(Shell命令任务)
    {
      id    = "DailyProcessingTask"
      name  = "DailyProcessingTask"
      fields = [
        { key = "type", string_value = "ShellCommandActivity" },
        { key = "schedule", ref_value = "Daily1230Schedule" },
        { key = "command", string_value = "echo 'Daily task executed at 00:30 UTC'" },
        { key = "runsOn", ref_value = "TaskEc2Instance" }
      ]
    },
    # 任务运行的EC2资源配置
    {
      id    = "TaskEc2Instance"
      name  = "TaskEc2Instance"
      fields = [
        { key = "type", string_value = "Ec2Resource" },
        { key = "instanceType", string_value = "t2.micro" },
        { key = "securityGroups", string_value = "your-security-group-id" },
        { key = "region", string_value = "us-east-1" }
      ]
    }
  ]
}

关键参数说明

  • scheduleType:设为cron以使用cron表达式精准控制时间
  • cronExpression:30 0 * * ? *表示每日UTC时间0点30分触发。若需适配本地时区(如北京时间12:30),需转换为UTC时间(北京时间12:30对应UTC前一天16:30),表达式改为30 16 * * ? *
  • startDateTime:设置调度首次执行的起始时间,需遵循ISO 8601 UTC格式
  • 任务关联:通过schedule字段引用调度对象的ID,确保任务按指定规则触发

内容的提问来源于stack exchange,提问作者stackdisplay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 13:02:44