機械翻訳について

Autonomous Databaseから「OCI通知」サービスへのメッセージの送信

Autonomous Databaseから「OCI通知」サービス・トピックにメッセージを送信する方法について説明します。

「OCI通知」サービスで構成するサブスクリプションによって、トピックのエンドポイントが決まります。 パブリッシュされたメッセージは、トピックの各サブスクリプションに送信されます。 サポートされるサブスクリプション・プロトコルには、次のようなものがあります: email、functionおよびSlack。 詳細については、「通知の概要」を参照してください。

「OCI通知」サービスをDBMS_CLOUD_NOTIFICATIONパッケージとともに使用する場合、DBMS_CLOUD_NOTIFICATION.SEND_MESSAGEプロシージャのみがサポートされます(DBMS_CLOUD_NOTIFICATION.SEND_DATAプロシージャはサポートされていません)。

Autonomous Databaseから「OCI通知」を送信する準備

「OCI通知」サービスのトピックに通知を送信するには、最初に「OCI通知」でトピックおよびサブスクリプションを作成します。

前提条件として、「OCI通知」を使用してメッセージを送信する前に、次を実行します:

  1. 「OCI通知」トピックを作成します。

    トピックの作成の詳細は、「トピックの作成」を参照してください。

  2. 「OCI通知」サブスクリプションを作成します。

    サブスクリプションの作成の詳細は、「サブスクリプションの作成」を参照してください。

    構成するサブスクリプションによって、トピックのエンドポイントが決まります。 パブリッシュされたメッセージは、トピックの各サブスクリプションに送信されます。 サポートされるサブスクリプション・プロトコルには、次のようなものがあります: email、functionおよびSlack。

    詳細については、「通知の概要」を参照してください。

  3. 「OCI通知」サブスクリプションを作成したら、サブスクリプションを確認します。

    確認済サブスクリプションにのみメッセージを公開できます。 サブスクリプションの確認の詳細は、「サブスクリプションの確認」を参照してください。

「OCI通知」トピックへのメッセージの送信

「OCI通知」サービス・トピックにメッセージを送信するステップについて説明します。

  1. トピックを作成してサブスクリプションを作成します。

    詳細は「Autonomous DatabaseからのOCI通知の送信の準備」を参照してください。

  2. Autonomous Databaseから「OCI通知」サービスにアクセスするための資格証明オブジェクトを作成します。

    Oracle Cloud Infrastructure署名キー資格証明またはリソース・プリンシパル資格証明のいずれかを使用できます。

    • Oracle Cloud Infrastructure署名キー資格証明を作成します。 たとえば:

      BEGIN
         DBMS_CLOUD.CREATE_CREDENTIAL (
             credential_name => ‘OCI_KEY_CRED’,
             user_ocid       => ‘ocid1.user.oc1..aaaaaaaauq54mi7zdyfhw33ozkwuontjceel7fok5nq3bf2vwetkpqsoa’,
             tenancy_ocid    => ‘ocid1.tenancy.oc1..aabbbbbbaafcue47pqmrf4vigneebgbcmmoy5r7xvoypicjqqge32ewnrcyx2a’,
             private_key     => ‘MIIEogIBAAKCAQEAtUnxbmrekwgVac6FdWeRzoXvIpA9+0r1.....wtnNpESQQQ0QLGPD8NM//JEBg=’,
             fingerprint     => ‘f2:db:f9:18:a4:aa:fc:94:f4:f6:6c:39:96:16:aa:27’);
      END;
      /

      詳細については、「CREATE_CREDENTIALプロシージャ」を参照してください。

    • リソース・プリンシパル資格証明およびポリシーを作成します。

      詳細については、「リソース・プリンシパルを使用したOracle Cloud Infrastructureリソースへのアクセス」を参照してください。

  3. メッセージの送信
    • Oracle Cloud Infrastructure署名キー資格証明を使用してメッセージを送信します:

      BEGIN
          DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
              provider         => 'oci',
              credential_name  => 'OCI_KEY_CRED',
              message          => 'Text message',
              params           => json_object('topic_ocid' value 'oci********pa',
                                              'title'value 'Title for message'));
      END;
      / 
    • リソース・プリンシパル資格証明を使用してメッセージを送信します:

      BEGIN
          DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
              provider         => 'oci',
              credential_name  => 'OCI$RESOURCE_PRINCIPAL',
              message          => 'Text message',
              params           => json_object('topic_ocid' value 'oci********pa',
                                              'title'      value 'Title for message'));
      END;
      / 

    ociプロバイダでは、サブスクリプションに基づいて、メッセージに対して使用可能なエンドポイントが異なります。 titleパラメータは、サブスクリプション・プロトコルごとに異なる方法で処理されます:

    • email: titleは、メッセージの件名を指定します。
    • Slack: title値は使用されません。 含まれている場合、値は無視されます。

詳細については、「SEND_MESSAGEプロシージャ」を参照してください。

「OCI通知」サービスを使用した通知の制限事項

DBMS_CLOUD_NOTIFICATIONを使用してメッセージを送信し、ociプロバイダ(「OCI通知」サービス)を使用する場合には制限があります。

次の制限に注意してください。

  • メッセージ・サイズ制限: リクエスト当たりのメッセージ・サイズ制限は64KBです。 このサイズを超えるメッセージは、単一のリクエスト内で送信または処理できません。
  • メッセージ配信率制限: 使用されるプロトコルに応じて、異なるメッセージ配信率の制限があります。
    • emailプロトコル: 制限は、エンドポイント当たり1分当たり10メッセージです。

    この制限は、メッセージの送信および受信速度に影響を与える可能性があります。

  • テナンシ当たりのトランザクション/分(TPM)制限: この操作のトピックごとにTPM制限は60です。 この制限は、特定のトピックに対して処理または処理できる1分当たりのメッセージの最大数を表します。 この制限を超えると、メッセージの処理または処理速度が遅くなる可能性があります。
  • Autonomous Databaseインスタンス、資格証明(ユーザー資格証明を使用している場合)およびサブスクリプション・トピックはすべて同じリージョンに配置する必要があります。

「OCI通知」の詳細は、「通知の概要」を参照してください。