Enviar Notificações do Microsoft Teams pelo Autonomous Database on Dedicated Exadata Infrastructure

Você pode configurar o Microsoft Teams para enviar mensagens, alertas ou saída de uma consulta do Autonomous Database on Dedicated Exadata Infrastructure para um canal do Microsoft Teams usando o pacote DBMS_CLOUD_NOTIFICATION.

Tópicos Relacionados

Preparar-se para Enviar Notificações do Microsoft Teams pelo Autonomous Database

Comece configurando um bot no seu aplicativo Microsoft Teams. Em seguida, crie uma credencial a ser usada com os procedimentos DBMS_CLOUD_NOTIFICATION para enviar notificações do Microsoft Teams do Autonomous Database.

Para configurar notificações do Microsoft Teams:

  1. Crie seu aplicativo Microsoft Teams e adicione um bot nele. Consulte Portal do Desenvolvedor para Equipes para obter informações sobre como configurar um aplicativo.
  2. Na seção Gerenciamento de Bot, certifique-se de que o bot tenha uma chave secreta, um escopo definido como Equipe e uma permissão para enviar notificações.
  3. Publique o aplicativo em sua organização para disponibilizá-lo às pessoas em sua organização.
  4. Depois que o administrador de TI aprovar o aplicativo no centro de administração, instale-o na seção Aplicativos do Teams.
  5. Solicite as permissões Files.ReadWrite.All e ChannelSettings.Read.All para o aplicativo da API Graph no Portal do Azure usando as seguintes instruções:
    1. Faça log-in no Portal do Azure, navegue até o Azure Active Directory usando o painel esquerdo e selecione a opção Aplicativo.
    2. A página Aplicativo exibe os aplicativos que você possui junto com os bots adicionados a esses aplicativos. Clique no bot para exibir detalhes.
    3. Copie o id do diretório/tenant da página de visão geral do bot para uso posterior.
    4. Em seguida, vá para Permissões de API no painel esquerdo. Em Permissões de API, clique em Adicionar permissão, selecione Gráfico da Microsoft e, em seguida, Permissão do aplicativo.
    5. Procure as permissões Files.ReadWrite.All e ChannelSettings.Read.All e adicione-as.
  6. Faça com que seu administrador de TI aprove as permissões solicitadas acima do portal do Azure seguindo as etapas abaixo:
    1. Faça log-in no Portal do Azure, navegue até o Azure Active Directory usando o painel esquerdo e selecione a opção Aplicativo.
    2. Selecione Todos os aplicativos na página Aplicativo.
    3. Pesquise o aplicativo/bot por seu nome, vá para permissões de API e conceda o consentimento ADMIN para as permissões solicitadas: Files.ReadWrite.All e ChannelSettings.Read.All.

    Dica:

    Depois que seu aplicativo for aprovado pelo Administrador de TI, você poderá fornecer o id do bot e a chave secreta a outros usuários para instalar o aplicativo no Teams da organização.
  7. Depois que o aplicativo for aprovado pelo administrador de TI e as permissões solicitadas acima forem concedidas, você poderá usar o ID do bot e a chave secreta do aplicativo para criar o objeto de credencial e gerar um token de bot.
  8. Para enviar um resultado de consulta para um canal do Microsoft Teams, obtenha o team id e o tenant id.

    Dica:

    O team id está localizado no link da equipe entre /team/ e /conversations. O tenant id está localizado após "tenantId=" no final do link da equipe. Esse link é encontrado clicando nos três pontos ao lado do nome da equipe e selecionando Obter link para a equipe.

    Por exemplo:

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

  9. Obtenha o channelID.

    Dica:

    channelID está localizado no link do canal entre /team/ e o nome do canal. Esse link é encontrado clicando nos três pontos ao lado do nome do canal e selecionando Obter link para o canal.

    Por exemplo:

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

  10. No Exadata Cloud@Customer, configure as definições de Proxy HTTP em seu ambiente para permitir que o banco de dados acesse o Microsoft Teams. Consulte Usando a Console para Provisionar o Exadata Database Service on Cloud@Customer para obter informações sobre como configurar as definições de Proxy HTTP ao criar uma Infraestrutura do Exadata Cloud@Customer.

    Observação:

    A configuração de rede, incluindo o Proxy HTTP, só poderá ser editada até que o Exadata Infrastructure esteja no estado Requer Ativação. Depois de ativado, você não poderá editar essas configurações.

    Para configurar um Proxy HTTP para uma Infraestrutura do Exadata já provisionada, envie uma Solicitação de Serviço (SR) no My Oracle Support. Consulte Criar uma Solicitação de Serviço no My Oracle Support para obter detalhes.

  11. Crie um objeto de credencial para acessar o aplicativo Microsoft Teams no Autonomous Database.

    Dica:

    Se você não puder usar o procedimento CREATE_CREDENTIAL com sucesso, consulte o usuário ADMIN para conceder acesso de execução nos pacotes DBMS_CLOUD.

    O nome de usuário da credencial é bot_id e a senha é a chave do bot.

    Por exemplo:

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

    Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.

Enviar Mensagens a um Canal do Microsoft Teams

Depois de criar o objeto de credencial do Microsoft Teams conforme descrito em Preparar para Enviar Notificações do Microsoft Teams do Autonomous Database, você pode usar o procedimento DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE para enviar uma mensagem a um canal do Microsoft Teams.

Exemplo:

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

Use o parâmetro params para especificar o canal.

Consulte SEND_MESSAGE Procedimento para obter mais informações.

Enviar Resultados da Consulta para um Canal do Microsoft Teams

Depois de criar o objeto de credencial do Microsoft Teams conforme descrito em Preparar para Enviar Notificações do Microsoft Teams do Autonomous Database, você pode usar o procedimento DBMS_CLOUD_NOTIFICATION.SEND_DATA para enviar a saída de uma consulta para um canal do Microsoft Teams.

Exemplo:

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

Use o parâmetro params para especificar o tenant, a equipe, o canal, o título e o tipo de dados nos valores string.

Observação:

O tamanho máximo de arquivo suportado ao usar DBMS_CLOUD_NOTIFICATION.SEND_DATA para o Microsoft Teams é de 4 MB.

Consulte SEND_DATA Procedimento para obter mais informações.