Envío de mensajes al servicio OCI Notifications desde Autonomous Database

Describe cómo enviar mensajes de Autonomous Database a un tema del servicio OCI Notifications.

Las suscripciones que configure con el servicio OCI Notifications determinan los puntos finales de un tema. Los mensajes publicados se envían a cada suscripción para un tema. Hay una serie de protocolos de suscripción soportados, que incluyen: correo electrónico, función y Slack. Consulte Visión general de Notifications para obtener más información.

Al utilizar el servicio OCI Notifications con el paquete DBMS_CLOUD_NOTIFICATION, solo está soportado el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE (el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_DATA no está soportado).

Preparación para enviar notificaciones de OCI desde Autonomous Database

Para enviar notificaciones a temas en el servicio OCI Notifications, primero debe crear temas y suscripciones en OCI Notifications.

Como requisito, antes de enviar mensajes con OCI Notifications, haga lo siguiente:

  1. Crear un tema de OCI Notifications.

    Consulte Creación de un tema para obtener más información sobre la creación de un tema.

  2. Crear suscripciones a OCI Notifications.

    Consulte Creación de una suscripción para obtener más información sobre la creación de una suscripción.

    Las suscripciones que configure determinan los puntos finales de un tema. Los mensajes publicados se envían a cada suscripción para un tema. Hay una serie de protocolos de suscripción soportados, que incluyen: correo electrónico, función y Slack.

    Consulte Visión general de Notifications para obtener más información.

  3. Después de crear las suscripciones a OCI Notifications, confirme las suscripciones.

    Solo puede publicar mensajes en suscripciones confirmadas. Consulte Confirmación de una suscripción para obtener más información sobre la confirmación de suscripciones.

Enviar mensajes a un tema de OCI Notifications

Describe los pasos para enviar mensajes a un tema del servicio OCI Notifications.

  1. Crear un tema y crear suscripciones.
  2. Cree un objeto de credencial para acceder al servicio OCI Notifications desde Autonomous Database.

    Puede utilizar las credenciales de clave de firma de Oracle Cloud Infrastructure o las credenciales de entidad de recurso.

    • Cree las credenciales de clave de firma de Oracle Cloud Infrastructure. Por ejemplo:

      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;
      /

      Consulte CREATE_CREDENTIAL Procedure para obtener más información.

    • Crear políticas y credenciales de entidad de recurso.

      Consulte Uso de la entidad de recurso para acceder a recursos de Oracle Cloud Infrastructure para obtener más información.

  3. Enviar Mensaje.
    • Envíe un mensaje con las credenciales de clave de firma de 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;
      / 
    • Enviar un mensaje con credenciales de entidad de recurso:

      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;
      / 

    Con el proveedor oci hay diferentes puntos finales posibles para un mensaje, según las suscripciones. El parámetro title se trata de forma diferente para los distintos protocolos de suscripción:

    • correo electrónico: title especifica la línea de asunto del mensaje.
    • Slack: no se utiliza el valor title. Si se incluye, el valor se ignora.

Consulte SEND_MESSAGE Procedure para obtener más información.

Limitaciones del servicio de notificaciones con OCI Notifications

Existen limitaciones al utilizar DBMS_CLOUD_NOTIFICATION para enviar mensajes y al utilizar el proveedor oci (servicio OCI Notifications).

Tenga en cuenta las siguientes limitaciones:

  • Límite de tamaño de mensaje: el límite de tamaño de mensaje por solicitud es de 64 KB. Los mensajes que superen este tamaño no se pueden enviar ni procesar en una sola solicitud.
  • Límite de ratio de entrega de mensajes: hay diferentes límites de ratio de entrega de mensajes según el protocolo utilizado.
    • Protocolo email: el límite es de 10 mensajes por minuto por punto final.

    Esta restricción puede afectar la velocidad a la que se pueden transmitir y recibir los mensajes.

  • Límite de transacciones por minuto (TPM) por arrendamiento: hay un límite de TPM de 60 por tema para esta operación. Este límite representa el número máximo de mensajes por minuto que se pueden procesar o manejar para un tema determinado. Si se supera este límite, es posible que los mensajes no se procesen o procesen a un ritmo más lento.
  • La instancia de Autonomous Database, la credencial, si utiliza credenciales de usuario y el tema de suscripción deben estar ubicados en la misma región.

Consulte Visión general de Notifications para obtener más información sobre OCI Notifications.