Slack-Benachrichtigungen von Autonomous AI Database on Dedicated Exadata Infrastructure senden
Sie können Slack so konfigurieren, dass Nachrichten, Alerts oder die Ausgabe einer Abfrage aus der autonomen KI-Datenbank auf dedizierter Exadata-Infrastruktur mit dem Package DBMS_CLOUD_NOTIFICATION an einen Slack-Kanal gesendet werden.
Slack-Benachrichtigungen aus autonomer KI-Datenbank senden
Um Slack-Benachrichtigungen zu senden, müssen Sie die Slack-Anwendung so konfigurieren, dass sie Nachrichten von der autonomen KI-Datenbank empfängt. Erstellen Sie als Nächstes Zugangsdaten für die DBMS_CLOUD_NOTIFICATION-Prozeduren, um Slack-Benachrichtigungen aus der autonomen KI-Datenbank zu senden.
So verwenden Sie Slack mit DBMS_CLOUD_NOTIFICATION-Prozeduren:
-
Erstellen Sie Ihre Slack-App.
Die Slack-App wird in einem Slack-Workspace installiert, der wiederum Kanäle enthält, über die Nachrichten gesendet werden können. Für das Bottoken der Slack-App müssen die folgenden Berechtigungsbereiche definiert sein:
channels:read chat:write files:writeInformationen zum Einrichten einer Slack-App finden Sie unter App erstellen.
-
Lassen Sie Ihren Slack-Administrator die Slack-App zu den Kanälen hinzufügen, an die
DBMS_CLOUD_NOTIFICATIONeine Nachricht über die Option "Integrationen" im Kanal senden kann.Weitere Informationen finden Sie unter Einfaches App-Setup.
-
Suchen Sie das Bottoken der App, das auf der spezifischen Seite der Slack-Anwendung unter
https://app.slack.comverfügbar ist.Weitere Informationen finden Sie unter Einfaches App-Setup.
-
Konfigurieren Sie auf Exadata Cloud@Customer die HTTP-Proxyeinstellungen in Ihrer Umgebung, damit die Datenbank auf Slack zugreifen kann. Informationen zum Einrichten der HTTP-Proxyeinstellungen beim Erstellen einer Exadata Cloud@Customer-Infrastruktur finden Sie unter Exadata Database Service on Cloud@Customer mit der Konsole bereitstellen.
Hinweis: Die Netzwerkkonfiguration einschließlich des HTTP-Proxys kann nur bearbeitet werden, bis die Exadata-Infrastruktur den Status "Aktivierung erforderlich" aufweist. Sobald es aktiviert ist, können Sie diese Einstellungen nicht mehr bearbeiten.
Um einen HTTP-Proxy für eine bereits bereitgestellte Exadata-Infrastruktur einzurichten, leiten Sie eine Serviceanfrage (SR) in My Oracle Support weiter. Weitere Informationen finden Sie unter Service Request in My Oracle Support erstellen.
-
Erstellen Sie ein Zugangsdatenobjekt für den Zugriff auf die Slack-App aus der autonomen KI-Datenbank.
Tipp: Wenn Sie die Prozedur
CREATE_CREDENTIALnicht erfolgreich verwenden können, wenden Sie sich an den ADMIN-Benutzer, um Ausführungszugriff fürDBMS_CLOUD-Packages zu erteilen.Der Benutzername der Zugangsdaten lautet
SLACK_TOKEN, und das Kennwort ist das Bottoken.Beispiel:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL( credential_name => 'SLACK_CRED', username => 'SLACK_TOKEN', password => 'xoxb-34....96-34....52-zW....cy'); END; /Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.
-
Konfigurieren Sie die Zugriffskontrolle, um den Benutzerzugriff auf externe Netzwerkservices (Slack) zuzulassen.
BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE ( host => 'slack.com', lower_port => 443, upper_port => 443, ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => example_invoking_user, principal_type => xs_acl.ptype_db)); END; -
Wenn Sie SQL senden, konfigurieren Sie die Zugriffskontrolle, damit die Ausgabe mit
DBMS_CLOUD_NOTIFICATION.SEND_DATAgesendet werden kann.BEGIN DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE ( host => 'slack.com', lower_port => 443, upper_port => 443, ace => xs$ace_type( privilege_list => xs$name_list('http'), principal_name => example_invoking_user, principal_type => xs_acl.ptype_db)); END;Weitere Informationen finden Sie unter Configuring Access Control for External Network Services in Oracle Database 19c Security Guide oder Oracle Database 26ai Security Guide.
Nachrichten an einen Slack-Kanal senden
Nachdem Sie das Slack-Zugangsdatenobjekt erstellt haben, wie unter "Slack-Benachrichtigungen aus autonomer KI-Datenbank senden vorbereiten" beschrieben, können Sie mit der Prozedur DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE eine Nachricht an einen Slack-Kanal senden.
Beispiel:
BEGIN
DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
provider => 'slack',
credential_name => 'SLACK_CRED',
message => 'Alert from Autonomous Database...',
params => json_object('channel' value 'C0....08'));
END;
/
Verwenden Sie den Parameter params, um den Slack-Kanal anzugeben.
channel: Gibt die Kanal-ID an.
Die Kanal-ID ist eine eindeutige ID für einen Kanal und unterscheidet sich vom Kanalnamen. Wenn Sie in Slack Kanaldetails anzeigen, finden Sie die Kanal-ID auf der Registerkarte "Info"?. Weitere Informationen finden Sie unter So finden Sie Ihre Slack-Team-ID und Slack-Kanal-ID.
Weitere Informationen finden Sie unter Prozedur SEND_MESSAGE.
Abfrageergebnisse an einen Slack-Kanal senden
Nachdem Sie das Slack-Zugangsdatenobjekt erstellt haben, wie unter "Slack-Benachrichtigungen aus autonomer KI-Datenbank senden vorbereiten" beschrieben, können Sie die Ausgabe einer Abfrage mit der Prozedur DBMS_CLOUD_NOTIFICATION.SEND_DATA an einen Slack-Kanal senden.
Beispiel:
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;
/
Verwenden Sie den Parameter params, um den Slack-Kanal und den Datentyp anzugeben:
-
channel: Gibt die Kanal-ID an.Die Kanal-ID ist eine eindeutige ID für einen Kanal und unterscheidet sich vom Kanalnamen. Wenn Sie in Slack Kanaldetails anzeigen, finden Sie die Kanal-ID auf der Registerkarte "Info"?. Weitere Informationen finden Sie unter So finden Sie Ihre Slack-Team-ID und Slack-Kanal-ID.
-
type: Gibt den Ausgabetyp an. Gültige Werte sind: "csv" oder "json".