Invia notifiche di Microsoft Teams da Autonomous Database su un'infrastruttura Exadata dedicata

È possibile configurare Microsoft Teams per inviare messaggi, avvisi o output di una query da Autonomous Database sull'infrastruttura Exadata dedicata a un canale Microsoft Teams utilizzando il package DBMS_CLOUD_NOTIFICATION.

Argomenti correlati

Preparati a inviare notifiche di Microsoft Teams da Autonomous Database

Per iniziare, configurare un bot nell'applicazione Microsoft Teams. Successivamente, creare una credenziale da utilizzare con le procedure DBMS_CLOUD_NOTIFICATION per inviare le notifiche di Microsoft Teams da Autonomous Database.

Per configurare le notifiche di Microsoft Teams:

  1. Creare l'applicazione Microsoft Teams e aggiungervi un bot. Per informazioni sull'impostazione di un'applicazione, vedere Portale sviluppatori per i team.
  2. Dalla sezione Gestione bot, assicurarsi che il bot disponga di una chiave segreta, di un ambito impostato su Team e dell'autorizzazione per inviare le notifiche.
  3. Pubblica l'app nella tua organizzazione per renderla disponibile alle persone nella tua organizzazione.
  4. Dopo che l'amministratore IT ha approvato l'applicazione dal centro di amministrazione, installarla 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, passare a Azure Active Directory utilizzando il pannello a sinistra e selezionare l'opzione Applicazione.
    2. Nella pagina Applicazione vengono visualizzate le applicazioni di cui si è proprietari insieme ai bot aggiunti a tali applicazioni. Fare clic sul bot per visualizzarne i dettagli.
    3. Copiare la directory/ID tenant dalla pagina di panoramica del bot per utilizzarla in un secondo momento.
    4. Passare quindi alle 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 in precedenza dal portale Azure attenendosi alla procedura riportata di seguito.
    1. Eseguire il login al portale Azure, passare a Azure Active Directory utilizzando il pannello a sinistra e selezionare l'opzione Applicazione.
    2. Selezionare Tutte le applicazioni dalla pagina Applicazione.
    3. Cercare l'applicazione/bot in base al 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 nell'organizzazione.
  7. Dopo l'approvazione dell'applicazione da parte dell'amministratore IT e la concessione delle autorizzazioni richieste sopra riportate, è possibile utilizzare l'ID bot dell'applicazione e la chiave segreta per creare l'oggetto delle credenziali 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 del team tra /team/ e /conversazioni. Il file tenant id si trova dopo "tenantId=" alla fine del collegamento del team. Per trovare questo collegamento, fare clic sui tre punti accanto al nome del team e selezionare 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. Per trovare questo collegamento, fare clic sui tre punti accanto al nome del canale e selezionare Ottieni collegamento al canale.

    Ad esempio:

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

  10. In Exadata Cloud@Customer, configurare le impostazioni del proxy HTTP nell'ambiente in uso per consentire al database di accedere a Microsoft Teams. Per informazioni sull'impostazione delle impostazioni del proxy HTTP durante la creazione di un'infrastruttura Exadata Cloud@Customer, vedere Uso della console per eseguire il provisioning di Exadata Database Service su Cloud@Customer.

    Nota

    La configurazione di rete, incluso il proxy HTTP, può essere modificata solo fino a quando lo stato dell'infrastruttura Exadata non è Richiede attivazione. Una volta attivato, non è possibile modificare tali impostazioni.

    Per impostare un proxy HTTP per un'infrastruttura Exadata già fornita, sottomettere una richiesta di servizio (SR) in My Oracle Support. Per informazioni dettagliate, vedere Create a Service Request in My Oracle Support.

  11. Creare un oggetto credenziali 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 package 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 Procedura.

Invia messaggi a un canale Microsoft Teams

Dopo aver creato l'oggetto credenziale di Microsoft Teams come descritto in Prepara a inviare 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 Procedura.

Invia risultati query a un canale Microsoft Teams

Dopo aver creato l'oggetto delle credenziali di Microsoft Teams come descritto in Prepara 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 supportata per i file che utilizzano DBMS_CLOUD_NOTIFICATION.SEND_DATA per Microsoft Teams è di 4 MB.

Per ulteriori informazioni, vedere SEND_DATA Procedura.