如何在不使用不可靠的城市时钟的情况下安排重复的 lambda 执行
How to schedule recurring lambda executions without using unreliable town clock
我看到社区支持在重复时间内触发 AWS lambda 函数的方式,但是是否有这种触发器的官方 AWS 实现?
我建议使用 Lambda
订阅 SNS Topic
,然后在您的服务器上使用一个简单的脚本 运行 向 SNS Topic
发送一条消息,触发所有Lambda
个功能已订阅。您的脚本可以由 cron
作业执行。
Ruby 中的类似内容:
#!/usr/bin/env ruby
require 'aws-sdk'
topic = 'arn:aws:sns:<region>:<account id>:<SNS Topic id>'
sns = Aws::SNS::Client.new(
access_key_id: '<key>',
secret_access_key: '<secret>',
region: '<SNS Topic region>'
)
r = sns.publish({
topic_arn: topic,
message: 'execute'
})
puts r.inspect
亚马逊宣布 AWS Lambda 现在支持计划函数:
您可以在 AWS 控制台中进行设置。
事实上,您问题中提到的不可靠城镇时钟本身现在由后端的 AWS Lambda 计划函数提供支持。
https://alestic.com/2015/10/townclock-aws-lambda-scheduled-functions-cron/
我看到社区支持在重复时间内触发 AWS lambda 函数的方式,但是是否有这种触发器的官方 AWS 实现?
我建议使用 Lambda
订阅 SNS Topic
,然后在您的服务器上使用一个简单的脚本 运行 向 SNS Topic
发送一条消息,触发所有Lambda
个功能已订阅。您的脚本可以由 cron
作业执行。
Ruby 中的类似内容:
#!/usr/bin/env ruby
require 'aws-sdk'
topic = 'arn:aws:sns:<region>:<account id>:<SNS Topic id>'
sns = Aws::SNS::Client.new(
access_key_id: '<key>',
secret_access_key: '<secret>',
region: '<SNS Topic region>'
)
r = sns.publish({
topic_arn: topic,
message: 'execute'
})
puts r.inspect
亚马逊宣布 AWS Lambda 现在支持计划函数:
您可以在 AWS 控制台中进行设置。
事实上,您问题中提到的不可靠城镇时钟本身现在由后端的 AWS Lambda 计划函数提供支持。
https://alestic.com/2015/10/townclock-aws-lambda-scheduled-functions-cron/