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'
;
Другие вопросы по тегам