Успешно создана задача в Snowflake, но она не отображается при запуске "показать задачи"

Я новичок в Snowflake и пытаюсь создать свою первую задачу.

CREATE TASK task_update_table
WAREHOUSE = "TEST"
SCHEDULE = 'USING CRON 0 5 * * * America/Los_Angeles'
AS
INSERT INTO "TEST"."WEB"."SOME_TABLE" (ID,VALUE1,VALUE2,VALUE3)
WITH CTE AS
(SELECT 
ID
,VALUE1
,VALUE2
,VALUE3
FROM OTHER_TABLE
WHERE ID NOT IN (SELECT ID FROM "TEST"."WEB"."SOME_TABLE")
)
SELECT      
ID,VALUE1,VALUE2,VALUE3
FROM CTE

Я получил сообщение, что задача создана успешно

"Задача task_update_table успешно создана"

Затем я пытаюсь запустить показывать задачи в схеме SHOW TASKS IN "TEST"."WEB"и в результате получим 0 строк. Что я делаю не так? почему задача не отображается?

Я сделал все это под системным администратором и использовал тот же склад, базу данных и схему.

1 ответ

Есть некоторые ограничения в отношении команд show, которые могут блокировать вас, в частности, "команды SHOW возвращают только те объекты, для которых текущей роли текущего пользователя предоставлены необходимые права доступа".

https://docs.snowflake.com/en/sql-reference/sql/show.html

Я подозреваю, что задача была создана другой ролью (следовательно, принадлежала другой роли), или, возможно, она была создана в другой базе данных или другой схеме.

Чтобы найти его, я бы рекомендовал запустить следующее, используя такую ​​роль, как ACCOUNTADMIN.

show tasks in account;
SELECT *
FROM (
    SELECT *
    FROM   TABLE(RESULT_SCAN(LAST_QUERY_ID())))
WHERE "name" = 'TASK_UPDATE_TABLE';

Во время тестирования и обучения в Snowflake очень важно правильно настроить "контекст" сеанса, используя такие команды:

USE ROLE my_role_here;
USE WAREHOUSE my_warehouse_here;
USE DATABASE my_database_here;
USE SCHEMA my_schema_here;

Выполнение этих четырех команд или установка для них значений по умолчанию для вашего пользователя очень поможет вам в обучении.

Надеюсь, это поможет... Рич

Другие вопросы по тегам