Autonomous AI DatabaseからのMicrosoft Teams通知の送信
Autonomous AI DatabaseからMicrosoft Teamsチャネルに問合せのメッセージ、アラートまたは出力を送信できるようにMicrosoft Teamsを構成する方法について説明します。また、Microsoft Teams通知の送信に使用する手順についても説明します。
Autonomous AI DatabaseからMicrosoft Teams通知を送信する準備
まず、Microsoft Teamsアプリケーションでボットを構成します。次に、DBMS_CLOUD_NOTIFICATIONプロシージャで使用する資格証明を作成して、Autonomous AI DatabaseからMicrosoft Teams通知を送信します。
Microsoft Teams通知を構成するには:
-
Microsoft Teamsアプリケーションを作成し、それにボットを追加します。アプリの設定の詳細は、Developer Portal for Teamsを参照してください。
-
「Bot Management」セクションで、ボットに秘密キー、スコープが「チーム」に設定され、通知を送信する権限があることを確認します。
-
アプリを組織に公開して、組織内の個人が使用できるようにします。
-
IT管理者が管理センターからアプリケーションを承認した後、Teamsの「アプリケーション」セクションからアプリケーションをインストールします。
-
次の手順を使用して、グラフAPI用のアプリケーションに対する
Files.ReadWrite.AllおよびChannelSettings.Read.All権限をAzure Portalからリクエストします:-
Azure Portalにログインし、左側のパネルを使用して「Azure Active Directory」に移動し、「アプリケーション」オプションを選択します。
-
「アプリケーション」ページには、所有しているアプリと、それらのアプリに追加されたボットが表示されます。ボットをクリックして詳細を表示します。
-
後で使用するために、ボットの概要ページからディレクトリ/テナントIDをコピーします。
-
次に、左側のパネルのAPI権限に移動します。「API権限」で、「権限の追加」をクリックし、「Microsoftグラフ」、「アプリケーション権限」の順に選択します。
-
Files.ReadWrite.AllおよびChannelSettings.Read.All権限を検索し、追加します。
-
-
次のステップに従って、IT管理者にAzureポータルから上記のリクエストされた権限を承認してもらいます:
-
Azure Portalにログインし、左側のパネルを使用して「Azure Active Directory」に移動し、「アプリケーション」オプションを選択します。
-
「アプリケーション」ページから「すべてのアプリケーション」を選択します。
-
アプリケーション/ボットを名前で検索し、API権限に移動して、リクエストされた権限(
Files.ReadWrite.AllおよびChannelSettings.Read.All)に対するADMIN同意を付与します。
アプリがIT管理者によって承認されたら、ボットIDと秘密キーを他のユーザーに提供して、組織内のTeamsにアプリをインストールできます。
-
-
アプリケーションがIT管理者によって承認され、前述のリクエストされた権限が付与されたら、アプリケーションのボットIDと秘密キーを使用して資格証明オブジェクトを作成し、ボット・トークンを生成できます。
-
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 -
channelIDを入手します。channelIDは、/team/とチャネル名の間のチャネル・リンクにあります。このリンクは、チャネル名の横にある3つのドットをクリックし、「チャネルへのリンクの取得」を選択することで確認できます。たとえば:
https://teams.microsoft.com/l/channel/channelID/channel_name?groupId=groupid&tenantId=tenantid -
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値にテナント、チーム、チャネル、タイトルおよびデータ型を指定します。
-
tenant: Autonomous AI DatabaseからMicrosoft Teams通知を送信するための準備のステップ8から取得したテナントIDを指定します。
-
team: Autonomous AI DatabaseからMicrosoft Teams通知を送信するための準備のステップ8から取得したチームIDを指定します。
-
channel: 「Autonomous AI DatabaseからのMicrosoft Teams通知の送信の準備」のステップ9から取得したチャネルIDを指定します。
-
title: ファイル名を指定します。タイトルに使用できるのは、アルファベット、数字、アンダースコアおよびハイフンのみです。Microsoft Teamsに表示されるファイル名は、タイトル・パラメータとタイムスタンプを連結して一意性を保証します。最大タイトル・サイズは50文字です。
例:
'title'_'timestamp'.'format' -
type: 出力形式を指定します。有効な値はCSVまたはJSONです。
ノート
ノート: Microsoft TeamsにDBMS_CLOUD_NOTIFICATION.SEND_DATAを使用するときにサポートされる最大ファイル・サイズは4MBです。
詳細は、SEND_DATAプロシージャを参照してください。