

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 在 EventBridge 排程器中設定彈性時段
<a name="managing-schedule-flexible-time-windows"></a>

 當您使用彈性時段設定排程時，EventBridge 排程器會在您設定的時段內叫用目標。這在不需要精確排程調用目標的情況下非常有用。設定彈性時段可透過分散您的目標調用來改善排程的可靠性。

 例如，如果您為每小時執行的排程設定 15 分鐘的彈性時段，則會在排程時間後 15 分鐘內叫用目標。以下 AWS CLI和 EventBridge 排程器 SDK 範例使用 `UpdateSchedule` 為每小時執行一次的排程設定 15 分鐘的彈性時段。

**注意**  
 您必須指定是否要設定彈性時段。如果您不想設定此選項，請指定 `OFF`。如果您將 值設定為 `FLEXIBLE`，則必須指定排程將執行的最大時段。

**Example AWS CLI**  

```
$ aws scheduler update-schedule --name lambda-universal --schedule-expression 'rate(1 hour)' \
--target '{"RoleArn": "ROLE_ARN", "Arn":"arn:aws:scheduler:::aws-sdk:lambda:invoke" "Input": "{\"FunctionName\":\"arn:aws:lambda:REGION:123456789012:function:HelloWorld\",\"InvocationType\":\"Event\",\"Payload\":\"{\\\"message\\\":\\\"testing function\\\"}\"}" }' \
--flexible-time-window '{ "Mode": "FLEXIBLE", "MaximumWindowInMinutes": 15} \
```

```
{
    "ScheduleArn": "arn:aws:scheduler:us-west-2:123456789012:schedule/lambda-universal"
}
```

**Example Python SDK**  

```
import boto3
scheduler = boto3.client('scheduler')

sqs_templated = {
    "RoleArn": "<ROLE_ARN>",
    "Arn": "<QUEUE_ARN>",
    "Input": "{}"}

flex_window = { "Mode": "FLEXIBLE", "MaximumWindowInMinutes": 15}

scheduler.update_schedule(Name="your-schedule",
    ScheduleExpression="rate(1 hour)",
    Target=sqs_templated,
    FlexibleTimeWindow=flex_window)
```