Envíe notificaciones de Slack desde Autonomous AI Database en una infraestructura de Exadata dedicada

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

Prepárese para enviar notificaciones de Slack desde la base de datos de IA autónoma

Para enviar notificaciones de Slack, debe configurar la aplicación Slack para que reciba mensajes de Autonomous AI Database. A continuación, cree una credencial para utilizarla con los procedimientos DBMS_CLOUD_NOTIFICATION para enviar notificaciones de Slack desde Autonomous AI Database.

Para utilizar Slack con procedimientos DBMS_CLOUD_NOTIFICATION:

  1. Crea tu aplicación de Slack.

    La aplicación Slack se instala en un espacio de trabajo de Slack, que a su vez tiene canales donde se pueden enviar mensajes. El token de bot de la aplicación Slack debe tener definidos los siguientes ámbitos de permiso:

     channels:read
     chat:write
     files:write
    

    Consulte Creación de una aplicación para obtener información sobre la configuración de una aplicación de Slack.

  2. Haga que su administrador de Slack agregue la aplicación de Slack a los canales a los que DBMS_CLOUD_NOTIFICATION puede enviar mensajes a través de la opción "Integraciones" en el canal.

    Consulte Configuración básica de aplicaciones para obtener más información.

  3. Localice el token de bot de la aplicación disponible en la página específica de la aplicación Slack, en https://app.slack.com.

    Consulte Configuración básica de aplicaciones para obtener más información.

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

    Nota: La configuración de red, incluido el proxy HTTP, solo se puede editar hasta que la infraestructura de Exadata tenga el estado Necesita activación. Una vez que se activa, 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 Crear Solicitud de Servicio en My Oracle Support para obtener más información.

  5. Cree un objeto de credencial para acceder a la aplicación Slack desde Autonomous AI Database.

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

    El nombre de usuario de la credencial es SLACK_TOKEN y la contraseña es el token del bot.

    Por ejemplo:

     BEGIN
        DBMS_CLOUD.CREATE_CREDENTIAL(
          credential_name => 'SLACK_CRED',
          username    => 'SLACK_TOKEN',
          password    => 'xoxb-34....96-34....52-zW....cy');
     END;
     /
    

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

  6. Configure el control de acceso para permitir el acceso del usuario a los servicios de red externos (Slack).

     BEGIN
      DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE (
       host         => 'slack.com',
       lower_port   => 443,
       upper_port   => 443,
       ace          => xs$ace_type(
           privilege_list => xs$name_list('http'),
           principal_name => example_invoking_user,
           principal_type => xs_acl.ptype_db));
     END;
    
  7. Si está enviando SQL, configure el control de acceso para permitir el envío de salida con DBMS_CLOUD_NOTIFICATION.SEND_DATA.

     BEGIN
      DBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE (
       host         => 'slack.com',
       lower_port   => 443,
       upper_port   => 443,
       ace          => xs$ace_type(
           privilege_list => xs$name_list('http'),
           principal_name => example_invoking_user,
           principal_type => xs_acl.ptype_db));
     END;
    

    Consulte Configuring Access Control for External Network Services en la Oracle Database 19c Security Guide u Oracle Database 26ai Security Guide para obtener más información.

Envío de mensajes a un canal de Slack

Después de crear el objeto de credencial de Slack como se describe en Prepare to Send Slack Notifications from Autonomous AI Database, puede utilizar el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE para enviar un mensaje a un canal de Slack.

Ejemplo:

BEGIN
   DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE(
      provider          => 'slack',
      credential_name   => 'SLACK_CRED',
      message           => 'Alert from Autonomous Database...',
      params            => json_object('channel' value 'C0....08'));
END;
/

Utilice el parámetro params para especificar el canal de Slack.

channel: especifica el ID de canal.

El ID de canal es un ID único para un canal y es diferente del nombre del canal. En Slack, al ver los detalles del canal, puede encontrar el ID de canal en el separador "Acerca de". Consulte How to Find your Slack Team ID and Slack Channel ID para obtener más información.

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

Envío de resultados de consultas a un canal de Slack

Después de crear el objeto de credencial de Slack, como se describe en Prepare to Send Slack Notifications from Autonomous AI Database, puede utilizar el procedimiento DBMS_CLOUD_NOTIFICATION.SEND_DATA para enviar la salida de una consulta a un canal de Slack.

Ejemplo:

BEGIN
  DBMS_CLOUD_NOTIFICATION.SEND_DATA(
      provider => 'slack',
      credential_name => 'SLACK_CRED',
      query => 'SELECT username, account_status, expiry_date FROM USER_USERS WHERE rownum < 5',
      params => json_object('channel' value 'C0....08',
                            'type' value 'csv'));
END;
/

Utilice el parámetro params para especificar el canal de Slack y el tipo de dato:

Temas relacionados