2017-01-31 4 views
1

Я пытаюсь запланировать событие только после 15 минут исполнения, как:Boto3 хрон: Параметр ScheduleExpression не действует

client = boto3.client('events') 
d = datetime.now() + timedelta(minutes=40) 
cronJob = "cron(" + str(d.hour) + " " + str(d.minute) + " * * ? *)" 
client.put_rule(Name='extractData', ScheduleExpression=cronJob, State='ENABLED', Description='This is rule extracting flurry data') 
try: 
    client.put_targets(Rule='extractData', Targets=[ { 'Id': '1', 'Arn': 'arn:aws:lambda:ap-southeast-1:381409677897:function:flurry_extractReportOnDemand' }]) 
except: 
    print("\n###################\n") 
    print ("Could not schedule") 
    print("\n###################\n") 

Это дает мне ошибку, как

Parameter ScheduleExpression is not valid. 

Любая идея, почему?

ответ

1

http://docs.aws.amazon.com/AmazonCloudWatch/latest/events/ScheduledEvents.html#CronExpressions

Первое значение должно быть минут, а второе значение должно быть часов.

Так что ваш код должен быть:

cronJob = "cron(" + str(d.minute) + " " + str(d.hour) + " * * ? *)" 

вместо "cron(" + str(d.hour) + " " + str(d.minute) + " * * ? *)"

+0

Я идиот ... спасибо –

+0

Это честная ошибка. Документация Boto3 немного вводит в заблуждение, я бы сказал. – anupsabraham

Смежные вопросы