DBMS_CLOUD_NOTIFICATION-Package
Mit dem Package DBMS_CLOUD_NOTIFICATION
können Sie Nachrichten oder die Ausgabe einer SQL-Abfrage an einen Provider senden.
- DBMS_CLOUD_NOTIFICATION Überblick
Beschreibt dasDBMS_CLOUD_NOTIFICATION
-Package. - Zusammenfassung der DBMS_CLOUD_NOTIFICATION-Unterprogramme
In dieser Tabelle werden die im Package enthaltenen Unterprogramme zusammengefasst.
Übergeordnetes Thema: Von Autonomous Database bereitgestellte Packages - Referenz
DBMS_CLOUD_NOTIFICATION - Überblick
Beschreibt das Package DBMS_CLOUD_NOTIFICATION
.
Die unterstützten Provider mit DBMS_CLOUD_NOTIFICATION
sind: E-Mail, Microsoft Teams, OCI Notifications (ONS) und Slack.
Wenn Sie den OCI Notifications-Service mit dem Package DBMS_CLOUD_NOTIFICATION
verwenden, wird nur die Prozedur DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
unterstützt (die Prozedur DBMS_CLOUD_NOTIFICATION.SEND_DATA
wird nicht unterstützt)
Übergeordnetes Thema: DBMS_CLOUD_NOTIFICATION Package
Zusammenfassung der DBMS_CLOUD_NOTIFICATION-Unterprogramme
In dieser Tabelle werden die im Package enthaltenen Unterprogramme zusammengefasst.
Unterprogramm | Beschreibung |
---|---|
SQL-Abfrageausgabe an einen Provider senden |
|
Eine Textnachricht an einen Provider senden. |
- SEND_DATA-Prozedur
Die ProzedurSEND_DATA
sendet die Ergebnisse der angegebenen Abfrage an einen Provider. - Prozedur SEND_MESSAGE
Die Prozedur sendet eine Textnachricht an einen Provider.
Übergeordnetes Thema: DBMS_CLOUD_NOTIFICATION Package
Prozedur SEND_DATA
Die Prozedur SEND_DATA
sendet die Ergebnisse der angegebenen Abfrage an einen Provider.
Syntax
DBMS_CLOUD_NOTIFICATION.SEND_DATA
(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
query IN CLOB,
params IN CLOB
);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt den Provider an. Gültige Werte sind: ' Dieser Parameter ist obligatorisch. |
|
Der Name des Zugangsdatenobjekts für den Zugriff auf den Provider. Für den E-Mail-Provider sind die Zugangsdaten der Zugangsdaten des SMTP-genehmigten Absenders, der seinen Benutzernamen und sein Kennwort enthält. Für den msteams-Provider sind die Zugangsdaten der Name der Berechtigungsnachweise. Für den Slack-Provider muss der Benutzername der Zugangsdaten Dieser Parameter ist obligatorisch. |
|
Gibt die auszuführende SQL-Abfrage an. Ergebnisse werden an den klinischen Mitarbeiter gesendet. Dieser Parameter ist obligatorisch. |
|
Gibt bestimmte Parameter für die Für den Providertyp
Für den Providertyp
Für den Providertyp
Dieser Parameter ist obligatorisch. |
Hinweise zur Verwendung
-
Verwenden Sie die Prozedur
DBMS_CLOUD.CREATE_CREDENTIAL
(credential_name
,username
,password)
, um das Zugangsdatenobjekt zu erstellen.Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.
-
Beachten Sie für den
email
-Provider Folgendes:-
Der Benutzer benötigt einen SMTP-Verbindungsendpunkt, damit der Email Delivery-Server
smtp_host
abrufen kann. Der Benutzer benötigt außerdem einen SMTP-genehmigten Absender und seine Zugangsdaten zur Authentifizierung beim Email Delivery-Server, um diecredential_name
abzurufen. Die SMTP-Verbindung muss konfiguriert sein, und die SMTP-Zugangsdaten müssen generiert und genehmigt werden. -
Die maximale Nachrichtengröße, die bei der Verwendung von
DBMS_CLOUD_NOTIFICATION.SEND_DATA
mit dememail
-Provider unterstützt wird, beträgt 32k Byte. -
Sie können
DBMS_CLOUD_NOTIFICATION
nur für E-Mail-Benachrichtigungen mit Autonomous Database Version 19.21 und höher verwenden.
-
-
Für den
msteams
-Provider benötigt der Benutzer die Microsoft Teams-App und einen darin konfigurierten Bot. Die App muss in der Organisation veröffentlicht und installiert werden, nachdem der Administrator die Genehmigung vom Admin Center erhalten hat. Der Benutzer benötigt auch Zugriff für die BerechtigungFiles.ReadWrite.All
undChannelSettings.Read.All
für die Graph-API über sein Azure-Portal. Um das erforderliche Token zu generieren, benötigt der Benutzerbot_id
im Benutzernamen undbot_secret
im Kennwort.Die maximale Dateigröße, die bei der Verwendung von
DBMS_CLOUD_NOTIFICATION.SEND_DATA
für Microsoft Teams unterstützt wird, beträgt 4 MB. - Für den
slack
-Provider kann der Wertusername
eine beliebige gültige Zeichenfolge sein, undpassword
ist das Slack-Bottoken.
Beispiele
SQL-Ausgabe mit dem Provider email
senden:
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;
/
SQL-Ausgabe mit dem Provider msteams
senden:
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;
/
SQL-Ausgabe mit dem Provider slack
senden:
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;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_NOTIFICATION
Prozedur SEND_MESSAGE
Die Prozedur sendet eine Textnachricht an einen Mitarbeiter.
Syntax
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE
(
provider IN VARCHAR2,
credential_name IN VARCHAR2,
message IN CLOB,
params IN CLOB
);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt den Provider an. Gültige Werte sind: ' Dieser Parameter ist obligatorisch. |
|
Der Name des Zugangsdatenobjekts für den Zugriff auf den Provider.
Dieser Parameter ist obligatorisch. Verwenden Sie die Prozedur |
|
Gibt den Meldungstext an. Dieser Parameter ist obligatorisch. |
|
Gibt bestimmte Parameter für die Für den Providertyp
Für den Providertyp
Für den Providertyp
Für den Provider OCI Notifications mit dem Typ
Beim
|
Verwendungshinweis für E-Mail-Provider
Für den email
-Provider benötigt der Benutzer einen SMTP-Verbindungsendpunkt, damit der Email Delivery-Server smtp_host
abrufen kann. Der Benutzer benötigt außerdem einen SMTP-genehmigten Absender und seine Zugangsdaten zur Authentifizierung beim Email Delivery-Server, um die credential_name
abzurufen. SMTP-Verbindung muss konfiguriert sein, und SMTP-Zugangsdaten müssen generiert und genehmigt werden.
Verwendungshinweis für den Msteams-Mitarbeiter
Für den msteams
-Provider benötigt der Benutzer die Microsoft Teams-App und einen darin konfigurierten Bot. Die App muss in der Organisation veröffentlicht und installiert werden, nachdem der Administrator die Genehmigung vom Admin Center erhalten hat. Der Benutzer benötigt auch Zugriff für die Berechtigung Files.ReadWrite.All
und ChannelSettings.Read.All
für die Graph-API über sein Azure-Portal. Um das erforderliche Token zu generieren, benötigt der Benutzer bot_id
im Benutzernamen und bot_secret
im Kennwort.
Verwendungshinweis für den Slack-Provider
Für den slack
-Provider kann der Wert username
eine beliebige gültige Zeichenfolge sein, und password
ist das Slack-Bottoken.
Nutzungshinweise für OCI-Provider-OCI-Benachrichtigungen
Die DBMS_CLOUD_NOTIFICATION
unterstützt den OCI-Benachrichtigungsprovider. Einzelheiten zum OCI-Benachrichtigungsprovider finden Sie unter Überblick über Notifications.
- Um den OCI Notifications-Provider zu verwenden, müssen Sie Folgendes tun:
- Thema erstellen. Weitere Informationen zum Erstellen von Themen finden Sie unter Themen erstellen.
- Erstellen Sie die erforderlichen Abonnements. Weitere Informationen zum Erstellen eines Abonnements finden Sie unter Abonnement erstellen.
- Nachdem Sie die Abonnements erstellt haben, bestätigen Sie die Abonnements. Nachrichten werden nur für bestätigte Abonnements veröffentlicht. Einzelheiten zur Bestätigung von Abonnements finden Sie unter Abonnement bestätigen.
- Die Autonomous Database-Instanz, die Zugangsdaten, wenn Sie Benutzerzugangsdaten verwenden, und das Abonnementthema müssen sich alle in derselben Region befinden.
- Dabei gelten die folgenden Einschränkungen.
- Grenzwert für Nachrichtengröße: Die maximale Nachrichtengröße pro Anforderung beträgt 64 KB. Nachrichten, die diese Größe überschreiten, können nicht innerhalb einer einzigen Anforderung gesendet oder verarbeitet werden.
- Ratenlimit für die Nachrichtenzustellung: Je nach verwendetem Protokoll gibt es unterschiedliche Ratenlimits für die Nachrichtenzustellung.
email
-Protokoll: Das Limit beträgt 10 Nachrichten pro Minute pro Endpunkt.
Diese Einschränkung kann sich auf die Geschwindigkeit auswirken, mit der Nachrichten übertragen und empfangen werden können.
- Transaktionslimit pro Minute (TPM) pro Mandant: Für diesen Vorgang gibt es ein TPM-Limit von 60 pro Thema. Dieses Limit gibt die maximale Anzahl von Nachrichten pro Minute an, die für ein bestimmtes Thema verarbeitet oder verarbeitet werden können. Eine Überschreitung dieses Limits kann dazu führen, dass Nachrichten nicht langsamer verarbeitet oder verarbeitet werden.
Beispiele
Senden Sie eine Textnachricht an den 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;
/
Senden Sie eine Textnachricht an den 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;
/
Senden Sie eine Textnachricht an den 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;
/
Senden Sie eine Textnachricht mit OCI Notifications, und geben Sie den oci
-Provider ein:
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;
/
Übergeordnetes Thema: Zusammenfassung der Unterprogramme DBMS_CLOUD_NOTIFICATION