AWSラムダを定期的に呼び出す方法は、です。具体的には、1分ごとに実行します。? 現在の機能により、Lambdaは5 minute triggerでセットアップできますが、私ははるかに短い時間間隔を探しています。 私は永遠にラムダを実行していると考えるが、それはこの正確なトピックをカバーした2015年にAWS改革のセッションがありました Maximum execution duration per request 300 seconds
1分ごとにAWSラムダを定期的に呼び出します。
5
A
答えて
3
3
以降に実行することができないように、あなたがユーチューブにここでそれを見ることができますになります。https://www.youtube.com/watch?v=FhJxTIq81AUラムダとクラウドウォッチを使用して外部依存関係のない1分の頻度を得る方法を示しています。
イベントを呼び出さずに、スケジュールに沿ってAWSラムダ関数を実行する必要がありますか?このセッションでは、 Amazon CloudWatchメトリックとCloudWatchアラーム、Amazon SNS、およびLambda を使用して、Lambdaが毎分トリガーするようにする方法を示します。外部サービスは不要です !ここから他のLambdaジョブを crontabのような形式でスケジュールして、Lambda スケジュールされたタスクに分レベルの解決を与えることができます。セッション中に、ラムダ関数、CloudWatchメトリックとアラーム、 サンプルトリガ、およびタスクを使用して、ゼロからこの機能を構築します( )。
AWSはある時点でこの方法を使用しないで1分間隔を許可すると思われますが、これはあなたを一時的に保持する可能性があります。
0
botoモジュールを使用すると、ラムダ関数が自身を呼び出すinvoke文を実行できるようになります。以下は60秒ごとに実行されます。もちろん、適切な役割に権限を割り当てるようにしてください。また、あなたの限界に注意してください。
import boto3,time
def lambda_handler(event, context):
#do something
time.sleep(60)
client = boto3.client('lambda')
response = client.invoke(FunctionName='YOUR-FUNCTION-NAME')
私はそれを試して、それが私のために働くかどうかを確認します。ありがとう – blueskin
これについてのコードのレポはhttps://github.com/g-a-d/lambda-cronにあります。 – blueskin