이메일 알림 보내기

참고

알림 시스템 저장 프로시저 기능은 Amazon Web Services(AWS)에서만 호스팅됩니다. 이 기능을 사용하기로 선택하면 이 기능의 호스팅 공급자는 AWS가 되며 사용 가능한 호스팅 위치는 아래 표에서 설명합니다. AWS SES를 사용하여 보낸 메시지의 내용은 메시지 전달을 관리하기 위해 Snowflake에서 최대 30일간 보관한 후 삭제됩니다.

지원되는 AWS 리전

us-west-2

us-east-1

eu-west-1

이 항목에서는 기본 제공 SYSTEM$SEND_EMAIL() 저장 프로시저를 사용하여 이메일 알림을 보내는 방법을 설명합니다.

이 항목의 내용:

소개

이 기능은 Snowflake와 서드 파티 서비스(예: 클라우드 메시지 큐, 이메일 등) 간에 인터페이스를 제공하는 Snowflake 오브젝트인 알림 통합 오브젝트를 사용합니다. 단일 계정은 최대 10개의 이메일 통합을 정의하고 하나 이상을 동시에 사용할 수 있습니다.

이메일 알림을 보내는 방법:

  1. 이메일 알림의 지정된 수신자가 이메일 주소를 확인했는지 살펴봅니다.

  2. 알림 통합을 만듭니다.

  3. 알림 통합을 사용하는 권한을 부여합니다.

  4. SYSTEM$SEND_EMAIL() 저장 프로시저를 호출하여 이메일 알림을 보냅니다.

참고

NOTIFICATION_HISTORY 테이블 함수를 사용하여 Snowpipe를 통해 전송된 알림 기록을 쿼리할 수 있습니다. 자세한 내용은 NOTIFICATION_HISTORY 섹션을 참조하십시오.

알림 수신자의 이메일 주소 확인하기

이메일 알림은 동일한 계정 내의 Snowflake 사용자에게만 보낼 수 있으며, 해당 사용자는 다음 인터페이스 중 하나를 통해 이메일 주소를 확인해야 합니다.

알림 통합 만들기

이메일 알림 통합을 만들려면 TYPE=EMAIL 과 함께 CREATE NOTIFICATION INTEGRATION 명령을 사용하십시오. ALLOWED_RECIPIENTS 를 알림을 받아야 하는 이메일 주소 목록으로 설정합니다.

참고

ALLOWED_RECIPIENTS 의 각 이메일 주소에 대해 해당 이메일 주소를 사용하는 Snowflake 사용자가 이메일 주소를 확인 했는지 살펴보십시오. 확인되지 않은 이메일 주소를 지정하면 CREATE NOTIFICATION INTEGRATION 명령이 오류와 함께 실패합니다.

예를 들어 first.last@example.comfirst2.last2@example.com 에 이메일 메시지를 보내기 위해 my_email_int 라는 이메일 알림 통합을 생성하려면 다음 문을 실행하십시오.

CREATE NOTIFICATION INTEGRATION my_email_int
    TYPE=EMAIL
    ENABLED=TRUE
    ALLOWED_RECIPIENTS=('first.last@example.com','first2.last2@example.com');
Copy

참고

주어진 계정에 대해 최대 열 개의 이메일 알림 통합을 정의할 수 있습니다.

이 명령의 구문에 대한 자세한 내용은 CREATE NOTIFICATION INTEGRATION 섹션을 참조하십시오.

알림 통합을 사용하는 권한 부여하기

SYSTEM$SEND_EMAIL()을 호출할 때 이메일 전송에 사용되는 이메일 알림 통합을 전달합니다. 이 이메일 알림 통합에 대한 USAGE 권한이 부여된 역할을 사용해야 합니다.

소유자 또는 호출자의 역할에 이 권한을 부여하려면 GRANT <권한> 명령을 실행하십시오.

예를 들어 알림 통합 my_email_int 에 대한 USAGE 권한을 my_sp_owner_role 역할에 부여하려면 다음 명령을 실행하십시오.

GRANT USAGE ON INTEGRATION my_email_int TO ROLE my_sp_owner_role;
Copy

이메일 알림 보내기

이메일 알림 통합을 만든 후 SYSTEM$SEND_EMAIL 저장 프로시저를 호출하여 이메일 알림을 보낼 수 있습니다.

예를 들어, 알림 통합 my_email_int 를 사용하여 《이메일 경고: 작업 A가 완료되었습니다.》라는 제목의 이메일 메시지를 person1@example.comperson2@example.com 으로 보내려면 다음 문을 실행하십시오.

CALL SYSTEM$SEND_EMAIL(
    'my_email_int',
    'person1@example.com, person2@example.com',
    'Email Alert: Task A has finished.',
    'Task A has successfully finished.\nStart Time: 10:10:32\nEnd Time: 12:15:45\nTotal Records Processed: 115678'
);
Copy

참고

수신자 목록의 이메일 주소가 알림 통합을 위한 ALLOWED_RECIPIENTS 속성에 포함되지 않은 경우 이메일이 전송되지 않습니다.

이메일 알림 메시지는 no-reply@snowflake.net 에서 전송됩니다.