専用Exadataインフラストラクチャ上のAutonomous AI DatabaseからのMicrosoft Teams通知の送信

DBMS_CLOUD_NOTIFICATIONパッケージを使用して、Autonomous AI Database on Dedicated Exadata InfrastructureからMicrosoft Teamsチャネルに問合せのメッセージ、アラートまたは出力を送信するようにMicrosoft Teamsを構成できます。

Autonomous AI DatabaseからのMicrosoft Teams通知の送信の準備

開始するには、Microsoft Teamsアプリケーションでボットを構成します。次に、DBMS_CLOUD_NOTIFICATIONプロシージャで使用する資格証明を作成して、Autonomous AI DatabaseからMicrosoft Teams通知を送信します。

Microsoft Teams通知を構成するには:

  1. Microsoft Teamsアプリケーションを作成し、それにボットを追加します。アプリの設定の詳細は、Developer Portal for Teamsを参照してください。

  2. 「Bot Management」セクションで、ボットに秘密キー、スコープが「チーム」に設定され、通知を送信する権限があることを確認します。

  3. アプリケーションを組織に公開して、組織内の個人が使用できるようにします。

  4. IT管理者が管理センターからアプリケーションを承認した後、Teamsの「アプリケーション」セクションからアプリケーションをインストールします。

  5. 次の手順を使用して、グラフAPI用のアプリケーションに対するFiles.ReadWrite.AllおよびChannelSettings.Read.All権限をAzure Portalからリクエストします:

    1. Azure Portalにログインし、左側のパネルを使用して「Azure Active Directory」に移動し、「アプリケーション」オプションを選択します。

    2. 「アプリケーション」ページには、所有しているアプリケーションとともに、それらのアプリケーションに追加されたボットが表示されます。ボットをクリックして詳細を表示します。

    3. 後で使用するために、ボットの概要ページからディレクトリ/テナントIDをコピーします。

    4. 次に、左側のパネルのAPI権限に移動します。「API権限」で、「権限の追加」をクリックし、「Microsoftグラフ」「アプリケーション権限」の順に選択します。

    5. Files.ReadWrite.AllおよびChannelSettings.Read.All権限を検索し、追加します。

  6. 次のステップに従って、IT管理者が Azureポータルから要求された権限を承認するようにします。

    1. Azure Portalにログインし、左側のパネルを使用して「Azure Active Directory」に移動し、「アプリケーション」オプションを選択します。

    2. 「アプリケーション」ページから「すべてのアプリケーション」を選択します。

    3. アプリケーション/ボットを名前で検索し、API権限に移動して、リクエストされた権限(Files.ReadWrite.AllおよびChannelSettings.Read.All)に対するADMIN承諾を付与します。

    ヒント:アプリケーションがIT管理者によって承認されると、ボットIDおよび秘密キーを他のユーザーに提供して、組織内のTeams内にアプリケーションをインストールできます。

  7. アプリケーションがIT管理者によって承認され、前述のリクエストされた権限が付与された後、アプリケーションのボットIDおよび秘密キーを使用して資格証明オブジェクトを作成し、ボット・トークンを生成できます。

  8. 問合せ結果をMicrosoft Teamsチャネルに送信するには、team idおよびtenant idを取得します。

    ヒント: team idは、/team/と/conversationsの間のチーム・リンクにあります。tenant idは、チーム・リンクの最後にあるtenantId="の後に配置されます。このリンクは、チーム名の横にある3つのドットをクリックし、「チームへのリンクの取得」を選択することで見つかります。

    たとえば:

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

  9. channelIDを入手します。

    ヒント: channelIDは、/team/とチャネル名の間のチャネル・リンクにあります。このリンクは、チャネル名の横にある3つのドットをクリックし、「チャネルへのリンクの取得」を選択することで確認できます。

    たとえば:

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

  10. Exadata Cloud@Customerで、データベースがMicrosoft Teamsにアクセスできるように環境にHTTPプロキシ設定を構成します。Exadata Cloud@Customerインフラストラクチャの作成時にHTTPプロキシ設定を設定する方法の詳細は、コンソールを使用したExadata Database Service on Cloud@Customerのプロビジョニングを参照してください。

    ノート: HTTPプロキシを含むネットワーク構成は、Exadataインフラストラクチャが「アクティブ化が必要」状態になるまで編集できます。アクティブ化した後は、これらの設定を編集できません。

    すでにプロビジョニングされているExadataインフラストラクチャのHTTPプロキシを設定するには、My Oracle Supportでサービス・リクエスト(SR)を送信してください。詳細は、My Oracle Supportでのサービス・リクエストの作成を参照してください。

  11. Autonomous AI 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 AI 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パラメータを使用して、チャネルを指定します。

channel: Autonomous AI DatabaseからMicrosoft Teams通知を送信するための準備のステップ10から取得したチャネルIDを指定します。

詳細は、SEND_MESSAGEプロシージャを参照してください。

Microsoft Teamsチャネルへの問合せ結果の送信

Autonomous AI Databaseから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です。

関連トピック