Autonomous DatabaseからのMicrosoft Teams通知の送信

Autonomous DatabaseからMicrosoft Teamsチャネルに問合せのメッセージ、アラートまたは出力を送信できるようにMicrosoft Teamsを構成する方法について説明します。また、Microsoft Teams通知の送信に使用する手順についても説明します。

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

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

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

  1. Microsoft Teamsアプリケーションを作成し、ボットを追加します。アプリの設定の詳細は、チームの開発者ポータルを参照してください。
  2. 「Bot Management」セクションで、ボットに秘密キー、スコープが「チーム」に設定され、通知を送信する権限があることを確認します。
  3. 組織にアプリを公開して、組織内の個人が使用できるようにします。
  4. IT管理者が管理センターからアプリを承認した後、Teamsの「Apps」セクションからアプリをインストールします。
  5. 次の手順を使用して、Azure PortalからグラフAPIのアプリケーションへのFiles.ReadWrite.AllおよびChannelSettings.Read.All権限をリクエストします:
    1. Azure Portalにログインし、左側のパネルを使用してAzure Active Directoryに移動し、「アプリケーション」オプションを選択します。
    2. 「アプリケーション」ページには、所有しているアプリケーションとそのアプリケーションに追加されたボットが表示されます。詳細を表示するボットをクリックします。
    3. 後で使用するために、ボット概要ページからディレクトリ/テナントIDをコピーします。
    4. 次に、左側のパネルの「API権限」に移動します。「API権限」で、「権限の追加」をクリックし、「Microsoftグラフ」「アプリケーション権限」の順に選択します。
    5. Files.ReadWrite.AllおよびChannelSettings.Read.All権限を検索して追加します。
  6. 次のステップに従って、前述のAzureポータルからリクエストされた権限をIT管理者に承認してもらいます。
    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. 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チャネルへの問合せ結果の送信

Autonomous 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です。

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