Todos os produtos
Search
Central de documentação

Simple Message Queue (formerly MNS):Notificações de eventos do OSS

Última atualização: Jun 27, 2026

Ao criar uma regra de notificação de eventos, você utiliza o Simple Message Queue (SMQ) para enviar mensagens de eventos dos seus recursos do Object Storage Service (OSS) para um endpoint especificado. Este tópico aborda os tipos de eventos, o formato das mensagens e as etapas para criar regras de notificação.

Contexto

Após a criação de uma regra de notificação de eventos, o Simple Message Queue (SMQ) envia mensagens de eventos de recursos específicos do OSS para um endpoint, conforme ilustrado abaixo.

image

Quando uma operação no OSS aciona uma regra de notificação de eventos correspondente, o sistema adiciona um cabeçalho à resposta. Esse cabeçalho descreve o resultado da notificação sem alterar a resposta original da API. Caso nenhuma regra corresponda, o sistema não inclui nenhum cabeçalho. Se houver correspondência, ele adiciona o cabeçalho independentemente do sucesso no envio da mensagem. O formato é:

x-oss-process-status: 'ewogICAgImNvZGUiOiAiU3VjY2VzcyIsCiAgICAibWVzc2FnZSI6ICJOb3RpZmljYXRpb25TdWNjZWVkIiwKICAgICJ0eXBlIjogIkV2ZW50Tm90aWZpY2F****'
  • Chave: x-oss-process-status

  • Valor: Uma string codificada em Base64. O exemplo a seguir mostra o objeto JSON decodificado:

    {
        "code":"Success",  // The result of the event notification attempt. Returns Success or Fail. Success indicates that OSS sent the message to the topic, but does not guarantee that the topic pushed the message to the endpoint.
        "message":"NotificationSucceed",   // A detailed description of the operation. If it fails, this field provides the reason for the failure.
        "type":"EventNotification",   // The operation type. For event notifications, this is always EventNotification.
        "version":"1.0"
    }

A seção Tipos de envio descreve os métodos disponíveis para entrega de mensagens.

Casos de uso

  • Monitorar atividade de recursos: crie regras para receber notificações quando outros usuários executarem operações em seus buckets.

  • Analisar dados e tendências: acompanhe a frequência operacional ao longo do tempo ou importe mensagens de notificação para serviços como o E-MapReduce (EMR) para análises mais aprofundadas.

  • Acompanhar métricas operacionais: monitore indicadores como consultas por segundo (QPS) para operações específicas em seus recursos.

Tipos de eventos

Grupo

Tipo

Descrição

ObjectCreated (Criação de objeto)

ObjectCreated:PutObject

Faz upload de um objeto. PutObject.

ObjectCreated:PostObject

Faz upload de um objeto via POST baseado em formulário. PostObject.

ObjectCreated:CopyObject

Copia um objeto. CopyObject.

ObjectCreated:AppendObject

Acrescenta dados para fazer upload de um objeto. AppendObject.

ObjectCreated:InitiateMultipartUpload

Inicia um upload multipart. InitiateMultipartUpload.

ObjectCreated:UploadPart

Faz upload de uma parte em um upload multipart. UploadPart.

ObjectCreated:UploadPartCopy

Copia uma parte em um upload multipart. UploadPartCopy.

ObjectCreated:CompleteMultipartUpload

Conclui um upload multipart. CompleteMultipartUpload.

ObjectCreated:PutSymlink

Cria um link simbólico para um objeto. PutSymlink.

ObjectCreated:Mirror

O objeto é criado por espelhamento.

Nota

Por padrão, o espelhamento do OSS aciona ObjectCreated:PutObject. Para usar ObjectCreated:Mirror, abra um ticket.

ObjectCreated:*

Qualquer evento com o prefixo ObjectCreated:.

Nota

Este curinga abrange todos os tipos de eventos atuais e futuros sob ObjectCreated.

ObjectDownloaded (Baixe de objeto)

ObjectDownloaded:GetObject

Um objeto é baixado.

ObjectModified (Modifique de objeto)

ObjectModified:UpdateObjectMeta

Os metadados do objeto são modificados via UpdateObjectMeta.

ObjectModified:ChangeStorageClass

Uma regra de ciclo de vida altera a classe de armazenamento de um objeto.

ObjectModified:*

Qualquer evento com o prefixo ObjectModified:.

Nota

Este curinga abrange todos os tipos de eventos atuais e futuros sob ObjectModified.

ObjectRemoved (Exclua de objeto)

ObjectRemoved:DeleteObject

Exclui um único objeto. DeleteObject.

ObjectRemoved:DeleteObjects

Exclui vários objetos. DeleteMultipleObjects.

ObjectRemoved:AbortMultipartUpload

Cancela um upload multipart e exclui suas partes. AbortMultipartUpload.

ObjectRemoved:*

Qualquer evento com o prefixo ObjectRemoved:.

Nota

Este curinga abrange todos os tipos de eventos atuais e futuros sob ObjectRemoved.

ObjectReplication (Replicação de objeto)

ObjectReplication:ObjectCreated

Uma operação de escrita ocorre como parte de um processo de replicação de dados.

ObjectReplication:ObjectRemoved

Uma operação de exclusão ocorre como parte de um processo de replicação de dados.

ObjectReplication:ObjectModified

Uma operação de sobrescrita ocorre como parte de um processo de replicação de dados.

ObjectReplication:*

Qualquer evento com o prefixo ObjectReplication:.

Nota

Este curinga abrange todos os tipos de eventos atuais e futuros sob ObjectReplication.

ObjectRestore (Restauração de objeto)

ObjectRestore:FinishRestore

Um objeto é restaurado do armazenamento de arquivos. Aplica-se apenas a objetos Cold Archive e Deep Cold Archive.

Formato da mensagem

As mensagens de notificação de eventos do OSS são objetos JSON codificados em Base64. O exemplo a seguir mostra o payload da mensagem decodificado.

{
    "events":[
        {
            "eventName":"ObjectDownloaded:GetObject",
            "eventSource":"acs:oss",
            "eventTime":"2016-07-01T11:17:30.000Z",
            "eventVersion":"1.0",
            "oss":{
                "bucket":{
                    "arn":"acs:oss:cn-shenzhen:123456789098****:event-notification-test-shenzhen",
                    "name":"event-notification-test-shenzhen",
                    "ownerIdentity":"123456789098****"
                },
                "object":{
                    "deltaSize":0,
                    "eTag":"0CC175B9C0F1B6A831C399E26977****",
                    "key":"test",
                    "readFrom":0,
                    "readTo":1,
                    "size":1
                },
                "ossSchemaVersion":"1.0",
                "ruleId":"GetObjectRule"
            },
            "region":"cn-shenzhen",
            "requestParameters":{
                "sourceIPAddress":"140.205.XX.XX"
            },
            "responseElements":{
                "requestId":"5776514AF09A9E654242****"
            },
            "userIdentity":{
                "principalId":"123456789098****"
            },
            "xVars":{
                "x:callback-var1":"value1",
                "x:callback-var2":"value2"
            }
        }
    ]
}

O payload da mensagem contém os seguintes parâmetros.

Parâmetro

Descrição

eventName

Tipo do evento.

eventSource

Origem do evento.

eventTime

Horário em que o evento ocorreu, em UTC.

eventVersion

Versão do esquema do evento.

oss

Detalhes sobre o evento do OSS.

bucket

Informações sobre o bucket.

arn

Alibaba Cloud Resource Name (ARN) do bucket.

name

Nome do bucket.

ownerIdentity

ID do usuário proprietário do bucket.

object

Detalhes sobre o objeto.

deltaSize

Variação no tamanho do objeto, em bytes.

eTag

ETag do objeto. Para requisições PutObject, corresponde ao hash MD5. Para outras operações, é um identificador exclusivo (não é um hash MD5). Utilize o ETag para verifique a integridade do conteúdo do objeto.

key

Nome do objeto.

readFrom

Posição inicial do byte para uma operação de leitura.

readTo

Posição final do byte para uma operação de leitura.

size

Tamanho total do objeto em bytes.

ossSchemaVersion

Versão do esquema específico do OSS.

ruleId

ID da regra que acionou o evento.

region

Região onde o bucket está localizado.

requestParameters

Parâmetros da requisição original.

sourceIPAddress

Endereço IP de origem da requisição.

responseElements

Elementos da resposta.

requestId

ID exclusivo da requisição.

userIdentity

Informações sobre o usuário que fez a requisição.

principalId

User ID (UID) do solicitante.

xVars

Parâmetros personalizados de uma configuração de callback do OSS.

Observações de uso

  • As regras de notificação de eventos levam cerca de 10 minutos para entrar em vigor após a criação.

  • O sistema cria um tópico para cada nova regra, o que pode gerar cobranças conforme o guia de Faturamento.

  • É possível crie e exclua regras de notificação de eventos, mas não modifique-as.

(Opcional) Etapa 1: Crie uma fila

Crie uma fila se planeja usá-la como destino da notificação. Também é possível adicionar assinaturas após a criação da regra de evento.

  1. Faça login no console do Simple Message Queue (antigo MNS).

  2. No painel de navegação à esquerda, escolha Queue Model > Queues.

  3. Na barra de navegação superior, selecione uma região.

  4. Na página Queues, clique em Create Queue.

  5. No painel Create Queue, configure os parâmetros a seguir e clique em OK:

    • Name: nome da fila.

    • Maximum Message Length: comprimento máximo da mensagem enviada à fila.

    • Long Polling Period: duração máxima pela qual as requisições de long polling são mantidas após a chamada da operação ReceiveMessage.

    • Visibility Timeout Period: tempo durante o qual uma mensagem permanece no estado Inactive após ser recebida da fila.

    • Message Retention Period: duração máxima de existência de uma mensagem na fila. Após o período de retenção especificado, a mensagem é excluída, independentemente de ter sido recebida ou não.

    • Message Delay Period: período após o qual todas as mensagens enviadas à fila são consumidas.

    • Enable Logging Feature: define se o recurso de log deve ser ativado.

    Após a criação, a fila aparece na página Queues.

(Opcional) Etapa 2: Crie um bucket

Se o bucket desejado já existir, ignore esta etapa.

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em Buckets.

  3. Na página Buckets, clique em Create bucket.

  4. No painel Create bucket, configure os parâmetros do bucket e clique em OK.

    • Bucket name: insira event-notification-test.

    • Region: selecione a mesma região da sua fila.

    • Block public access: selecione Off.

    • ACL: selecione Public Read/Write.

      Nota

      Mantenha os valores padrão para as demais configurações.

Etapa 3: Crie uma regra personalizada

Ao criar uma regra, o Simple Message Queue (SMQ) cria automaticamente um tópico e uma assinatura para o endpoint especificado. Gerencie esses itens no console do SMQ.

  1. Faça login no console do Simple Message Queue (antigo MNS).

  2. No painel de navegação à esquerda, clique em Event Notifications.

  3. Na barra de navegação superior, selecione uma região.

  4. Na página Event Notifications, clique na aba OSS e, em seguida, clique em Create Rule.

  5. No painel Create rule - OSS, configure as opções a seguir e clique em OK.

    • Instance Name: insira um nome para a regra.

    • Event Type: selecione um ou mais tipos de eventos.

    • Match rule: configure a regra de correspondência.

      Nota

      Uma regra de correspondência pode ser um nome completo, um prefixo, um sufixo ou uma combinação de prefixo e sufixo. Regras diferentes não podem ter definições de recursos sobrepostas. Um recurso do OSS é especificado no formato bucket/object. Por exemplo, no recurso movie/hello.avi, movie é o bucket e hello.avi é o objeto.

      • Nome completo: movie/hello.avi.

      • Prefixo:

        • movie/hello: corresponde a todos os objetos no bucket movie que possuem o prefixo hello.

        • movie/: corresponde a todos os objetos no bucket movie.

        • mov: corresponde a todos os objetos em qualquer bucket cujo nome tenha o prefixo mov.

      • Sufixo: .avi: corresponde a todos os objetos em qualquer bucket que tenham o sufixo .avi.

      • Prefixo e Sufixo: prefixo movie/ e sufixo .avi: corresponde a todos os objetos no bucket movie que possuem o sufixo .avi.

    • Destination: selecione Queue e insira o nome da fila criada na Etapa 1.

Etapa 4: Fazer upload de um objeto

  1. Faça login no console do OSS.

  2. No painel de navegação à esquerda, clique em Buckets.

  3. Na página Buckets, clique no nome do bucket de destino.

  4. Escolha Object management > Object list e clique em Upload object.

  5. No painel Upload object, especifique o diretório de upload e a ACL do objeto e clique em Upload object. Upload de objetos pelo console do OSS.

    A coluna Status exibe "Uploaded".

Etapa 5: Receber mensagens

  1. Faça login no console do Simple Message Queue (antigo MNS).

  2. No painel de navegação à esquerda, escolha Queue Model > Queues.

  3. Na barra de navegação superior, selecione uma região.

  4. Na página Queues, localize a fila de destino e, na coluna Action, escolha More > Send and receive messages.

  5. Na página Send and receive messages, na seção Receive messages, clique em Receive message.

    A lista de mensagens da fila é exibida na seção Receive messages.

  6. Na lista de mensagens, localize a mensagem desejada e clique em Details na coluna Actions para visualize seu conteúdo na caixa de diálogo Message details.