関数のスケジュール

OCI Functionsでファンクションをスケジュールする方法をご覧ください。

前提条件および詳細は、スケジューリング関数を参照してください。

  • リソース・スケジューラ・コンソール・ページを使用してファンクションをスケジュールするには:

    1. ファンクション開発者としてコンソールにサインインします。
    2. ナビゲーション・メニューを開き、「ガバナンスと管理」を選択します。「リソース・スケジューラ」で、「スケジュール」を選択します。
    3. OCI Functionsで使用しているリージョンを選択します。

      Fn ProjectのCLIコンテキストで指定されているDockerレジストリと同じリージョンを使用することをお薦めします。 Oracle Cloud Infrastructureに接続するためのFnプロジェクトのCLIコンテキストの作成を参照してください。

    4. 「スケジュールの作成」を選択して、新しいリソース・スケジュールを作成します。
    5. 「基本情報」ページで、リソース・スケジュールに次の値を指定します。
      • スケジュール名:リソース・スケジュールに対して選択した名前。機密情報の入力は避けてください。
      • スケジュール摘要: (オプション)リソース・スケジュールの有意義な摘要。
      • 実行するアクション: 「開始」を選択します。
      • 拡張オプションの表示:リソースにタグを適用するには、このオプションを選択します。リソースの作成権限がある場合は、フリーフォーム・タグをそのリソースに適用する権限もあります。定義済タグを適用するには、タグ・ネームスペースを使用する権限が必要です。タグ付けの詳細は、リソース・タグを参照してください。タグを適用するかどうかがわからない場合は、このオプションをスキップするか、管理者に問い合せてください。タグは後で適用できます。
    6. 「次」を選択します。
    7. 「リソース」ページで、次のようにスケジュールする機能を選択します:
      1. 「リソース選択方法」オプションから、「静的- 特定のリソースにスケジュールを適用」オプションを選択します。
      2. 「検索およびフィルタ」ボックスで、デフォルト・フィルタ(「すべてコンパートメント」)を使用してすべてのコンパートメントのリソースを検索するか、「コンパートメント」を選択してリソースを検索する特定のコンパートメントを選択します。
      3. 「検索およびフィルタ」ボックスで、「リソース・タイプ」を選択します。
      4. リソース・タイプのリストからFunctionsFunctionを選択し(選択した他のリソース・タイプを選択解除)、「適用」を選択します。

        選択したコンパートメント内のファンクションが表示されます。

      5. スケジュールする機能を選択します。
    8. 「次」を選択します。
    9. 「スケジュール」ページで、関数を実行するタイミングと頻度、およびリソース・スケジュールの開始と終了のタイミングを指定します。

      リソース・スケジュールの設定の詳細は、スケジュール情報の追加を参照してください。

    10. 「次」を選択します。
    11. 「確認」ページで、入力した情報を確認し、「スケジュールの作成」を選択して機能をスケジュールします。

      新しいリソース・スケジュールが「スケジュール」ページに表示されます。

      リソース・スケジュールを作成してファンクションを追加したら、リソース・スケジュールを含む動的グループと、そのファンクションへの動的グループ・アクセス権を付与するポリシー・ステートメントの両方を作成する必要があります。

    12. 作成したリソース・スケジュールの名前を選択し、リソース・スケジュールのOCIDをノートにとります。

      たとえば、ocid1.resourceschedule.oc1.phx.amaaaaaa3______owqです。

    13. 次のように、新しい動的グループを作成します。

      1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」で、「ドメイン」を選択します。「アイデンティティ・ドメイン」で、「動的グループ」を選択します。
      2. 動的グループを作成するにはの手順に従って、動的グループに名前を付けます(たとえば、resource-scheduler-prod-dynamic-group)。
      3. 次のように、動的グループのルールを指定します。

        ALL {resource.type='resourceschedule', resource.id='<resource-schedule-OCID>'}

        <resource-schedule-OCID>は、前にメモしたリソース・スケジュールのOCIDです。

        例:

        ALL {resource.type='resourceschedule', resource.id='ocid1.resourceschedule.oc1.phx.amaaaaaa3______owq'}
      4. 「動的グループの作成」を選択します。
    14. 次のように、OCIファンクションのファンクションへの新しい動的グループ・アクセス権を付与するポリシーを作成します:
      1. ナビゲーション・メニューを開き、「アイデンティティとセキュリティ」を選択します。「アイデンティティ」にある「ポリシー」を選択します。
      2. ポリシーを作成するにはの説明に従って、ポリシーに名前を付けます(たとえば、resource-scheduler-prod-dyn-grp-policy)。
      3. 次のようなポリシー・ステートメントを指定します。

        Allow dynamic-group <dynamic-group-name> to manage functions-family in tenancy

        <dynamic-group-name>は、作成した動的グループの名前です。

        例:

        Allow dynamic-group resource-scheduler-prod-dynamic-group to manage functions-family in tenancy
      4. 「作成」を選択して、新しいポリシーを作成します。

    これで、リソーススケジューラで定義したリソーススケジュールに従って関数が呼び出されます。

  • resource-scheduler schedule createコマンドと必要なパラメータを使用して、関数をスケジュールします。

    詳細は、スケジュールの作成を参照してください

    OCI CLIコマンドのフラグおよび変数オプションの完全なリストは、コマンドライン・リファレンスを参照してください。

  • リソース・スケジューラCreateSchedule APIを使用して、ファンクションをスケジュールします。