对于awslambda,如何使用boto3更改与之相关的cloudwatch规则?

2024-06-01 06:33:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我看过docs,但我找不到如何更改计划的事件。以下是serverless.yml的示例:

schedule_customer_processing:
    handler: fetch-downloadable-client-data/adyen/schedule_customer_processing.schedule
    events:
     - schedule: rate(15 minutes)

使用boto3,如何以编程方式更改时间表的速率?在


Tags: client示例docsdatayml事件customerfetch
1条回答
网友
1楼 · 发布于 2024-06-01 06:33:27

取自我的blog中的这个例子

REGULAR_SCHEDULE = 'rate(20 minutes)'
WEEKEND_SHEDULE = 'rate(1 hour)'
RULE_NAME = 'My Rule'

def reschedule_event():
    """
    Cambia la planificación de la lambda, para que descanse los findes :D
    """
    sched = boto3.client('events')
    current = sched.describe_rule(Name=RULE_NAME)
    if is_weekend() and 'minutes' in current['ScheduleExpression']:
        sched.put_rule(
            Name=RULE_NAME,
            ScheduleExpression=WEEKEND_SCHEDULE,
        )
    if not is_weekend and 'hour' in current['ScheduleExpression']:
        sched.put_rule(
            Name=RULE_NAME,
            ScheduleExpression=REGULAR_SCHEDULE,
        )

调用shed.put_rule将允许您更改事件计划。在

相关问题 更多 >