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:
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>
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';
Conceder acesso do Snowflake à assinatura Pub/Sub¶
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;
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
Acesse o Console Google Cloud Platform como editor de projeto.
No painel inicial, escolha Big Data » Pub/Sub » Subscriptions.
Selecione a assinatura a ser configurada para acesso.
Selecione SHOW INFO PANEL no canto superior direito. O painel de informações da assinatura é exibido.
No campo Add members, procure pelo nome da conta de serviço que você registrou.
A partir do menu suspenso Select a role, selecione Pub/Sub Publisher.
Selecione Add.
O nome da conta de serviço é adicionado ao menu suspenso da função Pub/Sub Publisher no painel de informações.