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

DBMS_CLOUD_NOTIFICATIONパッケージを使用して、専用Exadataインフラストラクチャ上のAutonomous Databaseから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. 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 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プロシージャを参照してください。