Microsoft Teams-Benachrichtigungen von Autonomous Database senden

Beschreibt, wie Sie Microsoft Teams so konfigurieren, dass Sie Nachrichten, Alerts oder Ausgaben 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.

Senden von Microsoft Teams-Benachrichtigungen von Autonomous Database vorbereiten

Konfigurieren Sie zunächst einen Bot in Ihrer Microsoft Teams-App. Erstellen Sie als Nächstes Zugangsdaten, die mit den DBMS_CLOUD_NOTIFICATION-Prozeduren verwendet werden sollen, 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 Botmanagement sicher, dass der Bot über einen Secret Key, den Geltungsbereich auf Team und die Berechtigung zum Senden von Benachrichtigungen verfügt.
  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 App vom Admin Center aus genehmigt hat, installieren Sie die App im Abschnitt Apps in Teams.
  5. Fordern Sie die Berechtigungen Files.ReadWrite.All und ChannelSettings.Read.All für die App für die Diagramm-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 Fensterbereich zu Azure Active Directory, und wählen Sie die Option Anwendung aus.
    2. Auf der Seite "Anwendung" werden die Apps angezeigt, für die Sie verantwortlich sind, sowie die Bots, die diesen Apps hinzugefügt wurden. Klicken Sie auf den Bot, um seine Details anzuzeigen.
    3. Kopieren Sie das Verzeichnis/Mandanten-ID zur späteren Verwendung von der Botüberblickseite.
    4. Gehen Sie dann im linken Bereich zu API-Berechtigungen. Klicken Sie unter API-Berechtigungen auf Berechtigung hinzufügen, wählen Sie Microsoft-Diagramm und dann Anwendungsberechtigung aus.
    5. Suchen Sie nach den Berechtigungen Files.ReadWrite.All und ChannelSettings.Read.All, und fügen Sie sie hinzu.
  6. Lassen Sie den IT-Administrator die oben angeforderten Berechtigungen vom Azure-Portal genehmigen, indem Sie die folgenden Schritte ausführen:
    1. Melden Sie sich bei Ihrem Azure-Portal an, navigieren Sie im linken Fensterbereich zu Azure Active Directory, und wählen Sie die Option Anwendung aus.
    2. Wählen Sie auf der Seite Anwendung die Option Alle Anwendungen.
    3. Suchen Sie die Anwendung/Bot nach ihrem Namen, gehen Sie zu API-Berechtigungen, und erteilen Sie der 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 für andere Benutzer angeben, um die App in Teams in der Organisation zu installieren.
  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. Diesen Link finden Sie, indem Sie auf die drei Punkte neben dem Teamnamen klicken und Link zum Team abrufen auswählen.

    Beispiele:

    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. Diesen Link finden Sie, indem Sie auf die drei Punkte neben dem Kanalnamen klicken und Link zu Kanal abrufen auswählen.

    Beispiele:

    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, wenden Sie sich an den ADMIN-Benutzer, um Ausführungszugriff für DBMS_CLOUD-Packages zu erteilen.

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

    Beispiele:

    
    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 Microsoft Teams-Zugangsdatenobjekt erstellt haben, wie unter Microsoft Teams-Benachrichtigungen von Autonomous Database senden 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 Microsoft Teams-Zugangsdatenobjekt 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.