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 Paketreferenz
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: Paket DBMS_CLOUD_NOTIFICATION
Zusammenfassung der DBMS_CLOUD_NOTIFICATION-Unterprogramme
In dieser Tabelle werden die im Package enthaltenen Unterprogramme zusammengefasst.
Unterprogramm | Beschreibung |
---|---|
Ausgabe der SQL-Abfrage an einen Provider senden |
|
Textnachricht an einen Provider senden. |
- Prozedur SEND_DATA
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: Paket DBMS_CLOUD_NOTIFICATION
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 erforderlich. |
|
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 Zugangsdaten. Für den Slack-Provider muss der Benutzername der Zugangsdaten Dieser Parameter ist erforderlich. |
|
Gibt die auszuführende SQL-Abfrage an. Ergebnisse werden an den Mitarbeiter gesendet. Dieser Parameter ist erforderlich. |
|
Gibt bestimmte Parameter für die Für den Providertyp
Für den Providertyp
Für den Providertyp
Dieser Parameter ist erforderlich. |
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 Provider
email
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, um sich beim Email Delivery-Server zu authentifizieren, um diecredential_name
zu erhalten. 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 Provider
msteams
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 die Genehmigung vom Admin Center eingeholt wurde. Der Benutzer benötigt außerdem über das Azure-Portal Zugriff auf die BerechtigungenFiles.ReadWrite.All
undChannelSettings.Read.All
für die Graph-API. 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 Provider
slack
kann der Wertusername
eine beliebige gültige Zeichenfolge sein, undpassword
ist das Slack-Bottoken.
Beispiele
Senden Sie SQL-Ausgabe mit dem 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;
/
Senden Sie SQL-Ausgabe mit dem 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;
/
Senden Sie SQL-Ausgabe mit dem 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;
/
Übergeordnetes Thema: Zusammenfassung der DBMS_CLOUD_NOTIFICATION-Unterprogramme
Prozedur SEND_MESSAGE
Die Prozedur sendet eine Textnachricht an einen Provider.
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 erforderlich. |
|
Name des Zugangsdatenobjekts für den Zugriff auf den Provider.
Dieser Parameter ist erforderlich. Verwenden Sie die Prozedur |
|
Gibt den Meldungstext an. Dieser Parameter ist erforderlich. |
|
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 Provider email
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, um sich beim Email Delivery-Server zu authentifizieren, um die credential_name
zu erhalten. SMTP-Verbindung muss konfiguriert sein, und SMTP-Zugangsdaten müssen generiert und genehmigt werden.
Verwendungshinweis für den Msteams-Mitarbeiter
Für den Provider msteams
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 die Genehmigung vom Admin Center eingeholt wurde. Der Benutzer benötigt außerdem über das Azure-Portal Zugriff auf die Berechtigungen Files.ReadWrite.All
und ChannelSettings.Read.All
für die Graph-API. 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 Provider slack
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 mit dem email
-Provider:
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 mit dem msteams
-Provider:
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 mit dem slack
-Provider:
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 DBMS_CLOUD_NOTIFICATION-Unterprogramme