이메일 알림 보내기

참고

모든 Snowflake 고객은 이 기능을 사용하여 이메일 메시지를 보낼 수 있습니다. 알림 시스템 저장 프로시저에서 보낸 이메일 메시지는 AWS(Amazon Web Services) SES(Simple Email Service)를 사용하여 Snowflake의 AWS 배포를 통해 처리됩니다. AWS를 사용하여 보낸 이메일 메시지의 내용은 메시지 전달을 관리하기 위해 Snowflake에서 최대 30일간 보관할 수 있습니다. 이 기간이 지나면 메시지 내용이 삭제됩니다.

이 항목에서는 기본 제공 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를 설정하지 않으면 사용자가 이메일 주소를 확인한 경우 통합을 사용하여 계정의 모든 사용자에게 알림을 보낼 수 있습니다.

참고

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

예를 들어 my_email_int 라는 이메일 알림 통합을 생성하려면 다음 문을 실행하십시오.

CREATE NOTIFICATION INTEGRATION my_email_int
  TYPE=EMAIL
  ENABLED=TRUE;
Copy

first.last@example.comfirst2.last2@example.com 에만 이메일 메시지를 전송할 수 있도록 알림 통합을 제한하려면 ALLOWED_RECIPIENTS를 해당 주소 목록으로 설정하십시오.

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가 완료되었습니다.”라는 제목의 이메일 메시지를 first.last@example.comfirst2.last2@example.com 으로 보내려면 다음 문을 실행하십시오.

CALL SYSTEM$SEND_EMAIL(
    'my_email_int',
    'first.last@example.com, first2.last2@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 속성을 설정했는데 수신자 목록의 이메일 주소가 해당 목록에 없는 경우 이메일 알림이 전송되지 않습니다.

Amazon Web Services(AWS) 클라우드 플랫폼을 사용하는 경우 이메일 알림 메시지는 no-reply@snowflake.net 에서 전송됩니다. Google Cloud Platform(GCP) 또는 Microsoft Azure(Azure) 클라우드 플랫폼을 사용하는 경우 이메일 알림 메시지는 do-not-reply@snowflake.net 에서 전송됩니다.