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

如何通过GCP Storage Transfer Service Python SDK创建每周定时任务

GCP Storage Transfer Service 每周任务部署问题解决

当前使用GCP官方Python客户端库部署Storage Transfer Service任务时遇到以下情况:

  • 当schedule中的schedule_start_date与schedule_end_date参数相同时,任务会被创建为一次性任务;
  • 当两个参数不同时,任务默认变为每日任务,无法生成每周任务。

解决方法

要创建每周任务,需在schedule配置中显式添加repeat_interval参数,指定每周的重复间隔,覆盖默认的每日重复逻辑。

修改后的代码示例

transfer_job_request = storage_transfer.CreateTransferJobRequest({
    'transfer_job': {
        'project_id': project_id,
        'description': description,
        'status': storage_transfer.TransferJob.Status.ENABLED,
        'schedule': {
            'schedule_start_date': start_time_schedule,  # 首次执行日期,如{'day': 19, 'month': 4, 'year': 2023}
            'schedule_end_date': end_time_schedule,      # 最后执行截止日期,如{'day': 10, 'month': 5, 'year': 2023}
            'repeat_interval': 'P7D',                    # ISO 8601格式,P7D表示每7天(每周)重复一次
            'start_time_of_day': {                       # 每周执行的具体时间(可选,按需设置)
                'hours': 10,
                'minutes': 0,
                'seconds': 0
            }
        },
        # 补充源、目标存储等必填配置
        'transfer_spec': {
            'gcs_data_source': {'bucket_name': 'source-bucket'},
            'gcs_data_sink': {'bucket_name': 'target-bucket'},
            # 其他传输规则配置...
        }
    }
})

# 执行任务创建请求
response = storage_transfer.create_transfer_job(request=transfer_job_request)

关键参数说明

  • repeat_interval:采用ISO 8601持续时间格式,P7D代表每7天重复一次(即每周),若需每2周执行可写为P14D。
  • start_time_of_day:可选参数,用于指定每周任务的具体执行时间,未设置时默认在schedule_start_date的0点执行。
  • schedule_start_date和schedule_end_date:分别定义任务的首次执行日期与最后执行截止日期,任务会在此时间段内按周重复执行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.24 07:17:16