Criação de uma integração de notificação para enviar notificações para um tópico do Microsoft Azure Event Grid

Para enviar notificações para um tópico do Microsoft Azure Event Grid, você deve criar uma integração de notificação para esse tópico. Para fazer isso:

  1. Crie um tópico personalizado do Event Grid.

  2. Crie uma integração de notificação.

Nota

Atualmente, esse recurso está limitado às contas Snowflake hospedadas no Microsoft Azure.

Criar um tópico personalizado do Event Grid

Um tópico do Event Grid oferece um ponto de extremidade para o qual a fonte envia notificações de eventos. Crie um tópico dedicado para receber notificações publicadas pelo Snowflake.

Nota

Se você planeja usar o tópico para notificações sobre erros em tarefas ou canais, você pode usar um único tópico para notificações de erro para todas as tarefas ou canais.

Para instruções sobre a criação de tópicos do Event Grid, consulte a documentação do Event Grid.

Registre o ponto de extremidade do tópico do Event Grid, pois ele será necessário mais tarde nestas instruções.

Opcionalmente, inscreva-se no tópico para informar ao Event Grid que você deseja monitorar e para onde enviar esses eventos.

Criar integração de notificação no Snowflake

Recuperação do ID do locatário

Recupere a ID do locatário do Azure, pois ela será necessária mais tarde nestas instruções.

  1. Faça login no portal do Microsoft Azure.

  2. Navegue até Azure Active Directory » Properties. Registre o valor Tenant ID para referência posterior. A ID do diretório, ou ID do locatário, é necessária para gerar o URL de consentimento que concede ao Snowflake acesso ao tópico do Event Grid.

Criação da integração de notificação

Execute o comando CREATE NOTIFICATION INTEGRATION para criar uma integração de notificação. Uma integração é um objeto Snowflake que faz referência ao tópico do Event Grid que você criou.

Ao executar o comando, defina esses parâmetros com os seguintes valores:

Por exemplo:

CREATE NOTIFICATION INTEGRATION my_notification_int
  ENABLED = TRUE
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  NOTIFICATION_PROVIDER = AZURE_EVENT_GRID
  AZURE_EVENT_GRID_TOPIC_ENDPOINT = 'https://myaccount.region-1.eventgrid.azure.net/api/events'
  AZURE_TENANT_ID = 'mytenantid';
Copy

Concessão de acesso Snowflake ao tópico

  1. Execute o comando DESCRIBE INTEGRATION para exibir as propriedades da integração de notificação que você acabou de criar.

    Por exemplo, para exibir as propriedades da integração de notificação nomeada my_notification_int:

  2. Registre os valores das seguintes propriedades:

    • AZURE_CONSENT_URL

      URL para a página de solicitação de permissões da Microsoft.

    • AZURE_MULTI_TENANT_APP_NAME

      Nome do aplicativo cliente do Snowflake criado para sua conta. Em uma etapa posterior desta seção, você precisará conceder a este aplicativo as permissões necessárias para obter um token de acesso para seu tópico permitido.

  3. Em um navegador da Web, navegue até o URL especificado pela propriedade do AZURE_CONSENT_URL. A página exibe uma página de solicitação de permissões da Microsoft.

  4. Selecione Accept. Esta ação permite que a entidade de segurança do serviço Azure criada para sua conta Snowflake tenha um token de acesso em recursos específicos dentro de seu locatário. A obtenção de um token de acesso só tem sucesso se você conceder à entidade de segurança de serviço as permissões apropriadas sobre o contêiner (consulte a próxima etapa).

    A página de solicitações de permissão da Microsoft é redirecionada para o site corporativo da Snowflake (snowflake.com).

  5. Faça login no portal do Microsoft Azure.

  6. Navegue até Azure Active Directory » Enterprise applications. Verifique se o identificador do aplicativo Snowflake que você registrou anteriormente (o valor da propriedade AZURE_MULTI_TENANT_APP_NAME) está listado.

    Importante

    Se você excluir o aplicativo Snowflake no Azure Active Directory posteriormente, a integração da notificação deixa de funcionar.

  7. Navegue até Event Grid Topics » topic_name, onde topic_name é o nome do tópico que você criou para receber notificações de eventos.

  8. Selecione Access Control (IAM) » Add role assignment.

  9. Pesquise a entidade de segurança do serviço Snowflake. Esta é a identidade na propriedade AZURE_MULTI_TENANT_APP_NAME que você registrou anteriormente. Pesquise a cadeia de cadeia de caracteres antes do sublinhado na propriedade AZURE_MULTI_TENANT_APP_NAME.

    Importante

    • Pode levar uma hora ou mais para que o Azure crie a entidade de segurança do serviço Snowflake solicitada por meio da página de solicitação da Microsoft nesta seção. Se a entidade de segurança de serviço não estiver disponível imediatamente, recomendamos esperar uma ou duas horas e depois procurar novamente.

    • Se você excluir a entidade de segurança do serviço, a integração da notificação deixa de funcionar.

  10. Conceda ao aplicativo Snowflake a permissão remetente de dados EventGrid.