ファンクション・サブスクリプションの作成

「通知」でファンクション・サブスクリプションを作成します。

ファンクション・サブスクリプションを使用して、トリガー条件が発生したときにファンクションを起動および実行します。

構成されたトリガー条件が発生すると、アラーム、お知らせサブスクリプション、イベント・ルール、コネクタまたはコンテキスト通知(アラームまたはイベント・ルール)によってメッセージが構成されたトピックに送信(公開)され、通知によってそのメッセージがトピックのアクティブなサブスクリプションに配信されます。メッセージを受信すると、ファンクションが呼び出されて実行されます。シナリオの例については、シナリオA: VMsの自動サイズ変更を参照してください。

通知サービスには、ファンクションが呼び出された後にそのファンクションに関する情報はありません。詳細は、Function Not Invoked or Runのトラブルシューティング情報を参照してください。

開始前

ファンクションをトピックのサブスクリプションとして追加するには、そのファンクションに対してFN_INVOCATION権限を持っている必要があります。通知の保護ファンクション・サブスクリプションの追加を参照してください。

  • これらのステップでは、サブスクリプションを追加するトピックの詳細ページから「サブスクリプションの作成」パネルを開く方法を示します。このパネルは、「サブスクリプション」リスト・ページから開いて、パネルでトピックを指定することもできます: 「サブスクリプションの作成」を選択し、「サブスクリプション・トピック」を選択します。
    1. 「トピック」リスト・ページで、使用するトピックを選択します。リスト・ページまたはトピックの検索に関するヘルプが必要な場合は、トピックのリストを参照してください。
    2. トピックの詳細ページで、「サブスクリプションの作成」を選択します。
    3. 「サブスクリプションの作成」パネルの「プロトコル」で、「ファンクション」を選択します。
    4. 必要なファンクションを含むコンパートメントおよびアプリケーションを選択し、ファンクションを選択します。
    5. 「作成」を選択します。

    Notificationsでは、ファンクション・サブスクリプションが作成されます。ファンクション・サブスクリプションの確認は必要ありません

  • oci ons subscription createコマンドおよび必須パラメータを使用して、ファンクション・サブスクリプションを作成します:

    oci ons subscription create --protocol "ORACLE_FUNCTIONS" --subscription-endpoint <function_OCID> [...]

    CLIコマンドのパラメータおよび値の完全なリストは、通知のコマンドライン・リファレンスを参照してください。

  • CreateSubscription操作を実行して、ファンクション・サブスクリプションを作成します。

    次に例を示します:

    POST /20181201/subscriptions
    Host: notification.us-phoenix-1.oraclecloud.com
    <authorization and other headers>
    {
      "topicId": "<topic_OCID>",
      "compartmentId": "<compartment_OCID>",
      "protocol": "ORACLE_FUNCTIONS",
      "endpoint": "<function_OCID>"
    }

次の処理

新しいサブスクリプションは親トピックと同じコンパートメントにある必要がありますが、作成後に別のコンパートメントに移動できます。サブスクリプションの移動を参照してください。