Snowflake CLI (Snowsql) - тегирование запросов
Когда запрос запускается из оболочки snowsql, я вижу сгенерированный идентификатор запроса в пользовательском интерфейсе. Позже, если мне придется искать то же самое в истории, я хочу найти идентификатор запроса, который я могу определить или каким-либо образом пометить запрос.
Можно ли создать свой собственный идентификатор или тег запроса при запуске запроса?
3 ответа
Вы не можете создать свой собственный идентификатор запроса, но вы можете использовать QUERY_TAG
параметр, смотрите здесь.
Позже вы можете использовать его при сканировании INFORMATION_SCHEMA.QUERY_HISTORY
таблица, смотрите здесь, она имеет QUERY_TAG
колонка. Вы также можете использовать Query Tag
фильтр в History
вкладка в пользовательском интерфейсе.
Вы также можете использовать LAST_QUERY_ID для получения сгенерированных Снежинкой QUERY_ID
программно. И тогда вы это, чтобы отфильтровать с этим в QUERY_HISTORY
таблица, а также в пользовательском интерфейсе.
На самом деле вы не предоставляете это в CLI:
если у вас есть SQL-скрипт (running_test.sql):
ALTER SESSION SET QUERY_TAG =; / * с последующим SQL */
Затем вы вызываете snowsql cli обычным способом:
snowsql -c "ИМЯ_СОЕДИНЕНИЯ" -f "полный_путь_к_файлу_sql"> write_to_log_file
(Имя подключения - это то, что вы установили в своем файле конфигурации)
или snowsql "account_details + username + password" -f "full_path_to_sql_file" > write_to_log_file
Вы можете установить тег запроса для учетной записи, пользователя или сеанса. Это особенно полезно при отслеживании поведения запросов во многих сервисах.
Обратите внимание, что настройка
QUERY_TAG
будет действовать по умолчанию и будет отменен более детальными уровнями (учетная запись> пользователь> сеанс).
/*
The following will provide a default query tag to all queries
performed by an account (replace `MY_ACCOUNT` with your account name)
*/
ALTER ACCOUNT MY_ACCOUNT SET
QUERY_TAG = 'Data Warehouse'
;
/*
The following will provide a default query tag to all queries
performed by a user (replace `MY_USER` with your user name)
NOTE: This is more granular than ACCOUNT and will override
default QUERY_TAG
*/
ALTER USER MY_USER SET
QUERY_TAG = 'Data Transformations'
;
/*
The following will provide a query tag to all queries
performed by this session.
NOTE: This is more granular than USER and ACCOUNT and
will override default QUERY_TAG
*/
ALTER SESSION SET
QUERY_TAG = 'Doing this very specific task'
;