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

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

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

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

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

開始前

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

  • これらのステップでは、サブスクリプションを追加するトピックの詳細ページから「サブスクリプションの作成」パネルを開く方法を示します。このパネルは、「サブスクリプション」ページから開いて、パネルでトピックを指定することもできます: 「サブスクリプションの作成」をクリックし、「サブスクリプション・トピック」を選択します。

    1. ナビゲーション・メニューを開き、「開発者サービス」をクリックします「アプリケーション統合」で、「通知」をクリックします。
    2. 「トピック」ページで、目的のトピックを含むコンパートメントを選択します。
    3. サブスクリプションを追加するトピックの名前をクリックします。
    4. 「トピックの詳細」ページで、「サブスクリプションの作成」をクリックします。
    5. 「サブスクリプションの作成」パネルの「プロトコル」で、「ファンクション」を選択します。
    6. 必要なファンクションを含むコンパートメントおよびアプリケーションを選択し、ファンクションを選択します。
    7. 作成」をクリックします。

    「通知」は、機能サブスクリプションを作成します。ファンクション・サブスクリプションの確認は必要ありません

  • 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>"
    }

次の処理

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