Microsoft Teams-Benachrichtigungen von Autonomous Database senden

Beschreibt, wie Sie Microsoft Teams so konfigurieren, dass Sie Nachrichten, Alerts oder die Ausgabe einer Abfrage von Autonomous Database an einen Microsoft Teams-Kanal senden können. Außerdem werden die Verfahren beschrieben, mit denen Sie Microsoft Teams-Benachrichtigungen senden.

Microsoft Teams-Benachrichtigungen von Autonomous Database senden vorbereiten

Konfigurieren Sie zunächst einen Bot in Ihrer Microsoft Teams-App. Erstellen Sie als Nächstes Zugangsdaten für die DBMS_CLOUD_NOTIFICATION-Prozeduren, um Microsoft Teams-Benachrichtigungen von Autonomous Database zu senden.

So konfigurieren Sie Microsoft Teams-Benachrichtigungen:

  1. Erstellen Sie Ihre Microsoft Teams-App, und fügen Sie einen Bot hinzu. Informationen zum Einrichten einer App finden Sie unter Entwicklerportal für Teams.
  2. Stellen Sie im Abschnitt Botverwaltung sicher, dass für den Bot ein Secret Key, ein Geltungsbereich auf Team und eine Berechtigung zum Senden von Benachrichtigungen festgelegt sind.
  3. Veröffentlichen Sie die App in Ihrer Organisation, um sie den Personen in Ihrer Organisation zur Verfügung zu stellen.
  4. Nachdem Ihr IT-Administrator die Anwendung vom Admin Center genehmigt hat, installieren Sie die Anwendung im Abschnitt Apps in Teams.
  5. Fordern Sie die Berechtigungen Files.ReadWrite.All und ChannelSettings.Read.All für die App für die Graph-API über das Azure-Portal an. Verwenden Sie dazu die folgenden Anweisungen:
    1. Melden Sie sich bei Ihrem Azure-Portal an, navigieren Sie im linken Bereich zu Azure Active Directory, und wählen Sie die Option Anwendung aus.
    2. Auf der Seite "Anwendung" werden die Apps angezeigt, deren Eigentümer Sie sind, sowie die Bots, die diesen Apps hinzugefügt wurden. Klicken Sie auf den Bot, um dessen Details anzuzeigen.
    3. Kopieren Sie das Verzeichnis/Mandanten-ID von der Botübersichtsseite zur späteren Verwendung.
    4. Gehen Sie dann im linken Bereich zu API-Berechtigungen. Klicken Sie unter API-Berechtigungen auf Berechtigung hinzufügen, und wählen Sie Microsoft-Diagramm, Anwendungsberechtigung aus.
    5. Suchen Sie nach den Berechtigungen Files.ReadWrite.All und ChannelSettings.Read.All, und fügen Sie sie hinzu.
  6. Lassen Sie Ihren IT-Administrator die oben angeforderten Berechtigungen aus dem Azure-Portal genehmigen, indem Sie die folgenden Schritte ausführen:
    1. Melden Sie sich bei Ihrem Azure-Portal an, navigieren Sie im linken Bereich zu Azure Active Directory, und wählen Sie die Option Anwendung aus.
    2. Wählen Sie auf der Seite Anwendung die Option Alle Anwendungen aus.
    3. Suchen Sie application/bot nach seinem Namen, gehen Sie zu API-Berechtigungen, und erteilen Sie die ADMIN-Zustimmung für die angeforderten Berechtigungen: Files.ReadWrite.All und ChannelSettings.Read.All.

    Tipp:

    Nachdem Ihre App vom IT-Administrator genehmigt wurde, können Sie die Bot-ID und den Secret Key anderen Benutzern zur Installation der App in Teams in der Organisation bereitstellen.
  7. Nachdem die App vom IT-Administrator genehmigt wurde und die oben angeforderten Berechtigungen erteilt wurden, können Sie die Bot-ID der App und den Secret Key verwenden, um das Zugangsdatenobjekt zu erstellen und ein Bottoken zu generieren.
  8. Um ein Abfrageergebnis an einen Microsoft Teams-Kanal zu senden, rufen Sie team id und tenant id ab.

    Tipp:

    Die team id befindet sich in der Teamverbindung zwischen /team/ und /conversations. Die tenant id befindet sich nach "tenantId=" am Ende des Teamlinks. Sie finden diesen Link, indem Sie auf die drei Punkte neben dem Teamnamen klicken und Link zum Team abrufen auswählen.

    Beispiel:

    https://teams.microsoft.com/l/team/teamID/conversations?groupId=groupid%tenantId=tenantid

  9. Rufen Sie channelID ab.

    Tipp:

    channelID befindet sich im Kanallink zwischen /team/ und dem Kanalnamen. Dieser Link wird gefunden, indem Sie auf die drei Punkte neben dem Kanalnamen klicken und Link zum Kanal abrufen auswählen.

    Beispiel:

    https://teams.microsoft.com/l/channel/channelID/channel_name?groupId=groupid&tenantId=tenantid

  10. Erstellen Sie ein Zugangsdatenobjekt, um über Autonomous Database auf die Microsoft Teams-App zuzugreifen.

    Tipp:

    Wenn Sie die Prozedur CREATE_CREDENTIAL nicht erfolgreich verwenden können, fragen Sie den ADMIN-Benutzer, um Ausführungszugriff für DBMS_CLOUD-Packages zu erteilen.

    Der Benutzername der Zugangsdaten ist bot_id, und das Kennwort ist der Botschlüssel.

    Beispiel:

    
    BEGIN     
        DBMS_CLOUD.CREATE_CREDENTIAL(credential_name => 'TEAMS_CRED',       
            username        => 'bot_id', 
            password        => 'bot_secret');
    END;
    /
     

    Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL.

Nachrichten an einen Microsoft Teams-Kanal senden

Nachdem Sie das Zugangsdatenobjekt von Microsoft Teams erstellt haben, wie unter Microsoft Teams-Benachrichtigungen aus Autonomous Database senden vorbereiten beschrieben, können Sie mit der Prozedur DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE eine Nachricht an einen Microsoft Teams-Kanal senden.

Beispiel:

BEGIN
     DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
        provider        => 'msteams',
        credential_name => 'TEAMS_CRED',
        message         => 'text from new teams api',
        params          => json_object('channel' value 'channelID'));
END;
/
 

Verwenden Sie den Parameter params, um den Kanal anzugeben.

Weitere Informationen finden Sie unter Prozedur SEND_MESSAGE.

Abfrageergebnisse an einen Microsoft Teams-Kanal senden

Nachdem Sie das Zugangsdatenobjekt von Microsoft Teams erstellt haben, wie unter Microsoft Teams-Benachrichtigungen aus Autonomous Database senden vorbereiten beschrieben, können Sie die Ausgabe einer Abfrage mit der Prozedur DBMS_CLOUD_NOTIFICATION.SEND_DATA an einen Microsoft Teams-Kanal senden.

Beispiel:

BEGIN
     DBMS_CLOUD_NOTIFICATION.SEND_DATA(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;
/
 

Verwenden Sie den Parameter params, um den Mandanten, das Team, den Kanal, den Titel und den Datentyp in string-Werten anzugeben.

Hinweis

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.

Weitere Informationen finden Sie unter Prozedur SEND_DATA.