素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2019年1月21日
最終更新日:

【サーバーレスアーキテクチャ】AWS lambdaとCloudWatch Eventsを組み合わせてCron処理でLambda関数をスケジューリング処理する方法【バッチ/自動化】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

ペヤング ソースやきそば 120g×18個

created by Rinker
ペヤング
¥2,600 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

とりあえず保存食として買っておけば間違いなし!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥7,180 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/03/15 19:06:03時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

サンディスク microSD 128GB

スマホからSwitchまで使える大容量MicroSDカード!

Lambda関数を定期実行しよう

サーバーレスを実現出来るLambda関数

先日まで、AWS Lambdaに関する記事をご紹介しました。

Lambda関数を使えば、サーバーを用意せずにAWSサービスをトリガーに処理を実装出来るので今注目されている技術です。

Cronによる定期実行も可能

そして、もう一つの強みが何と言ってもCron指定により定期実行をスケジューリング出来ることです!

これを知った時、サーバーを用意せずに実現出来ることが素晴らしすぎて感動しました。

また、設定自体もとても簡単に行うことが出来たので、今回は手順をご紹介致します。

手順

前提

サンプルとしては以下の記事で作成したLambda関数を利用します。

しかし、定期実行の場合はeventを取得出来ない為、CloudWatch Logsに以下のようなエラーログが出てしまいます。

ですので、lambda_function.pyを以下のように修正しておきましょう。

トリガーの作成

まずはLambda関数の設定画面を開き、設定タブを選択した状態でDesignerCloudWatch Eventsを選択します。

すると、下部エリアがトリガーの設定画面になるので新規のルール作成を選択し、ルール名・ルールの説明を入力したら、ルールタイプスケジュール式にチェックを入れ、スケジュール式にcron形式を入寮します。

今回は試しに1分ごとに起動したいのでcron(0/1 * * * ? *)と入力しましょう。

そして、トリガーの有効化にチェックを入れたら追加ボタンをクリックしましょう。

CloudWatch Eventsがセットされていることを確認して保存ボタンをクリックします。

正常に保存されたらスケジュールに則ってLambda関数が実行されるはずです。

確認

では、CloudWatch Logsを覗いてみましょう。

正しく1分ごとに実行されていますね♪

終わりに

以上のようにサーバーレスで定期実行処理を実装することが出来ました。

この機能を組み合わせて使うことで、バッチ処理なども行う事が出来るので興味のある方は試してみてください♪

CATEGORIES & TAGS

IT