Criação de uma integração de notificação para enviar notificações para um tópico do Google Cloud Pub/Sub

Para enviar notificações a um tópico do Google Cloud Pub/Sub, você deve criar uma integração de notificação para esse tópico. Para fazer isso:

  1. Crie um tópico do Pub/Sub.

  2. Criar uma assinatura do Pub/Sub.

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

  4. Conceda acesso Snowflake à assinatura Pub/Sub.

Nota

Atualmente, esse recurso está limitado às contas Snowflake hospedadas no Google Cloud Platform (GCP).

Criar o tópico Pub/Sub

Crie um tópico Pub/Sub que possa receber mensagens de notificação de erro do Snowflake ou reutilizar um tópico existente. Você pode criar o tópico usando SDK Cloud Shell ou Cloud. Para obter mais informações, consulte Criação e uso de tópicos na documentação do Pub/Sub.

Por exemplo, execute o seguinte comando para criar um tópico vazio:

gsutil notification create -t <topic>
Copy

Se o tópico já existe, o comando o utiliza; caso contrário, é criado um novo tópico.

Criar a assinatura Pub/Sub

Opcionalmente, crie uma assinatura para o tópico do Pub/Sub para recuperar notificações. Você pode criar uma assinatura com entrega por Pull usando a ferramenta de linha de comando gcloud ou a API Cloud Pub/Sub. Para obter instruções, consulte Gerenciamento de tópicos e assinaturas na documentação do Pub/Sub.

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

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 Pub/Sub que você criou.

O Snowflake associa a integração de notificação a uma conta de serviço Google Cloud Platform (GCP) criada para sua conta. O Snowflake cria uma única conta de serviço que é referenciada por todas as integrações de notificação GCP em sua conta Snowflake. A conta de serviço GCP para integrações de notificação é diferente da conta de serviço criada para integrações de armazenamento.

Ao executar o comando, defina GCP_PUBSUB_TOPIC_NAME como o nome do tópico que você criou anteriormente.

Por exemplo:

CREATE NOTIFICATION INTEGRATION my_notification_int
  ENABLED = TRUE
  DIRECTION = OUTBOUND
  TYPE = QUEUE
  NOTIFICATION_PROVIDER = GCP_PUBSUB
  GCP_PUBSUB_TOPIC_NAME = 'projects/sdm-prod/topics/mytopic';
Copy

Conceder acesso do Snowflake à assinatura Pub/Sub

  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:

    DESC NOTIFICATION INTEGRATION my_notification_int;
    
    Copy
  2. Registre o valor da propriedade GCP_PUBSUB_SERVICE_ACCOUNT (o nome da conta de serviço) com o seguinte formato:

    <service_account>@<project_id>.iam.gserviceaccount.com
    
    Copy
  3. Acesse o Console Google Cloud Platform como editor de projeto.

  4. No painel inicial, escolha Big Data » Pub/Sub » Subscriptions.

  5. Selecione a assinatura a ser configurada para acesso.

  6. Selecione SHOW INFO PANEL no canto superior direito. O painel de informações da assinatura é exibido.

  7. No campo Add members, procure pelo nome da conta de serviço que você registrou.

  8. A partir do menu suspenso Select a role, selecione Pub/Sub Publisher.

  9. Selecione Add.

    O nome da conta de serviço é adicionado ao menu suspenso da função Pub/Sub Publisher no painel de informações.