タイムトリガーは、指定された時点または指定された間隔で関数を自動的にトリガーします。 これにより、定期的なタスク実行が必要なシナリオでタスクを柔軟にスケジュールできます。
シナリオ
タイムトリガーは、さまざまなシナリオで使用できます。 以下の項目は、一般的なシナリオを示します。
データの定期的なバッチ処理、たとえば、完全なデータ収集と1時間ごとのレポートの生成
1時間ごとにクーポンを送信するなど、毎日の行動のスケジューリング
ビジネスから切り離された非同期タスクの処理 (毎日00:00にデータをクリーニングするなど)
始める前に
ステップ1: タイムトリガーの作成
Function Computeコンソールにログインします。 左側のナビゲーションウィンドウで、[関数] をクリックします。
上部のナビゲーションバーで、リージョンを選択します。 [関数] ページで、管理する関数をクリックします。
機能の詳細ページで、[設定] タブをクリックします。 左側のナビゲーションウィンドウで、[トリガー] をクリックします。 次に、[トリガーの作成] をクリックします。
[トリガーの作成] パネルで、画面の指示に従ってパラメーターを設定し、OK.
パラメーター
説明
例
トリガータイプ
[タイムトリガー] を選択します。
タイムトリガー
名前
トリガーの名前。
my_trigger
バージョンまたはエイリアス
トリガーのバージョンまたはエイリアス。 デフォルト値: LATEST。 別のバージョンまたはエイリアスのトリガーを作成する場合は、関数の詳細ページの右上隅でバージョンまたはエイリアスを選択します。 バージョンとエイリアスの詳細については、「バージョンの管理」および「エイリアスの管理」をご参照ください。
LATEST
トリガーモード
トリガーモードを選択します。 有効な値:
間隔: このフィールドに正の整数nを入力します。 値は、関数がn分ごとにトリガーされることを示します。
[カスタム時刻の選択]: タイムゾーンを選択し、日付、曜日、および時刻を指定します。 この値を選択すると、指定された時間に関数がトリガーされます。
カスタム設定: cron式フィールドでCRON式を指定します。 この値を選択すると、cron式で指定された時刻に関数がトリガーされます。
間隔
トリガーメッセージ
カスタムパラメーターを入力します。 トリガーメッセージは、イベントのpayloadの値として使用されます。
トリガーメッセージのサイズ制限は128 KBです。これは、非同期呼び出しのペイロードの制限と同じです。
素晴らしい-fc
Cron Expressionパラメーターを設定して、タイムゾーンを指定できます。 以下の項目はcron式について説明します。
UTCでのCron式
デフォルトでは、cron式は協定世界時 (UTC) 時間を使用します。 たとえば、関数を毎日12:00 (UTC + 8) にスケジュールする場合は、
0 0 4 * * *
式を使用できます。UTC + 8でのCron式
特定のタイムゾーンの指定された時点で関数をスケジュールする場合は、CRON_TZを使用できます。 たとえば、毎月1日の04:00 (UTC + 8) に関数をトリガーする場合は、
CRON_TZ=Asia/Shanghai 0 4 1 * *
式を使用できます。 タイムゾーンの式はリージョンによって異なります。説明タイムゾーンで夏時間 (DST) と冬期が使用されている場合、DSTと冬期の間で時間が変化すると、関数の実行頻度が高くなります。 実行時間は、DSTと冬期の間で変更が発生した時点に設定しないことを推奨します。
ステップ2: 関数の入力パラメータを設定する
関数の詳細ページの [コード] タブで、[テスト関数] の隣のアイコンをクリックし、ドロップダウンリストから [テストパラメーターの設定] を選択します。
[テストパラメーターの設定] パネルで、[新しいテストイベントの作成] または [既存のテストイベントの変更] タブをクリックし、イベント名とイベント内容を入力し、[OK] をクリックします。
タイムトリガーは、次のイベント形式に基づいて関数をトリガーします。
{ "triggerTime":"2023-12-26T07:49:00Z" 、 "triggerName":"timer-trigger" 、 "payload":"awesome-fc" }
パラメーター
データ型
例
説明
triggerTime
String
2023-12-26T07:49:00Z
関数がトリガーされた時刻。
triggerName
String
タイマートリガー
タイムトリガーの名前。
payload
String
素晴らしい-fc
トリガーの作成時に [トリガーメッセージ] パラメーターに指定したカスタム値。
ステップ3: 関数コードの書き込みとテスト
タイムトリガーを作成した後、関数コードを記述し、関数をテストしてコードが正しいかどうかを確認できます。 指定された時間に達すると、タイムトリガーが自動的に関数をトリガーします。
関数の詳細ページで、コードタブで、コードエディターに関数コードを入力し、デプロイ.
次のサンプルコードは、Pythonで関数コードを記述する方法の例を示しています。
import json import logging logger = logging.getLogger() def handler(event, context): logger.info('event: %s', event) # jsonを解析する evt = json.loads(event) triggerName = evt["triggerName"] triggerTime = evt["triggerTime"] payload = evt["payload"] logger.info('triggerName: %s', triggerName) logger.info("triggerTime: %s", triggerTime) logger.info("payload: %s", payload) return 'Timer Payload: ' + payload
を返す
クリックテスト機能.
関数の実行後、[コード] タブで結果を表示できます。
関連ドキュメント
設定したタイムトリガーが関連する関数のトリガーに失敗した場合は、トリガーモードとトリガー時刻を確認します。 トリガーモードをカスタム設定に設定した場合、cron式で指定したCRON式にはUTC時間が使用されることに注意してください。 詳細については、「」をご参照ください。
タイムトリガーを使用する場合、実行時間は、関数インスタンスがオンデマンドモードで動作するか、プロビジョニングされたモードで動作するかに基づいて計算されます。 実行期間の計算の詳細については、「コンセプト」をご参照ください。