CREATE RESOURCE MONITOR¶
Cria um novo monitor de recursos. Este comando só pode ser executado por administradores de conta.
- Consulte também:
ALTER RESOURCE MONITOR , DROP RESOURCE MONITOR , SHOW RESOURCE MONITORS , ALTER WAREHOUSE , ALTER ACCOUNT
Sintaxe¶
CREATE [ OR REPLACE ] RESOURCE MONITOR [ IF NOT EXISTS ] <name> WITH
[ CREDIT_QUOTA = <number> ]
[ FREQUENCY = { MONTHLY | DAILY | WEEKLY | YEARLY | NEVER } ]
[ START_TIMESTAMP = { <timestamp> | IMMEDIATELY } ]
[ END_TIMESTAMP = <timestamp> ]
[ NOTIFY_USERS = ( <user_name> [ , <user_name> , ... ] ) ]
[ TRIGGERS triggerDefinition [ triggerDefinition ... ] ]
Onde:
triggerDefinition ::= ON <threshold> PERCENT DO { SUSPEND | SUSPEND_IMMEDIATE | NOTIFY }
Parâmetros obrigatórios¶
name
Identificador do monitor de recursos; deve ser único para sua conta.
O identificador deve começar com um caractere alfabético e não pode conter espaços ou caracteres especiais a menos que toda a cadeia de caracteres do identificador esteja entre aspas duplas (por exemplo,
"My object"
). Os identificadores delimitados por aspas duplas também diferenciam letras maiúsculas de minúsculas.Para obter mais detalhes, consulte Requisitos para identificadores.
Parâmetros opcionais¶
CREDIT_QUOTA = num
O número de créditos alocados ao monitor de recursos por intervalo de frequência. Quando a utilização total de todos os warehouses atribuídos ao monitor atinge este número do intervalo de frequência atual, o monitor de recursos é considerado como tendo 100% da cota.
Se um valor não for especificado para um monitor de recursos, o monitor não tem cota e nunca alcançará 100% de uso dentro do intervalo especificado.
Padrão: sem valor (ou seja, sem cota de crédito)
FREQUENCY = MONTHLY | DAILY | WEEKLY | YEARLY | NEVER
O intervalo de frequência no qual o uso de crédito é redefinido como
0
.Se você definir uma frequência para um monitor de recursos, você também deve definir
START_TIMESTAMP
.Se você especificar
NEVER
para a frequência, o uso de crédito para o warehouse não é reinicializado.Padrão: sem valor (ou seja, comportamento herdado, em que a cota de crédito é redefinida no início de cada mês de calendário)
START_TIMESTAMP = timestamp | IMMEDIATELY
A data e hora em que o monitor de recursos começa a monitorar o uso de crédito para os warehouses designados.
Se você definir um carimbo de data/hora para um monitor de recursos, você também deverá definir
FREQUENCY
.Se você especificar
IMMEDIATELY
para o carimbo de data/hora de início, é usado o carimbo de data/hora atual.Se você especificar uma data sem hora, a hora atual é utilizada.
Se você definir uma hora sem especificar um fuso horário, UTC será usado como fuso horário padrão.
Padrão: sem valor (ou seja, comportamento herdado, pelo qual o monitor de recursos começa a monitorar os warehouses imediatamente)
END_TIMESTAMP = timestamp
A data e a hora em que o monitor de recursos suspende os warehouses designados.
Padrão: sem valor (ou seja, sem data de suspensão do warehouse)
NOTIFY_USERS = ( user_name [ , user_name , ... ] )
Especifica a lista de usuários a receber notificações por e-mail nos monitores de recursos. Se um identificador de usuário incluir espaços ou caracteres especiais ou for sensível a maiúsculas e minúsculas, então o identificador deve ser delimitado por aspas duplas (por exemplo “Mary Smith”). Consulte Requisitos para identificadores para obter mais detalhes.
O identificador do usuário,
user_name
, é o valor da colunaname
da saída de SHOW USERS.Cada usuário listado deve ter um endereço de e-mail verificado. Para instruções sobre a verificação de endereços de e-mail na interface da web, consulte:
Para Classic Console: Verificação de seu endereço de e-mail no console clássico.
Para Snowsight: Verificação do endereço de e-mail.
Notificações por e-mail para usuários não administradores não substituem as notificações por e-mail para administradores. Qualquer administrador de conta que tenha ativado notificações por e-mail continuará a receber notificações por e-mail.
Nota
As seguintes limitações se aplicam aos usuários não administradores:
Os usuários não administradores são notificados por e-mail, mas não podem ver as notificações na Classic Console.
Os usuários não administradores não podem criar monitores de recursos.
As notificações são limitadas a monitores de recursos em warehouses individuais; usuários não administradores não podem receber notificações sobre monitores de recursos em nível de conta.
Os usuários não administradores não podem ser notificados sobre os monitores de recursos no nível de conta.
Os usuários não administradores não podem designar outros usuários para serem notificados.
TRIGGERS ...
(também conhecido como ações)Especifica um ou mais acionadores para o monitor de recursos. Cada definição de acionador consiste no seguinte:
ON threshold PERCENT
Um valor numérico especificado como uma porcentagem da cota de crédito para o monitor de recursos; valores maiores que
100
são suportados. Assim que o uso atinge este limite do intervalo de frequência atual, o acionador é ativado.DO SUSPEND | SUSPEND_IMMEDIATE | NOTIFY
Especifica a ação executada pelo acionador quando o limiar é atingido:
SUSPEND
: suspender todos os warehouses designados enquanto permite que as consultas atualmente em execução sejam completadas. Nenhuma nova consulta pode ser executada pelos warehouses até que a cota de crédito para o monitor de recursos seja aumentada. Além disso, esta ação envia uma notificação a todos os usuários que habilitaram notificações para si mesmos.SUSPEND_IMMEDIATE
: suspender imediatamente todos os warehouses designados e cancelar qualquer consulta ou instrução atualmente em andamento usando os warehouses. Além disso, esta ação envia uma notificação a todos os usuários que habilitaram notificações para si mesmos.NOTIFY
: enviar uma notificação (a todos os administradores de conta com notificações habilitadas), mas não tomar nenhuma outra medida.
Padrão: sem valor (ou seja, o monitor de recursos não realiza nenhuma ação)
Notas de uso¶
Os acionadores são opcionais; entretanto, pelo menos um acionador deve ser adicionado a um monitor de recursos antes que ele possa executar qualquer ação.
Cada monitor de recursos oferece suporte a até um máximo de 5 acionadores de ação
NOTIFY
.Após a criação de um monitor de recursos, ele deve ser atribuído a um warehouse ou conta antes de poder realizar qualquer ação de monitoramento:
Para atribuir um warehouse a um monitor de recursos, use ALTER WAREHOUSE (ou CREATE WAREHOUSE se você estiver criando o warehouse).
Para atribuir um monitor de recursos no nível de conta, use ALTER ACCOUNT. O parâmetro NOTIFY_USERS deve ser nulo.
Para visualizar todos os monitores de recursos criados em sua conta e suas atribuições, use o comando SHOW RESOURCE MONITORS. O comando de saída exibe
NULL
na colunalevel
para monitores de recursos que não estão atribuídos à conta ou a qualquer warehouse e, portanto, não estão monitorando nenhum uso de crédito.Se os parâmetros
frequency
estart_timestamp
forem definidos em um monitor de recursos, o dia da redefinição do uso de crédito é calculado com base nesses parâmetros. A hora de redefinição0
do uso de crédito é 12:00h AM UTC, independentemente da hora especificada emstart_timestamp
.Se você especificar um
end_timestamp
, o monitoramento terminará na data e hora especificadas e todos os warehouses atribuídos serão suspensos nessa data e hora, mesmo que a cota de crédito não tenha sido atingida.Quando isso ocorre, é enviada uma notificação informando que o monitor de recursos atingiu uma porcentagem de sua cota e acionou uma ação imediata de suspensão. A porcentagem da cota reflete o número de créditos usados no intervalo atual até a data de término e pode não ser um limite especificado.
Se houver usuários não administradores na lista de notificação, as seguintes observações serão aplicadas:
Se algum usuário não tiver um e-mail verificado, a instrução SQL falhará.
Se qualquer usuário na lista de notificação mudar seu endereço de e-mail e não verificar o novo endereço de e-mail, a notificação silenciosamente falhará.
A lista de notificação é limitada a um número máximo de 5 usuários não administradores.
Os administradores de conta podem visualizar a lista de notificação de usuários não administradores na saída de SHOW RESOURCE MONITORS na coluna
notify_user
.
Em relação aos metadados:
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.
Importante
Para receber notificações geradas por monitores de recursos, os administradores de conta e os usuários não administradores na lista de notificação devem ativar explicitamente as notificações em suas preferências. Além disso, para receber notificações por e-mail, os usuários devem ter um e-mail verificado em suas preferências. As preferências só podem ser definidas na interface da web do Snowflake. Para obter mais informações, consulte Ativação do recebimento de notificações.
Exemplos¶
Criar um monitor de recursos chamado limiter
com 3 acionadores:
CREATE OR REPLACE RESOURCE MONITOR limiter WITH CREDIT_QUOTA = 5000 TRIGGERS ON 75 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND ON 110 PERCENT DO SUSPEND_IMMEDIATE;
Criar um monitor de recursos para enviar notificações a três usuários quando 75% da cota de crédito for atingida. Neste exemplo, o user_name
para dois dos usuários inclui um espaço e, portanto, precisa ser delimitado por aspas duplas:
CREATE OR REPLACE RESOURCE MONITOR limiter WITH CREDIT_QUOTA = 5000 NOTIFY_USERS = (JDOE, "Jane Smith", "John Doe") TRIGGERS ON 75 PERCENT DO NOTIFY ON 100 PERCENT DO SUSPEND ON 110 PERCENT DO SUSPEND_IMMEDIATE;