Configuração de notificações por e-mail para o conector MySQL

Importante

Agradecemos pelo seu interesse no conector Snowflake para MySQL. Agora, estamos focados em uma solução de próxima geração que oferecerá uma experiência significativamente melhor. Portanto, no momento não temos planos de passar esse conector para o status de disponibilidade geral. Você pode continuar usando esse conector como um recurso em versão preliminar, mas o suporte para futuras correções de bugs e melhorias não é garantido. A nova solução está disponível como Conector Openflow para MySQL e inclui melhor desempenho, personalização e opções aprimoradas de implantação.

É possível habilitar notificações por e-mail para o conector. O conector usa o Procedimento armazenado do sistema de notificação para enviar notificações por e-mail. A configuração de notificações por e-mail é uma ação opcional, mas recomendada.

Configuração de notificações por e-mail

É possível configurar o conector para enviar notificações por e-mail quando ocorrerem erros.

Em um determinado cronograma, o conector verifica se novos erros ocorreram. Se for o caso, um e-mail com o número de erros é enviado aos destinatários especificados. As notificações por e-mail são enviadas de forma incremental, o que significa que apenas novos erros disparam a notificação. Por motivos de segurança, os e-mails contêm apenas informações sobre o número de erros (não os erros em si).

Para receber notificações por e-mail sobre erros, é necessário já ter criado e definido uma tabela de evento para a conta (para capturar os erros registrados), e essa tabela de evento deve ter CHANGE_TRACKING definido como TRUE.

Para configurar notificações por e-mail, faça o seguinte:

  1. Crie uma integração de notificação.

  2. Crie uma exibição de log para o conector.

  3. Habilite as notificações por e-mail.

Criação de uma integração de notificação

Para enviar notificações por e-mail, o conector usa o objeto de integração de notificação, que é um objeto Snowflake que fornece uma interface entre o Snowflake e os serviços de e-mail.

Para criar integração de notificação, execute o seguinte comando:

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

Onde:

integration_name

Especifica o nome da integração de notificação.

O conector requer o privilégio USAGE na integração de notificação usada para enviar o e-mail. Para conceder esse privilégio, execute o seguinte comando:

GRANT USAGE ON INTEGRATION <integration_name> TO APPLICATION <app_db_name>;
Copy

Onde:

integration_name

Especifica o nome da integração de notificação.

app_db_name

Especifica o nome do banco de dados do conector.

Mais informações sobre como criar integração de notificação podem ser encontradas aqui.

Criação de uma exibição de log para o conector

Para configurar notificações por e-mail, você deve criar uma exibição de log para a tabela de evento que armazena as mensagens registradas do conector. É possível criar a exibição de log em qualquer banco de dados e esquema, exceto no banco de dados que serve como instância do conector.

Execute o seguinte comando para criar uma exibição de log na tabela de evento:

CREATE SECURE VIEW <logs_view> CHANGE_TRACKING = TRUE AS
  SELECT *
  FROM <fully_qualified_event_table_name>
  WHERE RECORD_TYPE = 'LOG' AND
  RESOURCE_ATTRIBUTES:"snow.database.name" = '<app_db_name>';
Copy

Onde:

logs_view

Especifica o nome da exibição que você deseja criar.

fully_qualified_event_table_name

Especifica o nome totalmente qualificado da tabela de evento.

app_db_name

Especifica o nome do banco de dados do conector.

O conector requer o privilégio SELECT na exibição. Ele também requer o privilégio USAGE tanto no banco de dados quanto no esquema com a exibição. Para conceder esses privilégios, execute os seguintes comandos:

GRANT USAGE ON DATABASE <logs_db> TO APPLICATION <app_db_name>;
GRANT USAGE ON SCHEMA <logs_db>.<logs_schema> TO APPLICATION <app_db_name>;
GRANT SELECT ON VIEW <logs_db>.<logs_schema>.<logs_view> TO APPLICATION <app_db_name>;
Copy

Onde:

logs_db

Especifica o nome do banco de dados com a exibição que você acabou de criar.

logs_schema

Especifica o nome do esquema com a exibição que você acabou de criar.

logs_view

Especifica o nome da exibição que você acabou de criar.

app_db_name

Especifica o nome do banco de dados do conector.

Habilitação de notificações por e-mail

Após criar a integração de notificação por e-mail e a exibição de log, execute o seguinte comando para habilitar notificações por e-mail do conector:

CALL PUBLIC.CONFIGURE_ALERTS('<integration_name>', '<logs_db>.<logs_schema>.<logs_view>', '<schedule>', ['<email_address_1>' [, ... '<email_address_2>']]);
Copy

Onde:

integration_name

Especifica o nome da integração de notificação.

logs_db

Especifica o nome do banco de dados com a exibição que você criou na etapa anterior.

logs_schema

Especifica o nome do esquema com a exibição que você criou na etapa anterior.

logs_view

Especifica o nome da exibição que você criou na etapa anterior.

schedule

Especifica o cronograma ou a frequência na qual o conector deve verificar erros e enviar uma notificação. Para obter mais detalhes sobre como especificar o cronograma ou a frequência, consulte o parâmetro SCHEDULE.

['email_address_1' [, ... 'email_address_2']]

Especifica a matriz de um ou mais endereços de e-mail citados que podem receber notificações por e-mail do conector. Os endereços de e-mail nesta matriz devem estar no parâmetro ALLOWED_RECIPIENTS especificado na integração de notificação por e-mail.

Para alterar a configuração de notificações por e-mail, use o comando acima fornecendo os parâmetros revisados.

Desabilitação de notificações por e-mail

Para desabilitar notificações por e-mail, execute o seguinte comando:

CALL PUBLIC.DISABLE_ALERTS();
Copy

Este comando remove todos os endereços de e-mail adicionados durante a configuração inicial.

Próximos passos

Após completar estes procedimentos, siga os passos em Configuração do contêiner do Agent Snowflake Connector for MySQL.