

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 更新计划查询
<a name="scheduled-queries-updating"></a>

修改您的计划查询配置，以随着需求的变化更改查询字符串、计划、目标或执行角色。

您可以更新计划查询的任何方面，包括查询字符串、计划表达式、目标和执行角色。更改会立即生效，以备将来执行。

------
#### [ Console ]

**更新计划查询（控制台）**

1. 在 CloudWatch 日志控制台中，选择**计划查询**、**查看计划查询**。

1. 选择要更新的计划查询。

1. 选择**编辑**。

1. 根据需要修改配置。

1. 选择**保存更改**。

------
#### [ AWS CLI ]

**更新计划查询 (AWS CLI)**
+ 使用`update-scheduled-query`命令修改现有的计划查询：

  ```
  aws logs update-scheduled-query \
      --identifier "arn:aws:logs:us-east-1:111122223333:scheduled-query:5e0c0228-1c29-4d26-904f-59f1f1ba3c8f" \
      --description "Monitor for ERROR level logs daily" \
      --query-language "LogsQL" \
      --query-string "fields @timestamp, @message | filter @message like /ERROR/" \
      --log-group-identifiers "/aws/lambda/my-function-1" "/aws/lambda/my-function-2"
  ```

------
#### [ API ]

**更新计划查询 (API)**

1. 使用`UpdateScheduledQuery`操作修改计划查询配置：

   ```
   {
       "identifier": "arn:aws:logs:us-east-1:111122223333:scheduled-query:5e0c0228-1c29-4d26-904f-59f1f1ba3c8f",
       "queryString": "fields @timestamp, @message | filter @message like /WARNING|ERROR/ | stats count() by bin(5m)",
       "scheduleExpression": "cron(0 */2 * * ? *)",
       "state": "ENABLED"
   }
   ```

1. 要同时更新多个配置参数，请执行以下操作：

   ```
   {
       "identifier": "arn:aws:logs:us-east-1:111122223333:scheduled-query:5e0c0228-1c29-4d26-904f-59f1f1ba3c8f",
       "queryString": "fields @timestamp, @message, @level | filter @level = 'ERROR'",
       "scheduleExpression": "cron(0 8,12,16 * * ? *)",
       "executionRoleArn": "arn:aws:iam::111122223333:role/UpdatedScheduledQueryRole",
       "logGroupIdentifiers": ["/aws/lambda/my-function", "/aws/lambda/another-function"],
       "destinationConfiguration": {
           "s3Configuration": {
               "destinationIdentifier": "s3://111122223333-sqn-results-bucket/processed-results",
               "roleArn": "arn:aws:iam::111122223333:role/Admin"
           }
       }
   }
   ```

------