從專用 Exadata 基礎架構上的 Autonomous Database 傳送 Microsoft Teams 通知

您可以設定讓 Microsoft Teams 使用 DBMS_CLOUD_NOTIFICATION 套件,將 Autonomous Database on Dedicated Exadata Infrastructure 的訊息、警示或查詢輸出傳送至 Microsoft Teams 管道。

準備從 Autonomous Database 傳送 Microsoft Teams 通知

從在您的 Microsoft Teams 應用程式中設定機器人開始進行。接著,建立證明資料以搭配 DBMS_CLOUD_NOTIFICATION 程序使用,以從 Autonomous Database 傳送 Microsoft Teams 通知。

若要設定 Microsoft Teams 通知:

  1. 建立您的 Microsoft Teams 應用程式並在其中新增機器人程式。如需設定應用程式的相關資訊,請參閱團隊的開發人員入口網站
  2. 機器人管理區段,確定機器人有秘密金鑰,範圍設為團隊,以及傳送通知的權限。
  3. 將應用程式發布至您的組織,讓組織中的人員能夠使用。
  4. 您的 IT 管理員從管理中心核准應用程式之後,請從團隊中的應用程式區段安裝應用程式。
  5. 使用下列指示,向 Azure 入口網站的 Graph API 要求 Files.ReadWrite.AllChannelSettings.Read.All 權限:
    1. 登入您的 Azure 入口網站,使用左側面板瀏覽至 Azure Active Directory ,然後選取應用程式選項。
    2. 「應用程式」頁面會顯示您擁有的應用程式,以及新增至這些應用程式的機器人。按一下機器人程式來檢視詳細資訊。
    3. 從機器人總覽頁面複製目錄 / 用戶 ID 以供日後使用。
    4. 然後前往左側面板中的 API 權限。在 API 權限下,按一下新增權限,選取 Microsoft 圖表,然後選取應用程式權限
    5. 搜尋 Files.ReadWrite.AllChannelSettings.Read.All 權限並加以新增。
  6. 您的 IT 管理員可依照下列步驟,核准 Azure 入口網站的上述要求權限:
    1. 登入您的 Azure 入口網站,使用左側面板瀏覽至 Azure Active Directory ,然後選取應用程式選項。
    2. 應用程式頁面選取所有應用程式
    3. 依名稱搜尋應用程式 / 機器人,前往 API 權限,並且授予 ADMIN 同意以取得要求的權限:Files.ReadWrite.AllChannelSettings.Read.All.

    秘訣:

    IT 管理員核准您的應用程式後,您可以提供機器人 ID 和秘密金鑰給其他使用者,以便在組織中的團隊內安裝應用程式。
  7. IT 管理員核准應用程式並授予上述要求的權限之後,您就可以使用應用程式的機器人 ID 和秘密金鑰來建立憑證物件,並產生機器人權杖。
  8. 若要將查詢結果傳送至 Microsoft Teams 通道,請取得 team idtenant id

    秘訣:

    team id 位於 /team/ 與 /conversations 之間的團隊連結中。tenant id 位於團隊連結結尾的 "tenantId=" 之後。按一下團隊名稱旁的三個點並選取取得團隊連結,即可找到此連結。

    舉例而言:

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

  9. 取得 channelID

    秘訣:

    channelID 位於 /team/ 與通道名稱之間的通道連結中。按一下通道名稱旁邊的三個點並選取取得通道連結,即可找到此連結。

    舉例而言:

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

  10. 在 Exadata Cloud@Customer 上,設定您環境中的 HTTP 代理主機設定值以允許資料庫存取 Microsoft Teams。請參閱使用主控台在 Cloud@Customer 上佈建 Exadata 資料庫服務,瞭解在建立 Exadata Cloud@Customer 基礎架構時設定 HTTP 代理主機設定值的資訊。

    附註:

    Exadata 基礎架構為「需要啟用」狀態之前,才能編輯網路組態 (包括 HTTP 代理主機)。啟用之後,您就無法編輯這些設定值。

    若要為已經佈建的 Exadata 基礎架構設定 HTTP 代理主機,請在 My Oracle Support 中送出服務要求 (SR)。請參閱 在 My Oracle Support 中建立服務要求瞭解詳細資訊。

  11. 建立證明資料物件以從 Autonomous Database 存取 Microsoft Teams 應用程式。

    秘訣:

    如果您無法順利使用 CREATE_CREDENTIAL 程序,請洽詢 ADMIN 使用者以授與 DBMS_CLOUD 套裝程式的執行存取權。

    證明資料的使用者名稱是 bot_id,密碼則是機器人金鑰。

    舉例而言:

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

    如需詳細資訊,請參閱CREATE_CREDENTIAL 程序

傳送訊息至 Microsoft Teams 通道

依照準備從 Autonomous Database 傳送 Microsoft Teams 通知中所述建立 Microsoft Teams 證明資料物件之後,您可以使用 DBMS_CLOUD_NOTIFICATION.SEND_MESSAGE 程序將訊息傳送至 Microsoft Teams 管道。

範例:

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

使用 params 參數指定通道。

如需詳細資訊,請參閱SEND_MESSAGE 程序

將查詢結果傳送至 Microsoft Teams 頻道

建立 Microsoft Teams 證明資料物件之後,如準備從 Autonomous Database 傳送 Microsoft Teams 通知中所述,您可以使用 DBMS_CLOUD_NOTIFICATION.SEND_DATA 程序將查詢輸出傳送至 Microsoft Teams 管道。

範例:

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

使用 params 參數指定 string 值中的用戶、小組、通道、標題和資料類型。

附註:

針對 Microsoft Teams 使用 DBMS_CLOUD_NOTIFICATION.SEND_DATA 時,支援的檔案大小上限為 4MB。

如需詳細資訊,請參閱SEND_DATA 程序