Pacchetto DBMS_CLOUD_NOTIFICATION
Il package DBMS_CLOUD_NOTIFICATION consente di inviare messaggi o l'output di una query SQL a un provider.
- DBMS_CLOUD_NOTIFICATION Panoramica
Verrà descritto il pacchettoDBMS_CLOUD_NOTIFICATION. - Riepilogo dei sottoprogrammi DBMS_CLOUD_NOTIFICATION
Questa tabella riepiloga i sottoprogrammi inclusi nel pacchetto.
Argomento padre: Riferimento del pacchetto fornito dal database AI autonomo
Panoramica di DBMS_CLOUD_NOTIFICATION
Descrive il pacchetto DBMS_CLOUD_NOTIFICATION.
I provider supportati con DBMS_CLOUD_NOTIFICATION sono: Email, Microsoft Teams, OCI Notifications (ONS) e Slack.
Quando si utilizza il servizio Notifiche OCI con il package DBMS_CLOUD_NOTIFICATION, è supportata solo la procedura DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE (la procedura DBMS_CLOUD_NOTIFICATION.SEND_DATA non è supportata)
Argomento padre: Pacchetto DBMS_CLOUD_NOTIFICATION
Riepilogo dei sottoprogrammi DBMS_CLOUD_NOTIFICATION
Questa tabella riassume i sottoprogrammi inclusi nel pacchetto.
| Sottoprogramma | Descrizione |
|---|---|
|
Invia l'output della query SQL a un provider. |
|
|
Invia un messaggio di testo a un provider. |
- SEND_DATA Procedura
La proceduraSEND_DATAinvia i risultati della query specificata a un provider. - SEND_MESSAGE Procedura
La procedura invia un messaggio di testo a un provider.
Argomento padre: Pacchetto DBMS_CLOUD_NOTIFICATION
Procedura SEND_DATA
La procedura SEND_DATA invia i risultati della query specificata a un provider.
Sintassi
DBMS_CLOUD_NOTIFICATION.SEND_DATA(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
query IN CLOB,
params IN CLOB
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Specifica il provider. I valori validi sono ' Questo parametro è obbligatorio. |
|
|
Nome dell'oggetto credenziale per accedere al provider. Per il provider di posta elettronica, la credenziale è il nome della credenziale del mittente approvato SMTP che contiene il nome utente e la password. Per il provider msteams, la credenziale è il nome della credenziale. Per il provider Slack, il nome utente della credenziale deve essere Questo parametro è obbligatorio. |
|
|
Specifica la query SQL da eseguire. I risultati vengono inviati al provider. Questo parametro è obbligatorio. |
|
|
Specifica parametri specifici per Per il tipo di provider
Per il tipo di provider
Per il tipo di provider
Questo parametro è obbligatorio. |
Note sull'uso
-
Per creare l'oggetto credenziale, utilizzare la procedura
DBMS_CLOUD.CREATE_CREDENTIAL(credential_name,usernameepassword).Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.
-
Per il provider
email, tenere presente quanto segue:-
L'utente richiede un endpoint di connessione SMTP per il server di consegna e-mail per ottenere
smtp_host. L'utente richiede anche un mittente approvato SMTP e le relative credenziali per eseguire l'autenticazione con il server di consegna tramite e-mail per ottenerecredential_name. È necessario configurare la connessione SMTP e generare e approvare le credenziali SMTP. -
La dimensione massima dei messaggi supportata quando si utilizza
DBMS_CLOUD_NOTIFICATION.SEND_DATAcon il provideremailè di 32k byte. -
È possibile utilizzare solo
DBMS_CLOUD_NOTIFICATIONper le notifiche di posta elettronica con Autonomous AI Database versione 19.21 e successive.
-
-
Per il provider
msteams, l'utente richiede l'applicazione Microsoft Teams e un bot configurato al suo interno. L'applicazione deve essere pubblicata nell'organizzazione e installata dopo aver ottenuto l'approvazione dall'amministratore dal centro di amministrazione. L'utente richiede anche l'accesso per l'autorizzazioneFiles.ReadWrite.AlleChannelSettings.Read.Allper l'API Graph dal proprio portale Azure. Per generare il token richiesto, l'utente richiedebot_idnel nome utente ebot_secretnella password.La dimensione massima del file supportata quando si utilizza
DBMS_CLOUD_NOTIFICATION.SEND_DATAper Microsoft Teams è 4 MB. - Per il provider
slack, il valoreusernamepuò essere qualsiasi stringa valida epasswordè il token bot Slack.
Esempi
Invia output SQL con il provider email:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'EMAIL_CRED',
username => 'username',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_DATA(
provider => 'email',
credential_name => 'EMAIL_CRED',
query => 'SELECT tablespace_name FROM dba_tablespaces',
params => json_object('recipient' value 'mark@oracle.com, suresh@oracle.com',
'to_cc' value 'nicole@oracle.com1, jordan@oracle.com',
'to_bcc' value 'manisha@oracle.com',
'subject' value 'Test subject',
'type' value 'json',
'title' value 'mytitle',
'message' value 'This is the message',
'smtp_host' value 'smtp.email.example.com',
'sender' value 'approver_sender@oracle.com' )
);
END;
/Invia output SQL con il provider msteams:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(credential_name => 'TEAMS_CRED',
username => 'bot_id',
password => 'bot_secret');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(provider => 'msteams',
credential_name => 'TEAMS_CRED',
query => 'SELECT tablespace_name FROM dba_tablespaces',
params => json_object('tenant'value '5b743bc******c0286',
'team'value '0ae401*********5d2bd',
'channel'value '19%3a94be023*****%40thread.tacv2',
'title'value 'today',
'type'value 'csv'));
END;
/
Invia output SQL con il provider slack:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'SLACK_CRED',
username => 'SLACK_TOKEN',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_DATA(
provider => 'slack',
credential_name => 'SLACK_CRED',
query => 'SELECT username, account_status, expiry_date FROM USER_USERS WHERE rownum < 5',
params => json_object('channel' value 'C0....08','type' value 'csv'));
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_NOTIFICATION
Procedura SEND_MESSAGE
La procedura invia un messaggio di testo a un provider.
Sintassi
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
message IN CLOB,
params IN CLOB
);
Parametri
| Parametro | Descrizione |
|---|---|
|
|
Specifica il provider. I valori validi sono: ' Questo parametro è obbligatorio. |
|
|
Nome dell'oggetto credenziale per accedere al provider.
Questo parametro è obbligatorio. Utilizzare la procedura |
|
|
Specifica il testo del messaggio. Questo parametro è obbligatorio. |
|
|
Specifica parametri specifici per Per il tipo di provider
Per il tipo di provider
Per il tipo di provider
Per il provider OCI Notifications con il tipo
Con il provider
|
Nota uso per il provider e-mail
Per il provider email, l'utente richiede un endpoint di connessione SMTP per il server di consegna e-mail per ottenere smtp_host. L'utente richiede anche un mittente approvato SMTP e le relative credenziali per eseguire l'autenticazione con il server di consegna tramite e-mail per ottenere credential_name. È necessario configurare la connessione SMTP e generare e approvare le credenziali SMTP.
Nota sull'uso per il provider Msteams
Per il provider msteams, l'utente richiede l'applicazione Microsoft Teams e un bot configurato al suo interno. L'applicazione deve essere pubblicata nell'organizzazione e installata dopo aver ottenuto l'approvazione dall'amministratore dal centro di amministrazione. L'utente richiede anche l'accesso per l'autorizzazione Files.ReadWrite.All e ChannelSettings.Read.All per l'API Graph dal proprio portale Azure. Per generare il token richiesto, l'utente richiede bot_id nel nome utente e bot_secret nella password.
Nota sull'uso per il provider Slack
Per il provider slack, il valore username può essere qualsiasi stringa valida e password è il token bot Slack.
Note sull'uso per le notifiche OCI del provider OCI
DBMS_CLOUD_NOTIFICATION supporta il provider di notifiche OCI. Per informazioni dettagliate sul provider di notifiche OCI, consulta la panoramica delle notifiche.
- Per utilizzare il provider di notifiche OCI, è necessario effettuare le operazioni riportate di seguito.
- Creare un argomento. Per informazioni dettagliate sulla creazione di un argomento, vedere Creazione di un argomento
- Creare le sottoscrizioni richieste. Per informazioni dettagliate sulla creazione di una sottoscrizione, vedere Creazione di una sottoscrizione.
- Dopo aver creato le sottoscrizioni, confermare le sottoscrizioni. I messaggi vengono pubblicati solo per le sottoscrizioni confermate. Per informazioni dettagliate sulla conferma delle sottoscrizioni, vedere Conferma di una sottoscrizione.
- L'istanza di Autonomous AI Database, la credenziale, se si utilizzano le credenziali utente e l'argomento di sottoscrizione devono trovarsi tutti nella stessa area.
- 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.
- Protocollo
- 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.
Esempi
Inviare un messaggio di testo con il provider email:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'EMAIL_CRED',
username => 'username',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'email',
credential_name => 'EMAIL_CRED',
message => 'Subject content',
params => json_object('recipient' value 'mark@oracle.com, suresh@oracle.com',
'to_cc' value 'nicole@oracle.com, jordan@oracle.com',
'to_bcc' value 'manisha@oracle.com',
'subject' value 'Test subject',
'smtp_host' value 'smtp.email.example.com',
'sender' value 'approver_sender@oracle.com' )
);
END;
/Inviare un messaggio di testo con il provider msteams:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(credential_name => 'TEAMS_CRED',
username => 'bot_id',
password => 'bot_secret');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'msteams',
credential_name => 'TEAMS_CRED',
message => 'text from new teams api',
params => json_object('channel'value 'C0....08'),'region'value 'india');
END;
/
Inviare un messaggio di testo con il provider slack:
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL(
credential_name => 'SLACK_CRED',
username => 'SLACK_TOKEN',
password => 'password');
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'slack',
credential_name => 'SLACK_CRED',
message => 'Send text from Autonomous AI Database.',
params => json_object('channel' value 'C0....08'));
END;
/
Inviare un messaggio di testo con le notifiche OCI, digitare il provider oci:
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'oci',
credential_name => 'OCI_CRED',
message => 'Text message for you.',
params => json_object('topic_ocid' value 'oci********pa',
'title' value 'Title for message subject' ));
END;
/
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'oci',
credential_name => 'OCI$RESOURCE_PRINCIPAL',
message => 'Text message for you.',
params => json_object('topic_ocid' value 'oci********pa',
'title' value 'Title for message subject' ));
END;
/
Argomento padre: Riepilogo dei sottoprogrammi DBMS_CLOUD_NOTIFICATION