Успешно создана задача в 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;
Выполнение этих четырех команд или установка для них значений по умолчанию для вашего пользователя очень поможет вам в обучении.
Надеюсь, это поможет... Рич