すべてのプロダクト
Search
ドキュメントセンター

Function Compute:時間トリガー

最終更新日:Nov 09, 2025

時間トリガーは、指定された時間または間隔で関数を自動的に実行します。この機能は、定期的な実行を必要とするシナリオに柔軟なタスクスケジューリングを提供します。

シナリオ

時間トリガーは、幅広いシナリオで使用できます。一般的なシナリオは次のとおりです。

  • 毎時の完全データ収集やレポート生成など、データの定期的なバッチ処理。

  • 毎時正時のクーポン送信など、毎日のアクションのスケジューリング。

  • 毎日 00:00 のデータクリーニングなど、ビジネスロジックから切り離された非同期タスクの実行。

前提条件

関数の作成が完了していること

ステップ 1: 時間トリガーの作成

  1. Function Compute コンソールにログインします。左側のナビゲーションウィンドウで、[関数管理] > [関数] を選択します。

  2. 上部のナビゲーションバーでリージョンを選択します。[関数] ページで、対象の関数をクリックします。

  3. 関数の詳細ページで、[トリガー] タブをクリックし、[トリガーの作成] をクリックします。

  4. [トリガーの作成] パネルでパラメーターを設定し、[OK] をクリックします。

    パラメーター

    手順

    トリガータイプ

    [時間トリガー] を選択します。

    時間トリガー

    名前

    トリガーのカスタム名を入力します。

    my_trigger

    バージョンまたはエイリアス

    デフォルト値は [LATEST] です。別のバージョンまたはエイリアスのトリガーを作成する場合は、まず関数詳細ページの右上隅でそのバージョンまたはエイリアスに切り替えます。バージョンとエイリアスの詳細については、「バージョンの管理」および「エイリアスの管理」をご参照ください。

    LATEST

    トリガーメソッド

    必要に応じてトリガーメソッドを選択します:

    • [間隔]: [間隔] テキストボックスに正の整数 n を入力します。関数は n 分ごとにトリガーされます。

    • [指定時刻]: タイムゾーンを選択し、日付、曜日、時刻を指定します。関数は、そのタイムゾーンの指定された時刻にトリガーされます。

    • [カスタム]: [CRON 式] テキストボックスに cron 式を入力します。関数は cron 式で指定された時刻にトリガーされます。

    間隔

    トリガーメッセージ

    カスタムメッセージを入力します。トリガーメッセージは、イベントの payload の値として使用されます。

    トリガーメッセージのサイズは 128 KB に制限されており、これは非同期呼び出しのペイロード制限と同じです。

    awesome-fc

    特定のタイムゾーン要件があり、カスタムの [CRON 式] を使用する必要がある場合は、次の時間式の説明をご参照ください。

    • Cron 式 (UTC)

      デフォルトでは、cron 式は協定世界時 (UTC) に基づいています。UTC は UTC+8 タイムゾーンより 8 時間遅れています。たとえば、毎日 12:00 (UTC+8) に関数を実行するようにスケジュールするには、この時刻を 04:00 (UTC) に変換する必要があります。対応する cron 式は 0 0 4 * * * です。

    • Cron 式 (UTC+8)

      タスクを特定のタイムゾーンで実行する必要がある場合は、CRON_TZ を使用して指定できます。たとえば、UTC+8 タイムゾーンで毎月 1 日の 04:00 に関数をトリガーするには、式 CRON_TZ=Asia/Shanghai 0 0 4 1 * * を使用します。タイムゾーン式はリージョンによって異なります。お使いのリージョンに適用される式を使用してください。

      説明

      お使いのタイムゾーンで夏時間 (DST) が採用されている場合、移行中にトリガーが 2 回実行されたり、スキップされたりすることがあります。これを避けるため、DST が変更される時間帯にタスクをスケジュールしないでください。

    トリガーが作成されると、[トリガー名] リストに表示されます。トリガーを変更または削除するには、「トリガーの管理」をご参照ください。

ステップ 2: 関数の入力パラメーターの設定

  1. 関数詳細ページの[コード] タブで、[テスト関数] の横にある image.png アイコンをクリックし、ドロップダウンリストから [テストパラメーターの設定] を選択します。

  2. [テストパラメーターの設定] パネルで、[新しいテストイベントの作成] または [既存のテストイベントの編集] を選択し、イベント名とイベント内容を入力して、[OK] をクリックします。

    時間トリガーは、次のフォーマットを使用するイベントで関数を呼び出します。

    {
        "triggerTime":"2023-12-26T07:49:00Z",
        "triggerName":"timer-trigger",
        "payload":"awesome-fc"
    }              

    パラメーター

    タイプ

    説明

    triggerTime

    String

    2023-12-26T07:49:00Z

    関数がトリガーされた時刻。

    triggerName

    String

    timer-trigger

    時間トリガーの名前。

    payload

    String

    awesome-fc

    トリガー設定で [トリガーメッセージ] パラメーターに入力したカスタムメッセージ。

ステップ 3: 関数コードの記述とテスト

時間トリガーを作成したら、関数コードを記述してテストし、正しく動作することを確認します。時間トリガーは、指定された時刻に関数を自動的に実行します。

  1. 関数詳細ページの [コード] タブで、コードエディタにコードを記述し、[コードのデプロイ] をクリックします。

    このトピックでは 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                      
  2. [関数のテスト] をクリックします。

    実行が完了すると、[コード] タブの上部で結果を表示できます。

リファレンス

設定した時間トリガーが関連付けられた関数をトリガーできない場合は、トリガーモードと時刻を確認してください。トリガーモードをカスタム設定に設定した場合、[CRON 式] で指定する cron 式は UTC を使用することに注意してください。詳細については、「トリガーが関数実行をトリガーできない場合はどうすればよいですか?」をご参照ください。