Habilitação do registro de log e compartilhamento de eventos para um aplicativo¶
Este tópico descreve como habilitar o registro de log e o compartilhamento de eventos para solucionar problemas de um aplicativo. Os eventos de registro de log e rastreamento permitem que você obtenha informações de desempenho e diagnóstico se um aplicativo encontrar algum erro. Estes são compartilhados com o provedor de aplicativos.
Fluxo de trabalho para ativar o registro de log e o compartilhamento de eventos como consumidor¶
Como consumidor, você pode ativar o registro de log e o compartilhamento de eventos para um aplicativo executando o seguinte:
Considerações para ativar o registro de log e o compartilhamento de eventos¶
Antes de habilitar o registro de log e o compartilhamento de eventos para um aplicativo, você deve considerar o seguinte:
Este recurso exige que você configure uma tabela de eventos em sua conta.
Depois de você habilitar o compartilhamento de eventos, uma cópia mascarada e editada dos logs e eventos de rastreamento é capturada automaticamente na tabela de eventos de uma conta de provedor designada.
O Snowflake não cobra por habilitar o compartilhamento de eventos. No entanto, você é responsável pelo custo de ingestão e armazenamento de log e eventos na tabela de eventos.
Depois de compartilhar eventos com um provedor, você não pode revogar o acesso a logs compartilhados e rastrear eventos.
Você não pode compartilhar eventos históricos usando o compartilhamento de eventos.
Você não pode compartilhar um subconjunto de eventos ou aplicar um filtro.
O Snowflake envia os eventos compartilhados para uma conta de provedor designada na mesma região da sua conta. Esse recurso não compartilha dados entre diferentes regiões.
Você não pode alterar os níveis de registro de log ou rastreamento para um aplicativo porque o provedor define os níveis.
A Snowflake recomenda revisar os logs e eventos na tabela de eventos antes de ativar o compartilhamento de eventos.
A Snowflake recomenda desabilitar o registro de log e o compartilhamento de eventos se você não precisar solucionar problemas do aplicativo.
Configuração de uma tabela de eventos¶
O Native Apps Framework exige uma tabela de eventos para armazenar mensagens de log e rastrear eventos gerados a partir de funções e procedimentos armazenados em um aplicativo.
Nota
Se você não configurar uma tabela de eventos e torná-la a tabela ativa antes de instalar o aplicativo, o registro de log e os dados do evento serão descartados.
Uma conta pode ter várias tabelas de eventos, mas apenas uma delas pode ser definida como a tabela de eventos ativa para uma conta Snowflake por vez. Sem uma tabela de eventos ativa, as mensagens de log e os eventos de rastreamento gerados pelo aplicativo não são capturados. Isso se aplica mesmo se as funções e procedimentos em um aplicativo chamarem as APIs de evento de registro e rastreamento.
Use o comando CREATE EVENT TABLE para criar uma tabela de eventos conforme mostrado no exemplo a seguir:
CREATE EVENT TABLE event_db.event_schema.my_event_table;
Depois de criar a tabela de eventos, use o comando ALTER ACCOUNT para especificar que a tabela de eventos é a tabela ativa para a conta:
ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Visualize os eventos na tabela de eventos.¶
Tanto o provedor quanto o consumidor podem consultar a tabela de eventos para ver os eventos que estão sendo armazenados. Use o comando SELECT para consultar os logs e rastrear eventos da tabela de eventos, por exemplo:
SELECT * FROM event_db.event_schema.my_event_table;
Visualizar os níveis de eventos de log e rastreamento de um aplicativo¶
Como consumidor, você não pode alterar o nível de log de um aplicativo. No entanto, antes de habilitar o registro de log para um aplicativo, a Snowflake recomenda verificar o nível de log para entender o tipo de informação a ser compartilhada com o provedor.
Para visualizar o nível de registro em log de um aplicativo instalado, execute o seguinte comando:
DESC APPLICATION HelloSnowflake;
Este comando exibe informações sobre o aplicativo HelloSnowflake
, incluindo os valores para log_level
e trace_level
.
Habilitação do registro de log e compartilhamento de eventos para um aplicativo¶
Para compartilhar logs e informações de eventos com um provedor, você deve habilitar o compartilhamento de eventos para um aplicativo.
Os pré-requisitos a seguir devem ser atendidos para habilitar o compartilhamento de eventos para uma instância do aplicativo:
Use uma função com o privilégio global MANAGE EVENT SHARING. A função ACCOUNTADMIN tem esse privilégio por padrão e pode concedê-lo a outras funções.
Para habilitar o compartilhamento de eventos para um aplicativo, execute o comando ALTER APPLICATION para definir SHARE_EVENTS_WITH_PROVIDER como TRUE
. Por exemplo:
ALTER APPLICATION HelloSnowflake SET SHARE_EVENTS_WITH_PROVIDER = TRUE;
Para mostrar o status de compartilhamento de evento para um aplicativo, use o comando DESC APPLICATION como mostrado no exemplo a seguir:
DESC APPLICATION HelloSnowflake;
SHARE_EVENTS_WITH_PROVIDER
mostra o status do compartilhamento de eventos para o aplicativo.