

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

# 更新排程查詢
<a name="scheduled-queries-updating"></a>

修改您的排程查詢組態，以隨著需求的變化變更查詢字串、排程、目的地或執行角色。

您可以更新排程查詢的任何方面，包括查詢字串、排程表達式、目的地和執行角色。對於未來的執行，變更會立即生效。

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

**更新排程查詢 （主控台）**

1. 在 CloudWatch Logs 主控台中，選擇**排程查詢**、**檢視排程查詢**。

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"
           }
       }
   }
   ```

------