専用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通知を構成するには:
-
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 -
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でのサービス・リクエストの作成を参照してください。
-
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です。