Invia messaggi al servizio di notifiche OCI da Autonomous Database

Descrive come inviare messaggi da Autonomous Database a un argomento del servizio OCI Notifications.

Le sottoscrizioni configurate con il servizio Notifiche OCI determinano gli endpoint per un argomento. I messaggi pubblicati vengono inviati a ciascuna sottoscrizione relativa ad un argomento. Esistono diversi protocolli di sottoscrizione supportati, tra cui e-mail, funzione e Slack. Per ulteriori informazioni, vedere Panoramica delle notifiche.

Quando si utilizza il servizio Notifiche OCI con il pacchetto DBMS_CLOUD_NOTIFICATION, è supportata solo la procedura DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE (la procedura DBMS_CLOUD_NOTIFICATION.SEND_DATA non è supportata).

Preparati a inviare le notifiche OCI da Autonomous Database

Per inviare notifiche agli argomenti del servizio Notifiche OCI, creare prima argomenti e sottoscrizioni nelle notifiche OCI.

Prima di inviare messaggi con le notifiche OCI, è necessario effettuare le operazioni riportate di seguito.

  1. Creare un argomento di notifiche OCI.

    Per informazioni dettagliate sulla creazione di un argomento, vedere Creazione di un argomento.

  2. Crea le sottoscrizioni alle notifiche OCI.

    Per informazioni dettagliate sulla creazione di una sottoscrizione, vedere Creazione di una sottoscrizione.

    Le sottoscrizioni configurate determinano gli endpoint per un argomento. I messaggi pubblicati vengono inviati a ciascuna sottoscrizione relativa ad un argomento. Esistono diversi protocolli di sottoscrizione supportati, tra cui e-mail, funzione e Slack.

    Per ulteriori informazioni, vedere Panoramica delle notifiche.

  3. Dopo aver creato le sottoscrizioni alle notifiche OCI, confermare le sottoscrizioni.

    È possibile pubblicare messaggi solo in sottoscrizioni confermate. Per informazioni dettagliate sulla conferma delle sottoscrizioni, vedere Conferma di una sottoscrizione.

Invia messaggi a un argomento di notifiche OCI

Descrive i passi per inviare messaggi a un argomento del servizio Notifiche OCI.

  1. Creare un argomento e creare sottoscrizioni.

    Per i dettagli, consulta la sezione Preparati a inviare notifiche OCI da Autonomous Database.

  2. Creare un oggetto credenziale per accedere al servizio OCI Notifications da Autonomous Database.

    Puoi utilizzare le credenziali della chiave di firma di Oracle Cloud Infrastructure o le credenziali del principal risorsa.

    • Crea le credenziali della chiave di firma di Oracle Cloud Infrastructure. Ad esempio:

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

      Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.

    • Creare le credenziali e i criteri del principal risorsa.

      Per ulteriori informazioni, consulta la sezione Usa principal risorsa per accedere alle risorse di Oracle Cloud Infrastructure.

  3. Invia un messaggio.
    • Invia un messaggio utilizzando le credenziali della chiave di firma di 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;
      / 
    • Invia un messaggio con le credenziali del principal risorsa:

      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 il provider oci sono disponibili endpoint diversi per un messaggio, in base alle sottoscrizioni. Il parametro title viene trattato in modo diverso per i diversi protocolli di sottoscrizione:

    • email: title specifica la riga dell'oggetto del messaggio.
    • Slack: il valore title non viene utilizzato. Se è incluso, il valore viene ignorato.

Per ulteriori informazioni, vedere SEND_MESSAGE Procedure.

Limitazioni per le notifiche con il servizio di notifiche OCI

Esistono limitazioni quando si utilizza DBMS_CLOUD_NOTIFICATION per inviare messaggi e si utilizza il provider oci (servizio Notifiche OCI).

Vanno considerate le seguenti limitazioni:

  • Il limite di dimensione del messaggio per richiesta è di 64 KB. I messaggi che superano questa dimensione non possono essere inviati o elaborati all'interno di una singola richiesta.
  • Limite di frequenza di consegna dei messaggi: esistono limiti di frequenza di consegna dei messaggi diversi a seconda del protocollo utilizzato.
    • Protocollo email: il limite è di 10 messaggi al minuto per endpoint.

    Questa restrizione può influire sulla velocità con cui i messaggi possono essere trasmessi e ricevuti.

  • Limite transazioni al minuto (TPM) per tenancy: per questa operazione è previsto un limite TPM di 60 per argomento. Questo limite rappresenta il numero massimo di messaggi al minuto che possono essere elaborati o gestiti per un determinato argomento. Il superamento di questo limite può comportare la mancata elaborazione o l'elaborazione dei messaggi a una velocità inferiore.
  • L'istanza di Autonomous Database, la credenziale, se si utilizzano le credenziali utente e l'argomento della sottoscrizione deve trovarsi tutti nella stessa area.

Per ulteriori informazioni sulle notifiche OCI, consulta la panoramica delle notifiche.