Envoi de notifications Microsoft Teams à partir d'Autonomous Database

Explique comment configurer Microsoft Teams afin que vous puissiez envoyer des messages, des alertes ou la sortie d'une requête à partir d'Autonomous Database vers un canal Microsoft Teams. Décrit également les procédures que vous utilisez pour envoyer des notifications Microsoft Teams.

Préparation à l'envoi de notifications Microsoft Teams à partir d'Autonomous Database

Commencez par configurer un bot dans votre application Microsoft Teams. Créez ensuite des informations d'identification à utiliser avec les procédures DBMS_CLOUD_NOTIFICATION pour envoyer des notifications Microsoft Teams à partir d'Autonomous Database.

Pour configurer les notifications Microsoft Teams, procédez comme suit :

  1. Créez votre application Microsoft Teams et ajoutez-y un bot. Pour plus d'informations sur la configuration d'une application, reportez-vous à Portail des développeurs pour les équipes.
  2. Dans la section Gestion des bots, assurez-vous que le bot dispose d'une clé secrète, d'une portée définie sur Equipe et de droits d'accès permettant d'envoyer des notifications.
  3. Publiez l'application dans votre organisation pour la mettre à la disposition des personnes de votre organisation.
  4. Une fois que votre administrateur informatique a approuvé l'application à partir du centre d'administration, installez-la à partir de la section Applications dans Equipes.
  5. Demandez les droits d'accès Files.ReadWrite.All et ChannelSettings.Read.All à l'application pour l'API Graph à partir du portail Azure en suivant les instructions suivantes :
    1. Connectez-vous à votre portail Azure, accédez à Azure Active Directory à l'aide du panneau de gauche et sélectionnez l'option Application.
    2. La page Application affiche les applications que vous possédez, ainsi que les bots ajoutés à ces applications. Cliquez sur le bot pour afficher ses détails.
    3. Copiez l'ID de répertoire/locataire à partir de la page de présentation du bot pour une utilisation ultérieure.
    4. Ensuite, accédez à Autorisations d'API dans le panneau de gauche. Sous Autorisations d'API, cliquez sur Ajouter une autorisation, sélectionnez Graphique Microsoft, puis Autorisation d'application.
    5. Recherchez les droits d'accès Files.ReadWrite.All et ChannelSettings.Read.All et ajoutez-les.
  6. Demandez à votre administrateur informatique d'approuver les droits d'accès demandés ci-dessus à partir du portail Azure en procédant comme suit :
    1. Connectez-vous à votre portail Azure, accédez à Azure Active Directory à l'aide du panneau de gauche et sélectionnez l'option Application.
    2. Sélectionnez Toutes les applications sur la page Application.
    3. Recherchez l'application/bot par son nom, accédez à Autorisations d'API et accordez le consentement ADMIN pour les autorisations demandées : Files.ReadWrite.All et ChannelSettings.Read.All.

    Conseil :

    Une fois votre application approuvée par l'administrateur informatique, vous pouvez fournir l'ID de bot et la clé secrète à d'autres utilisateurs pour l'installer dans Teams dans l'organisation.
  7. Une fois l'application approuvée par l'administrateur informatique et les droits d'accès demandés ci-dessus accordés, vous pouvez utiliser l'ID de bot et la clé secrète de l'application pour créer l'objet d'informations d'identification et générer un jeton de bot.
  8. Pour envoyer un résultat de requête à un canal Microsoft Teams, obtenez team id et tenant id.

    Conseil :

    Le team id est situé dans le lien d'équipe entre /team/ et /conversations. Le tenant id se trouve après "tenantId=" à la fin du lien de l'équipe. Pour accéder à ce lien, cliquez sur les trois points en regard du nom de l'équipe et sélectionnez Obtenir le lien vers l'équipe.

    Par exemple :

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

  9. Obtenez le fichier channelID.

    Conseil :

    channelID se trouve dans la liaison de canal entre /team/ et le nom de canal. Pour accéder à ce lien, cliquez sur les trois points en regard du nom du canal et sélectionnez Obtenir le lien vers le canal.

    Par exemple :

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

  10. Créez un objet d'informations d'identification pour accéder à l'application Microsoft Teams à partir d'Autonomous Database.

    Conseil :

    Si vous ne pouvez pas utiliser la procédure CREATE_CREDENTIAL avec succès, consultez l'utilisateur ADMIN pour accorder l'accès à l'exécution sur les packages DBMS_CLOUD.

    Le nom utilisateur des informations d'identification est bot_id et le mot de passe est la clé de bot.

    Par exemple :

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

    Pour plus d'informations, reportez-vous à Procédure CREATE_CREDENTIAL.

Envoyer des messages à un canal Microsoft Teams

Après avoir créé l'objet d'informations d'identification Microsoft Teams comme décrit dans Préparation à l'envoi de notifications Microsoft Teams à partir d'Autonomous Database, vous pouvez utiliser la procédure DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE pour envoyer un message à un canal Microsoft Teams.

Exemple :

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;
/
 

Utilisez le paramètre params pour indiquer le canal.

Pour plus d'informations, reportez-vous à SEND_MESSAGE Procédure.

Envoyer les résultats de la requête à un canal Microsoft Teams

Après avoir créé l'objet d'informations d'identification Microsoft Teams, comme décrit dans Préparation à l'envoi de notifications Microsoft Teams à partir d'Autonomous Database, vous pouvez utiliser la procédure DBMS_CLOUD_NOTIFICATION.SEND_DATA pour envoyer la sortie d'une requête à un canal Microsoft Teams.

Exemple :

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;
/
 

Utilisez le paramètre params pour indiquer le locataire, l'équipe, le canal, le titre et le type de données dans les valeurs string.

Remarque

La taille de fichier maximale prise en charge lors de l'utilisation de DBMS_CLOUD_NOTIFICATION.SEND_DATA pour Microsoft Teams est de 4 Mo.

Pour plus d'informations, reportez-vous à SEND_DATA Procédure.