Configuração e gerenciamento de uma tabela de evento na conta do provedor¶
Este tópico descreve como os provedores podem definir uma tabela de evento e gerenciar o compartilhamento de evento para um aplicativo.
Configuração de uma tabela de evento na organização do provedor em cada região¶
Para coletar mensagens de log e rastrear eventos que um consumidor compartilha, um provedor deve definir uma tabela de evento executando o seguinte:
Importante
Se um provedor não tiver uma conta de evento e uma tabela de evento ativa na região onde o aplicativo está instalado antes que o consumidor instale um aplicativo, os eventos de rastreamento e as mensagens de log serão descartados.
Definição de uma conta como a conta de eventos¶
Para armazenar logs e eventos compartilhados, um provedor deve selecionar uma conta para manter uma tabela de eventos. Pode ser qualquer conta que um provedor possa acessar. No entanto, se uma organização tiver vários provedores publicando pacotes de aplicativos, considere usar uma conta Snowflake dedicada ao armazenamento de eventos compartilhados do consumidor.
As seguintes restrições se aplicam às contas usadas para armazenar eventos compartilhados:
Você deve usar a função ORGADMIN para definir uma conta como a conta usada para armazenar eventos.
A conta deve ter uma tabela de eventos ativos.
A conta especificada não pode ser nenhuma das seguintes opções:
Uma conta bloqueada ou suspensa.
Uma conta de leitor.
Uma conta de avaliação.
Uma conta gerenciada do Snowflake.
Nota
Um provedor pode coletar logs e eventos compartilhados somente na mesma região onde um consumidor instala um aplicativo. Os provedores devem definir uma conta de evento para armazenar eventos compartilhados em cada região onde os consumidores configuram o compartilhamento de evento para um aplicativo.
Para definir uma conta como a conta de evento de uma região, chame a função do sistema SYSTEM$SET_EVENT_SHARING_ACCOUNT_FOR_REGION, conforme mostrado no exemplo a seguir:
SELECT SYSTEM$SET_EVENT_SHARING_ACCOUNT_FOR_REGION('<snowflake_region>', '<region_group>', '<account_name>')
Onde:
snowflake_region
Especifica o nome da região onde a conta está localizada, por exemplo:
AWS_US_WEST_2, AWS_US_EAST_1
region_group
Especifica o grupo de regiões, por exemplo:
PUBLIC
. Consulte Grupos de regiões para obter detalhes.account_name
Especifica o nome da conta. Se outra conta já estiver definida como a conta de eventos na região especificada, a execução desse comando altera a conta de eventos para a conta especificada aqui.
Criação de uma tabela de evento na conta de evento¶
Para criar uma tabela de evento, execute o comando CREATE EVENT TABLE, conforme mostrado no exemplo a seguir:
CREATE EVENT TABLE event_db.event_schema.my_event_table;
Este comando especifica o banco de dados e o esquema com a tabela de evento.
Definição da tabela de evento como a tabela de evento ativa¶
Uma conta pode ter várias tabelas de evento, mas apenas uma pode ser definida como a tabela de evento ativa em uma conta Snowflake por vez. Sem uma tabela de evento ativa, as mensagens de log e os eventos de rastreamento que o consumidor compartilha são descartados.
Após criar a tabela de evento, use ALTER … ACCOUNT … SET EVENT_TABLE para especificar que a tabela de evento é a tabela ativa para a conta:
ALTER ACCOUNT SET EVENT_TABLE=event_db.event_schema.my_event_table;
Remoção da definição de uma conta como conta de evento¶
Para remover a definição de uma conta como conta de evento para uma região, chame a função do sistema SYSTEM$UNSET_EVENT_SHARING_ACCOUNT_FOR_REGION:
SELECT SYSTEM$UNSET_EVENT_SHARING_ACCOUNT_FOR_REGION('<snowflake_region>', '<region_group>', '<account_name>')
Onde:
snowflake_region
Especifica o nome da região onde a conta está localizada, por exemplo:
AWS_US_WEST_2
region_group
Especifica o grupo de regiões, por exemplo:
PUBLIC
.account_name
Especifica o nome da conta.
Exibição das contas de evento em uma organização¶
Para mostrar contas de evento na organização de um provedor, chame a função do sistema SYSTEM$SHOW_EVENT_SHARING_ACCOUNTS:
SELECT SYSTEM$SHOW_EVENT_SHARING_ACCOUNTS()
Nota
Você deve usar a função ORGADMIN para chamar essa função.
Esta função do sistema retorna uma string em formato JSON contendo uma lista de contas de eventos dentro da organização. Como os metadados levam algum tempo para serem propagados para todas as regiões, esta função pode ter um pequeno atraso antes de mostrar a conta de evento mais atual depois que o usuário define ou desfaz a conta de evento para a organização.
Exibição dos níveis de log e rastreamento de eventos definidos em um pacote de aplicativo¶
Use o comando SHOW VERSIONS para exibir o nível de registro em log das versões do aplicativo definidas em um pacote de aplicativo, conforme mostrado no exemplo a seguir:
SHOW VERSIONS
IN APPLICATION PACKAGE HelloSnowflake;
Exibição dos logs e eventos na tabela de eventos¶
Para visualizar os logs e eventos armazenados na tabela de eventos, use o comando SELECT como mostrado no exemplo a seguir:
SELECT * FROM EVENT_DB.EVENT_SCHEMA.MY_EVENT_TABLE
Para obter mais informações sobre como consultar a tabela de evento, consulte o seguinte:
Consulte Colunas da tabela de eventos para obter informações sobre as colunas na tabela de evento.