從專用 Exadata 基礎架構上的自治式 AI 資料庫傳送 Microsoft Teams 通知

您可以設定 Microsoft Teams,使用 DBMS_CLOUD_NOTIFICATION 套裝軟體,將查詢的訊息、警示或輸出從專用 Exadata 基礎架構上的自治式 AI 資料庫傳送至 Microsoft Teams 通道。

準備從 Autonomous AI 資料庫傳送 Microsoft Teams 通知

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

若要設定 Microsoft Teams 通知,請執行下列動作:

  1. 建立您的 Microsoft Teams 應用程式並在其中新增機器人。如需有關設定應用程式的資訊,請參閱團隊的開發人員入口網站

  2. 機器人管理區段中,確定機器人具有秘密金鑰、範圍設為團隊,以及傳送通知的權限。

  3. 將應用程式發布至您的組織,以供組織中的人員使用。

  4. 您的 IT 管理員從管理中心核准應用程式之後,請從團隊的應用程式區段安裝應用程式。

  5. 使用下列指示,向 Azure Portal 的 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 Infrastructure 時設定 HTTP 代理主機設定值的相關資訊。

    注意:只有在 Exadata 基礎架構為「需要啟用」狀態時,才能編輯包含 HTTP 代理主機的網路組態。啟用之後,就無法編輯這些設定值。

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

  11. 建立證明資料物件以從自治式 AI 資料庫存取 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 AI 資料庫傳送 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 參數來指定通道。

通道:指定從準備從 Autonomous AI Database 傳送 Microsoft Teams 通知中的步驟 10 取得的通道 ID。

請參閱 SEND_MESSAGE 程序以瞭解詳細資訊。

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

依照「準備從 Autonomous AI 資料庫傳送 Microsoft Teams 通知」所述,建立 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。

相關主題