Configure regras de notificação de eventos no console do Object Storage Service (OSS) para monitorar objetos específicos. Quando um evento especificado ocorre em um objeto, o Object Storage Service (OSS) envia uma notificação para uma fila do Simple Message Queue (SMQ).
Cenário
Uma empresa cria um bucket chamado srcbucket na região China (Hangzhou). Esse bucket contém objetos de log com o prefixo log/ e objetos de imagem de casos de clientes com o prefixo destdir/.
srcbucket
└── log/
├── date1.txt
├── date2.txt
├── date3.txt
├── .......
└── destdir/
├── photo1.jpg
├── photo2.jpg
├── ......
Uma subsidiária precisa replicar novos objetos de log e imagem do srcbucket em tempo real, incluindo criações, exclusões ou modificações. O destino da replicação é um bucket chamado destbucket, pertencente à matriz na região UK (London). A empresa também deseja notificar todos os funcionários sobre alterações em objetos que correspondam aos prefixos log/ e destdir/ tanto no srcbucket quanto no destbucket.
Para atender a esses requisitos, configure uma regra de replicação entre regiões (CRR) para o srcbucket e defina notificações de eventos para ambos os buckets.
Etapa 1: Criar filas
Faça login no console do SMQ.
No painel de navegação à esquerda, escolha .
Na barra de navegação superior, selecione a região China (Hangzhou).
Na página Queues, clique em Create Queue. Defina o nome da fila como myqueue1 e mantenha as configurações padrão dos demais parâmetros.
Clique em OK.
Repita as etapas anteriores para criar uma fila chamada myqueue2 na região UK (London).
Etapa 2: Configurar a replicação entre regiões
Faça login no console do OSS.
Clique em Buckets e, em seguida, clique em srcbucket.
No painel de navegação à esquerda, escolha .
Na página CRR, clique em CRR.
-
No painel CRR, configure os seguintes parâmetros e clique em OK.
Parâmetro
Descrição
Destination Bucket
Selecione UK (London) como região e destbucket como bucket.
Objects to Replicate
Escolha Objects with Specified Prefix e adicione os prefixos destdir/ e log/.
Replication Policy
Selecione Add/Delete/Change Sync.
Replicate Historical Data
Selecione Copy.
RAM Role Name
Escolha a função do RAM para replicação entre regiões.
Etapa 3: Configurar notificações de eventos
A regra de CRR configurada na Etapa 2 inclui a replicação de dados históricos. Se houver um grande volume de dados históricos, esse processo poderá gerar muitas mensagens. Para evitar isso, ative as notificações de eventos somente após a conclusão da replicação dos dados históricos.
Faça login no console do OSS.
-
Clique em Buckets. Siga estas etapas para configurar as notificações de eventos tanto para o srcbucket quanto para o destbucket:
No painel de navegação à esquerda, escolha .
Na página Event Notification, clique em Create Rule.
-
No painel Create Rule, configure os parâmetros conforme descrito na tabela a seguir e clique em OK.
Parâmetro
Origem (srcbucket)
Destino (destbucket)
Rule Name
Defina o nome da regra como notification1.
Defina o nome da regra como notification2.
Event Type
Selecione PutObject, CopyObject, DeleteObject e DeleteObjects.
Selecione ObjectReplication:ObjectCreated, ObjectReplication:ObjectRemoved e ObjectReplication:ObjectModified.
Resource Description
Escolha Prefix and Suffix. Adicione os prefixos log/ e destdir/.
Escolha Prefix and Suffix. Adicione os prefixos log/ e destdir/.
Endpoint
Selecione Queue. No nome da fila, insira myqueue1, criada na Etapa 1.
Selecione Queue. No nome da fila, insira myqueue2, criada na Etapa 1.
As regras de notificação de eventos entram em vigor aproximadamente 10 minutos após a configuração.
Etapa 4: Criar assinaturas e receber mensagens
Quando ocorre um evento correspondente, o SMQ cria automaticamente um tópico. O nome do tópico segue o formato mns-en-topics-[Product]-[RuleName]-[Timestamp], por exemplo, mns-en-topics-oss-notification1-1700098799. Crie uma assinatura para esse tópico e especifique um endpoint receptor.
-
Acesse a página de assinaturas.
Faça login no console do SMQ.
No painel de navegação à esquerda, clique em Topics.
Na barra de navegação superior, selecione a região China (Hangzhou).
Localize o tópico criado automaticamente pelo SMQ e clique em View Subscriptions na coluna Actions.
-
Crie uma assinatura.
Na página de detalhes do tópico, clique na aba Subscriptions e, em seguida, clique em Create Subscription.
Na página Create Subscription, crie uma assinatura para o bucket de source, srcbucket. Defina Subscription Name como mysubscription1, Push Type como Queue e Receiver Endpoint como myqueue1. Mantenha as configurações padrão dos demais parâmetros.
Clique em OK.
Repita essas etapas na região UK (London) para criar uma assinatura chamada mysubscription2 para o bucket de destino, destbucket. Selecione Queue como tipo de push e especifique myqueue2 como endpoint receptor. Mantenha as configurações padrão dos demais parâmetros.
-
Receba as notificações.
No painel de navegação à esquerda, clique em Queues.
Na coluna Actions da fila de destino myqueue1, escolha .
-
Na seção Receive Message, clique em Receive Message no canto superior direito.
Agora você pode receber notificações de eventos para criação, modificação e exclusão de objetos que correspondam aos prefixos
log/edestdir/no srcbucket. Repita essas etapas para a fila myqueue2 a fim de receber notificações do bucket de destino, destbucket. Após concluir a configuração, você receberá notificações de eventos quando objetos no destbucket forem criados, sobrescritos ou excluídos pela regra de CRR.
Quando não for mais necessário receber notificações de eventos, exclua as regras de notificação correspondentes. Excluir uma regra não remove automaticamente o tópico criado para ela. Para evitar cobranças desnecessárias, exclua manualmente os tópicos não utilizados.