

 2026 年 6 月 30 日之后，Amazon Redshift 不再支持使用 Python UDF。我们将分阶段开始执行。有关 Python 生命周期终止和迁移选项详情的更多信息，请参阅 2025 年 6 月 30 日发布的[博客文章](https://www.amazonaws.cn/blogs/big-data/amazon-redshift-python-user-defined-functions-will-reach-end-of-support-after-june-30-2026/)。

# 计划快照
<a name="serverless-snapshot-scheduling"></a>

要精确控制创建快照的时间，您可以为特定命名空间创建快照计划。计划快照的创建时，您可以创建一次性事件，也可以使用 Unix cron 表达式来创建定期执行的计划。Cron 表达式支持以空格分隔三个字段。

```
cron({{Minutes}} {{Hours}} {{Day-of-month}} {{Month}} {{Day-of-week}} {{Year}})
```


| **字段** | **值** | **通配符** | 
| --- | --- | --- | 
| 分钟 | 0-59 | , - \* /  | 
| 小时 | 0-23 | , - \* /  | 
| Day-of-month | 1-31 | , - \* ? / L W | 
| Month | 1-12 或 JAN-DEC | , - \* / | 
| 星期几 | 1–7 或 SUN-SAT | , - \* ? L \# | 
| Year | 1970-2199 | , - \* / | 

**通配符**
+ **,**（逗号）通配符包含其他值。在 `Day-of-week` 字段中，`MON,WED,FRI` 将包含星期一、星期三和星期五。总值限制为每字段 24 个。
+ **-**（破折号）通配符用于指定范围。在 `Hour` 字段中，1–15 将包含指定日期的 1 - 15 小时。
+ **\***（星号）通配符包含该字段中的所有值。在 `Hours` 字段中，**\*** 将包含每个小时。
+ **/**（正斜杠）通配符用于指定增量。在 `Hours` 字段中，您可以输入 **1/10** 来指定从当天的第 1 个小时开始每隔 10 小时（例如，01:00、11:00 和 21:00）。
+ **?**（问号）通配符用于指定一个或另一个。在 `Day-of-month` 字段中，您可以输入 **7**，如果您不介意 7 日是星期几，则可以在“星期几”字段中输入 **?**。
+ ** 或 ** 字段中的 `Day-of-month`L`Day-of-week` 通配符用于指定月或周的最后一天。
+ `Day-of-month` 字段中的 **W** 通配符用于指定工作日。在 `Day-of-month` 字段中，`3W` 用于指定最靠近当月的第三周的日。
+ “Day-of-week”字段中的 **\#** 通配符用于指定一个月内所指定星期几的特定实例。例如，3\#2 指该月的第二个星期二：3 指的是星期二，因为它是每周的第三天，2 是指该月内该类型的第二天。
**注意**  
如果使用 “\#” 字符，则只能在星期字段中定义一个表达式。例如，“3\#1,6\#3”是无效的，因为它被解释为两个表达式。

**限制**
+ 您无法在同一 cron 表达式中为 `Day-of-month` 和 `Day-of-week` 字段同时指定值。如果您在其中一个字段中指定了值，则必须在另一个字段中使用 **?**（问号）。
+ 快照计划不支持以下频率：
  + 计划快照的频率超过每小时 1 次。
  + 计划快照的频率低于每天 1 次（24 小时）。

  如果您有重叠的计划导致在 1 小时时段内计划了多次快照，将产生验证错误。

下表提供了一些示例 cron 字符串。


| 分钟 | 小时 | 星期几 | 意义 | 
| --- | --- | --- | --- | 
| 0 | 14-20/1 | TUE | 星期二下午 2 点到晚上 8 点之间，每小时拍摄一次。 | 
| 0 | 21 | MON-FRI | 每天晚上 9 点，星期一至星期五。 | 
| 30 | 0/6 | SAT-SUN | 星期六和星期日从当天午夜 30 分 (00:30) 开始，每 6 小时拍摄一次。这导致在每天的 [00:30、06:30、12:30 和 18:30] 拍摄快照。 | 
| 30 | 12/4 | \* | 每天从 12:30 开始，每 4 小时拍摄一次。这将解析为 [12:30、16:30、20:30]。 | 

以下示例演示如何创建每天从 15:15 开始，以 2 小时为增量运行的计划。

```
 cron(15 15/2 *)
```

可以使用 Amazon Redshift Serverless 控制台、API 或 Amazon CLI 来创建快照计划。

**计划快照**

1. 在 Amazon Redshift Serverless 控制台上，选择**数据备份**。

1. 选择**快照计划**。

1. 选择**创建计划**。

1. 输入快照计划的名称。

1. 选择要为其创建快照的命名空间。

1. 为计划输入一个 cron 表达式，或使用计划生成器创建一个计划。

1. （可选）选择保留期。如果您选择**自定义值**，请指定天数。

1. 选择**创建计划**。