Autonomous Database on Dedicated Exadata Infrastructure에서 Microsoft Teams 통지 전송

DBMS_CLOUD_NOTIFICATION 패키지를 사용하여 Autonomous Database on Dedicated Exadata Infrastructure에서 Microsoft Teams 채널로 질의의 메시지, 경보 또는 출력을 전송하도록 Microsoft Teams를 구성할 수 있습니다.

Autonomous Database에서 Microsoft Teams 통지 전송 준비

Microsoft Teams 앱에서 봇을 구성하여 시작합니다. 그런 다음 DBMS_CLOUD_NOTIFICATION 절차와 함께 사용할 자격 증명을 만들어 Autonomous Database에서 Microsoft Teams 통지를 보냅니다.

Microsoft Teams 통지를 구성하려면 다음을 수행합니다.

  1. Microsoft Teams 앱을 생성하고 여기에 봇을 추가합니다. 앱 설정에 대한 자세한 내용은 팀용 개발자 포털을 참조하십시오.
  2. 봇 관리 섹션에서 봇에 암호 키, 범위가 으로 설정되고 통지 전송 권한이 있는지 확인합니다.
  3. 조직에 앱을 게시하여 조직의 사용자가 사용할 수 있도록 합니다.
  4. IT 관리자가 관리 센터에서 앱을 승인한 후 Teams의 섹션에서 앱을 설치합니다.
  5. 다음 지침에 따라 Azure Portal에서 Graph API용 앱에 대한 Files.ReadWrite.AllChannelSettings.Read.All 권한을 요청합니다.
    1. Azure Portal에 로그인하고 왼쪽 패널을 사용하여 Azure Active Directory로 이동한 다음 애플리케이션 옵션을 선택합니다.
    2. [애플리케이션] 페이지에는 사용자가 소유한 앱과 해당 앱에 추가된 봇이 표시됩니다. 세부정보를 확인할 봇을 누릅니다.
    3. 나중에 사용할 수 있도록 봇 개요 페이지에서 디렉토리/테넌트 ID를 복사합니다.
    4. 그런 다음 왼쪽 패널의 API 권한으로 이동합니다. API 권한에서 권한 추가를 누르고 Microsoft 그래프, 애플리케이션 권한 순으로 선택합니다.
    5. Files.ReadWrite.AllChannelSettings.Read.All 권한을 검색하고 추가합니다.
  6. IT 관리자가 아래 단계에 따라 Azure 포털에서 위와 같이 요청된 권한을 승인하도록 합니다.
    1. Azure Portal에 로그인하고 왼쪽 패널을 사용하여 Azure Active Directory로 이동한 다음 애플리케이션 옵션을 선택합니다.
    2. 애플리케이션 페이지에서 모든 애플리케이션을 선택합니다.
    3. 이름으로 application/bot을 검색하고, API 권한으로 이동하고, 요청된 권한에 대해 ADMIN 동의(Files.ReadWrite.AllChannelSettings.Read.All)를 부여합니다.

    참고:

    IT 관리자가 앱을 승인하면 다른 사용자가 조직의 팀 내에 앱을 설치할 수 있도록 봇 ID 및 보안 키를 제공할 수 있습니다.
  7. IT 관리자가 앱을 승인하고 위의 요청된 권한이 부여된 후 앱의 봇 ID를 사용하여 인증서 객체를 생성하고 봇 토큰을 생성할 수 있습니다.
  8. 질의 결과를 Microsoft Teams 채널로 전송하려면 team idtenant id를 가져옵니다.

    참고:

    team id는 /team/과 /conversations 사이의 팀 링크에 있습니다. tenant id는 팀 링크 끝에 있는 "tenantId=" 다음에 있습니다. 이 링크는 팀 이름 옆에 있는 세 개의 점을 누르고 팀에 링크 가져오기를 선택하여 찾을 수 있습니다.

    예:

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

  9. channelID를 가져옵니다.

    참고:

    channelID는 /team/과 채널 이름 사이의 채널 링크에 있습니다. 이 링크는 채널 이름 옆에 있는 세 개의 점을 누르고 채널에 대한 링크 가져오기를 선택하여 찾을 수 있습니다.

    예:

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

  10. Exadata Cloud@Customer에서 데이터베이스가 Microsoft Teams에 액세스할 수 있도록 환경의 HTTP 프록시 설정을 구성합니다. Exadata Cloud@Customer 인프라를 생성하는 동안 HTTP 프록시 설정을 설정하는 방법은 콘솔을 사용하여 Cloud@Customer에서 Exadata Database Service 프로비전을 참조하십시오.

    주:

    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 Procedure를 참조하십시오.

Microsoft Teams 채널로 메시지 전송

Prepare to Send Microsoft Teams Notifications from Autonomous Database에 설명된 대로 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 Procedure를 참조하십시오.

Microsoft Teams 채널에 질의 결과 전송

Prepare to Send Microsoft Teams Notifications from Autonomous Database에 설명된 대로 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 Procedure를 참조하십시오.