이메일 알림 보내기

참고

알림 시스템 저장 프로시저 기능은 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()을 호출하여 이메일 알림을 보냅니다.

알림 통합 만들기

이메일 알림 통합을 만들려면 TYPE=EMAIL 과 함께 CREATE NOTIFICATION INTEGRATION 명령을 사용하십시오.

CREATE [ OR REPLACE ] NOTIFICATION INTEGRATION [IF NOT EXISTS]
    <integration_name>
    TYPE=EMAIL
    ENABLED={TRUE|FALSE}
    ALLOWED_RECIPIENTS=('<email_address_1>' [, ... '<email_address_N>'])
    [ COMMENT = '<string_literal>' ]
;

여기서:

  • integration_name 은 새 통합의 이름입니다.

  • 'email_address_1' [, ... 'email_address_N'] 은 이 통합에서 알림 이메일을 받을 수 있는 이메일 주소(각각 작은따옴표로 묶임)의 쉼표로 구분된 목록입니다.

    이러한 이메일 주소는 현재 계정의 사용자와 연결되어야 합니다. 이메일 주소가 확인되어야 합니다.

    지정할 수 있는 최대 이메일 주소 개수는 50개입니다.

  • 'string_literal' 은 통합에 대한 선택적 설명을 지정합니다.

예:

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

참고

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

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

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

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

이메일 알림 통합ALLOWED_RECIPIENTS 매개 변수에 지정된 각 이메일 주소에 대해 해당 Snowflake 사용자가 해당 이메일 주소를 확인했는지 살펴보십시오.

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

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;

이메일 알림 보내기

이메일 알림 통합을 만든 후 다음과 같이 SYSTEM$SEND_EMAIL() 을 호출하여 이메일 알림을 보낼 수 있습니다.

CALL SYSTEM$SEND_EMAIL(
    '<integration_name>',
    '<email_address_1> [, ... <email_address_N>]',
    '<email_subject>',
    '<email_content>'
);

여기서,

  • integration_name알림 통합 의 이름입니다.

  • email_address_1 [, ... email_address_N] 은 이 통합에서 알림 이메일을 받을 수 있는 하나 이상의 따옴표 없는 이메일 주소의 쉼표로 구분된 문자열입니다.

    이 목록의 이메일 주소는 알림 통합 에 지정된 ALLOWED_RECIPIENTS 에 있어야 합니다.

  • email_subject 는 이메일 알림의 제목 줄입니다. 빈 문자열을 지정할 수 없습니다.

  • email_content 는 이메일 본문입니다. 빈 문자열을 지정할 수 없습니다.

    Snowflake는 현재 일반 텍스트 이메일만 지원합니다.

예:

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'
);

참고

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

이메일 알림 메시지에서 From: 주소는 no-reply@snowflake.net 입니다.

맨 위로 이동