All Products
Search
Document Center

CloudOps Orchestration Service:ACS-Redis-FlushExpireKeys

Last Updated:Dec 23, 2025

Template name

ACS-Redis-FlushExpireKeys - Clears expired Redis keys

Execute Now

Template description

Deletes expired keys on ApsaraDB for Redis instances.

Template type

Automated

Owner

Alibaba Cloud

Input parameters

Parameter

Description

Type

Required

Default value

Limit

Targets

The destination instances.

Json

Yes

RegionId

The region ID.

String

No

{{ ACS::RegionId }}

RateControl

Concurrent task execution rate

Json

No

{'Mode': 'Concurrency', 'MaxErrors': 0, 'Concurrency': 10}

OOSAssumeRole

The RAM role that is assumed by CloudOps Orchestration Service (OOS).

String

No

""

Output parameters

None

Permission policy that is required to execute the template

{
    "Version": "1",
    "Statement": [
        {
            "Action": [
                "kvstore:DescribeInstances",
                "kvstore:FlushExpireKeys"
            ],
            "Resource": "*",
            "Effect": "Allow"
        },
        {
            "Action": [
                "oos:GetApplicationGroup"
            ],
            "Resource": "*",
            "Effect": "Allow"
        }
    ]
}

Details

For more information, see ACS-Redis-FlushExpireKeys.yml at GitHub.

Template content

FormatVersion: OOS-2019-06-01
Description:
  en: Deletes expired keys from Redis instances.
  name-en: ACS-Redis-FlushExpireKeys
  categories:
    - security
    - tair
Parameters:
  RegionId:
    Type: String
    Label:
      en: Region ID
    AssociationProperty: RegionId
    Default: '{{ ACS::RegionId }}'
  Targets:
    Type: Json
    Label:
      en: Target Instances
    AssociationProperty: Targets
    AssociationPropertyMetadata:
      ResourceType: ALIYUN::Redis::Instance
      RegionId: regionId
  RateControl:
    Label:
      en: Concurrency Settings
    Type: Json
    AssociationProperty: RateControl
    Default:
      Mode: Concurrency
      MaxErrors: 0
      Concurrency: 10
  OOSAssumeRole:
    Label:
      en: RAM Role for OOS
    Type: String
    Default: ''
RamRole: '{{ OOSAssumeRole }}'
Tasks:
  - Name: GetInstance
    Description:
      en: Retrieves the Redis instances.
    Action: ACS::SelectTargets
    Properties:
      ResourceType: ALIYUN::Redis::Instance
      RegionId: '{{ RegionId }}'
      Filters:
        - '{{ Targets }}'
    Outputs:
      instanceIds:
        Type: List
        ValueSelector: Instances.Instance[].InstanceId
  - Name: FlushExpireKeys
    Action: ACS::ExecuteApi
    Description:
      en: Deletes expired keys from the Redis instances.
    Properties:
      Service: r-kvstore
      API: FlushExpireKeys
      Parameters:
        InstanceId: '{{ ACS::TaskLoopItem }}'
        EffectiveTime: Immediately
    Loop:
      RateControl: '{{ RateControl }}'
      Items: '{{ GetInstance.instanceIds }}'
Metadata:
  ALIYUN::OOS::Interface:
    ParameterGroups:
      - Parameters:
          - regionId
          - Targets
        Label:
          default:
            en: Select Instances
      - Parameters:
          - rateControl
          - OOSAssumeRole
        Label:
          default:
            en: Advanced Options