Pacchetto DBMS_CLOUD_NOTIFICATION
Il pacchetto 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 contiene un riepilogo dei sottoprogrammi inclusi nel package.
Argomento padre: riferimento al package fornito da Autonomous Database
DBMS_CLOUD_NOTIFICATION Panoramica
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: DBMS_CLOUD_NOTIFICATION Package
Riepilogo dei sottoprogrammi DBMS_CLOUD_NOTIFICATION
Questa tabella contiene un riepilogo dei sottoprogrammi inclusi nel pacchetto.
Programma secondario | descrizione; |
---|---|
Inviare l'output della query SQL a un provider. |
|
Invia un messaggio di testo a un provider. |
- SEND_DATA Procedura
La proceduraSEND_DATA
invia i risultati della query specificata a un provider. - SEND_MESSAGE Procedura
La procedura invia un messaggio di testo a un provider.
Argomento padre: DBMS_CLOUD_NOTIFICATION Package
SEND_DATA Procedura
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. |
|
Il 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 per uso
-
Utilizzare la procedura
DBMS_CLOUD.CREATE_CREDENTIAL
(credential_name
,username
,password)
per creare l'oggetto credenziale.Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedura.
-
Per il provider
email
, tenere presente quanto riportato di seguito.-
L'utente richiede un endpoint di connessione SMTP per il server di consegna tramite e-mail per ottenere
smtp_host
. L'utente richiede inoltre che un mittente approvato SMTP e le relative credenziali vengano autenticate 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_DATA
con il provideremail
è di 32k byte. -
È possibile utilizzare
DBMS_CLOUD_NOTIFICATION
solo per le notifiche di posta elettronica con Autonomous 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 inoltre l'accesso per l'autorizzazioneFiles.ReadWrite.All
eChannelSettings.Read.All
per l'API Graph dal proprio portale Azure. Per generare il token richiesto, l'utente richiedebot_id
nel nome utente ebot_secret
nella password.La dimensione massima del file supportata quando si utilizza
DBMS_CLOUD_NOTIFICATION.SEND_DATA
per Microsoft Teams è di 4 MB. - Per il provider
slack
, il valoreusername
può essere qualsiasi stringa valida epassword
è il token bot Slack.
Esempi
Inviare l'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;
/
Inviare l'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;
/
Inviare l'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
SEND_MESSAGE Procedura
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. |
|
Il 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 tramite e-mail per ottenere smtp_host
. L'utente richiede inoltre che un mittente approvato SMTP e le relative credenziali vengano autenticate 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 inoltre 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 Database, la credenziale, se si utilizzano le credenziali utente e l'argomento della sottoscrizione deve 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 al 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 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