Invia notifiche di Microsoft Teams da Autonomous Database

Descrive come configurare Microsoft Teams in modo da poter inviare messaggi, avvisi o output di una query da Autonomous Database a un canale Microsoft Teams. Descrive inoltre le procedure utilizzate per inviare le notifiche di Microsoft Teams.

Preparati a inviare notifiche di Microsoft Teams da Autonomous Database

Inizia configurando un bot nell'app Microsoft Teams. Successivamente, creare una credenziale da utilizzare con le procedure DBMS_CLOUD_NOTIFICATION per inviare notifiche di Microsoft Teams da Autonomous Database.

Per configurare le notifiche di Microsoft Teams:

  1. Crea l'app Microsoft Teams e aggiungi un bot. Per informazioni sull'impostazione di un'applicazione, vedere Portale sviluppatori per i team.
  2. Nella sezione Gestione bot, assicurarsi che il bot disponga di una chiave segreta, di un ambito impostato su Team e dell'autorizzazione per inviare notifiche.
  3. Pubblica l'app nella tua organizzazione per renderla disponibile alle persone della tua organizzazione.
  4. Dopo che l'amministratore IT ha approvato l'applicazione dal centro di amministrazione, installare l'applicazione dalla sezione App in Team.
  5. Richiedere le autorizzazioni Files.ReadWrite.All e ChannelSettings.Read.All all'applicazione per l'API Graph dal portale Azure utilizzando le istruzioni riportate di seguito.
    1. Eseguire il login al portale Azure, andare a Azure Active Directory utilizzando il pannello sinistro e selezionare l'opzione Applicazione.
    2. La pagina Applicazione visualizza le app di tua proprietà insieme ai bot aggiunti a tali app. Fare clic sul bot per visualizzarne i dettagli.
    3. Copiare la directory/tenant id dalla pagina di panoramica del bot per utilizzarla in un secondo momento.
    4. Passare quindi a Autorizzazioni API nel pannello sinistro. In Autorizzazioni API, fare clic su Aggiungi autorizzazione, selezionare Grafico Microsoft, quindi Autorizzazione applicazione.
    5. Cercare le autorizzazioni Files.ReadWrite.All e ChannelSettings.Read.All e aggiungerle.
  6. Chiedere all'amministratore IT di approvare le autorizzazioni richieste dal portale di Azure seguendo i passi riportati di seguito:
    1. Eseguire il login al portale Azure, andare a Azure Active Directory utilizzando il pannello sinistro e selezionare l'opzione Applicazione.
    2. Selezionare Tutte le applicazioni nella pagina Applicazione.
    3. Cercare nell'applicazione/bot il nome, andare alle autorizzazioni API e concedere il consenso ADMIN per le autorizzazioni richieste: Files.ReadWrite.All e ChannelSettings.Read.All.

    Suggerimento:

    Dopo l'approvazione dell'applicazione da parte dell'amministratore IT, è possibile fornire l'ID bot e la chiave segreta ad altri utenti per installare l'applicazione all'interno dei team dell'organizzazione.
  7. Dopo che l'applicazione è stata approvata dall'amministratore IT e le autorizzazioni richieste sono state concesse, è possibile utilizzare l'ID bot e la chiave segreta dell'applicazione per creare l'oggetto credenziale e generare un token bot.
  8. Per inviare un risultato di query a un canale Microsoft Teams, ottenere team id e tenant id.

    Suggerimento:

    Il team id si trova nel collegamento di squadra tra /team/ e /conversations. tenant id si trova dopo "tenantId=" alla fine del link del team. Questo collegamento viene trovato facendo clic sui tre punti accanto al nome del team e selezionando Ottieni collegamento al team.

    Ad esempio:

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

  9. Ottenere il file channelID.

    Suggerimento:

    channelID si trova nel collegamento del canale tra /team/ e il nome del canale. Questo collegamento viene trovato facendo clic sui tre punti accanto al nome del canale e selezionando Ottieni collegamento al canale.

    Ad esempio:

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

  10. Creare un oggetto credenziale per accedere all'applicazione Microsoft Teams da Autonomous Database.

    Suggerimento:

    Se non è possibile utilizzare correttamente la procedura CREATE_CREDENTIAL, consultare l'utente ADMIN per concedere l'accesso di esecuzione sui pacchetti DBMS_CLOUD.

    Il nome utente della credenziale è bot_id e la password è la chiave bot.

    Ad esempio:

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

    Per ulteriori informazioni, vedere CREATE_CREDENTIAL Procedure.

Invia messaggi a un canale Microsoft Teams

Dopo aver creato l'oggetto credenziale Microsoft Teams come descritto in Preparazione all'invio delle notifiche di Microsoft Teams da Autonomous Database, è possibile utilizzare la procedura DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE per inviare un messaggio a un canale Microsoft Teams.

Esempio:

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

Utilizzare il parametro params per specificare il canale.

Per ulteriori informazioni, vedere SEND_MESSAGE Procedure.

Invia risultati query a un canale Microsoft Teams

Dopo aver creato l'oggetto credenziale Microsoft Teams come descritto in Preparati a inviare notifiche di Microsoft Teams da Autonomous Database, è possibile utilizzare la procedura DBMS_CLOUD_NOTIFICATION.SEND_DATA per inviare l'output di una query a un canale Microsoft Teams.

Esempio:

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

Utilizzare il parametro params per specificare il tenant, il team, il canale, il titolo e il tipo di dati nei valori string.

Nota

La dimensione massima del file supportata quando si utilizza DBMS_CLOUD_NOTIFICATION.SEND_DATA per Microsoft Teams è di 4 MB.

Per ulteriori informazioni, vedere SEND_DATA Procedure.