【问题标题】:How can i send a notification to alert that the task has create the table?我如何发送通知以提醒任务已创建表?
【发布时间】:2022-12-08 08:23:02
【问题描述】:

我有一个存储过程,其中包含用于创建表的 SQL 语句。 我已将此存储过程放入任务雪花中。 我想发送消息/邮件/通知来宣布表已创建?

那是我的代码:

CREATE OR REPLACE PROCEDURE test_stored_procedure()
RETURNS VARCHAR
LANGUAGE SQL
EXECUTE AS CALLER
AS
$$
BEGIN

CREATE OR REPLACE TABLE test AS 
SELECT xxx
FROM xxx;

RETURN 'TABLE test created';
END;
$$;
CREATE OR REPLACE TASK procedure_task_test
 WAREHOUSE = XXXXX
 SCHEDULE =   'USING CRON 30 5 * * * Europe/Paris'
 USER_TASK_TIMEOUT_MS = 60000
 COMMENT = 'TABLE test is updated'
AS 
    CALL test_stored_procedure();

例如,我如何发送一条消息,例如“已创建表测试”? 不管怎么做

非常感谢你的帮助

【问题讨论】:

标签: stored-procedures task snowflake-cloud-data-platform


【解决方案1】:

如果您真的想发送通知,则需要使用外部功能,例如AWS SES 和 Lambda:

  1. https://docs.snowflake.com/en/sql-reference/external-functions-introduction.html
  2. https://medium.com/hashmapinc/sending-email-notifications-from-snowflake-using-external-functions-4b985c182292

    为了更简单的解决方案,您可以尝试登录一个表并查询它。

【讨论】:

  • 好的谢谢@Marcel :)
【解决方案2】:

Snowflake 现在可以使用call system$send_email() 发送电子邮件。您可以在您的任务中调用它。

例如:

call system$send_email(
    'my_email_int',
    'felipe@example.com, dan@example.com, rajiv@example.com',
    'This is the subject',
    'This is the body'
);

阅读更多:

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-25
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多