Envoyer des notifications Microsoft Teams à partir d'Autonomous Database

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

Préparation de 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 :

  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 développeur pour les équipes.
  2. Dans la section Gestion des robots, assurez-vous que le bot dispose d'une clé secrète, que la portée est définie sur Equipe et que l'autorisation d'envoyer des notifications est autorisée.
  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 Teams.
  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 le répertoire/tenant id à partir de la page de présentation du bot pour une utilisation ultérieure.
    4. Ensuite, accédez à Droits d'accès d'API dans le panneau de gauche. Sous Droits d'accès API, cliquez sur Ajouter un droit d'accès, sélectionnez Microsoft graph, puis Droit d'accès à l'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 autorisations demandées ci-dessus à partir du portail Azure en suivant les étapes ci-dessous :
    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 à Droits d'accès à l'API et accordez le consentement ADMIN pour les droits d'accès demandés : 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 aux autres utilisateurs pour installer l'application 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 de l'application et la clé secrète utilisée 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 fichier tenant id se trouve après "tenantId=" à la fin du lien d'é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 le lien de canal entre /team/ et le nom du 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 d'exécution aux 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

Une fois l'objet d'informations d'identification Microsoft Teams créé, 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 à Procédure SEND_MESSAGE.

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 à Procédure SEND_DATA.