Envío de notificaciones de Microsoft Teams desde Autonomous Database on Dedicated Exadata Infrastructure

Puede configurar Microsoft Teams para que envíe mensajes, alertas o salidas de una consulta desde Autonomous Database on Dedicated Exadata Infrastructure a un canal de Microsoft Teams mediante el paquete DBMS_CLOUD_NOTIFICATION.

Temas relacionados

Preparación para enviar notificaciones de Microsoft Teams desde Autonomous Database

Para empezar, configure un bot en la aplicación Microsoft Teams. A continuación, cree una credencial para utilizarla con los procedimientos DBMS_CLOUD_NOTIFICATION para enviar notificaciones de Microsoft Teams desde Autonomous Database.

Para configurar notificaciones de Microsoft Teams:

  1. Cree la aplicación de Microsoft Teams y agregue un bot. Consulte Portal para desarrolladores de equipos para obtener información sobre la configuración de una aplicación.
  2. En la sección Gestión de bots, asegúrese de que el bot tenga una clave secreta, un ámbito definido en Equipo y un permiso para enviar notificaciones.
  3. Publique la aplicación en su organización para que esté disponible para las personas de su organización.
  4. Una vez que el administrador de TI apruebe la aplicación desde el centro de administración, instale la aplicación desde la sección Aplicaciones de Teams.
  5. Solicite los permisos Files.ReadWrite.All y ChannelSettings.Read.All a la aplicación para Graph API desde el portal de Azure mediante las siguientes instrucciones:
    1. Conéctese al portal de Azure, vaya a Azure Active Directory mediante el panel izquierdo y seleccione la opción Aplicación.
    2. La página Aplicación muestra las aplicaciones que posee junto con los bots agregados a dichas aplicaciones. Haga clic en el bot para ver sus detalles.
    3. Copie el identificador de directorio/inquilino de la página de visión general del bot para su uso posterior.
    4. A continuación, vaya a Permisos de API en el panel izquierdo. En Permisos de API, haga clic en Agregar permiso, seleccione Gráfico de Microsoft y, a continuación, Permiso de aplicación.
    5. Busque los permisos Files.ReadWrite.All y ChannelSettings.Read.All y agréguelos.
  6. Pida a su administrador de TI que apruebe los permisos solicitados anteriormente desde el portal de Azure siguiendo los siguientes pasos:
    1. Conéctese al portal de Azure, vaya a Azure Active Directory mediante el panel izquierdo y seleccione la opción Aplicación.
    2. Seleccione Todas las aplicaciones en la página Aplicación.
    3. Busque la aplicación/bot por su nombre, vaya a permisos de API y otorgue el consentimiento de ADMIN para los permisos solicitados: Files.ReadWrite.All y ChannelSettings.Read.All.

    Sugerencia:

    Después de que el administrador de TI apruebe la aplicación, puede proporcionar el ID de bot y la clave secreta a otros usuarios para instalar la aplicación en Teams en la organización.
  7. Después de que el administrador de TI apruebe la aplicación y se otorguen los permisos solicitados anteriormente, puede utilizar el ID de bot de la aplicación y la clave secreta para crear el objeto de credencial y generar un token de bot.
  8. Para enviar un resultado de consulta a un canal de Microsoft Teams, obtenga team id y tenant id.

    Sugerencia:

    team id se encuentra en el enlace de equipo entre /team/ y /conversations. tenant id se encuentra después de "tenantId=" al final del enlace de equipo. Este enlace se encuentra haciendo clic en los tres puntos situados junto al nombre del equipo y seleccionando Obtener enlace al equipo.

    Por ejemplo:

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

  9. Obtenga channelID.

    Sugerencia:

    channelID se encuentra en el enlace de canal entre /team/ y el nombre de canal. Este enlace se encuentra haciendo clic en los tres puntos situados junto al nombre del canal y seleccionando Obtener enlace al canal.

    Por ejemplo:

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

  10. En Exadata Cloud@Customer, configure los valores de proxy HTTP en el entorno para permitir que la base de datos acceda a Microsoft Teams. Consulte Uso de la consola para aprovisionar Exadata Database Service en Cloud@Customer para obtener información sobre la configuración del proxy HTTP al crear una infraestructura de Exadata Cloud@Customer.

    Note:

    La configuración de red, incluido el proxy HTTP, solo se puede editar hasta que la infraestructura de Exadata tenga el estado Requiere activación. Una vez activada, no puede editar esa configuración.

    Para configurar un proxy HTTP para una infraestructura de Exadata ya aprovisionada, envíe una solicitud de servicio (SR) en My Oracle Support. Consulte Creación de una solicitud de servicio en My Oracle Support para obtener más información.

  11. Cree un objeto de credencial para acceder a la aplicación Microsoft Teams desde Autonomous Database.

    Sugerencia:

    Si no puede utilizar el procedimiento CREATE_CREDENTIAL correctamente, consulte con el usuario ADMIN para otorgar acceso de ejecución en los paquetes DBMS_CLOUD.

    El nombre de usuario de la credencial es bot_id y la contraseña es la clave del bot.

    Por ejemplo:

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

    Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.

Enviar mensajes a un canal de Microsoft Teams

Después de crear el objeto de credencial de Microsoft Teams como se describe en Preparación para enviar notificaciones de Microsoft Teams desde Autonomous Database, puede utilizar el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE para enviar un mensaje a un canal de Microsoft Teams.

Ejemplo:

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

Utilice el parámetro params para especificar el canal.

Consulte procedimiento SEND_MESSAGE para obtener más información.

Enviar resultados de consulta a un canal de Microsoft Teams

Después de crear el objeto de credencial de Microsoft Teams como se describe en Preparación para enviar notificaciones de Microsoft Teams desde Autonomous Database, puede utilizar el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_DATA para enviar la salida de una consulta a un canal de Microsoft Teams.

Ejemplo:

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

Utilice el parámetro params para especificar el inquilino, el equipo, el canal, el título y el tipo de dato en los valores string.

Note:

El tamaño máximo de archivo admitido al utilizar DBMS_CLOUD_NOTIFICATION.SEND_DATA para Microsoft Teams es de 4 MB.

Consulte procedimiento SEND_DATA para obtener más información.