Todos los productos
Search
Centro de documentos

Simple Message Queue (formerly MNS):Notificaciones de eventos de OSS

Última actualización: Sep 04, 2026

Al crear una regla de notificación de eventos, puede utilizar Simple Message Queue (SMQ) para enviar mensajes de eventos desde sus recursos de Object Storage Service (OSS) a un endpoint específico. Este tema aborda los tipos de eventos, el formato de los mensajes y los pasos para crear reglas de notificación.

Contexto

Después de crear una regla de notificación de eventos, Simple Message Queue (SMQ) envía mensajes de eventos desde los recursos de OSS especificados a un endpoint, como se muestra a continuación.

image

Cuando una operación de OSS activa una regla de notificación de eventos coincidente, se agrega un encabezado a la respuesta. Este encabezado describe el resultado de la notificación sin afectar la respuesta original de la API. Si ninguna regla coincide, no se agrega ningún encabezado. Si una regla coincide, el encabezado se agrega independientemente de si el mensaje se envió correctamente. El formato es:

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

  • Valor: Una cadena codificada en Base64. El siguiente ejemplo muestra el 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"
    }

Push types describe los métodos de entrega de mensajes disponibles.

Casos de uso

  • Supervisar la actividad de los recursos. Cree reglas para recibir notificaciones cuando otros usuarios realicen operaciones en sus buckets.

  • Analizar datos y tendencias. Rastree la frecuencia operativa a lo largo del tiempo o importe mensajes de notificación a servicios como E-MapReduce (EMR) para un análisis más detallado.

  • Supervisar métricas operativas. Rastree métricas como consultas por segundo (QPS) para operaciones específicas en sus recursos.

Tipos de eventos

Grupo

Tipo

Descripción

ObjectCreated (Crear objeto)

ObjectCreated:PutObject

Carga un objeto. PutObject.

ObjectCreated:PostObject

Carga un objeto mediante POST basado en formulario. PostObject.

ObjectCreated:CopyObject

Copia un objeto. CopyObject.

ObjectCreated:AppendObject

Anexa datos para cargar un objeto. AppendObject.

ObjectCreated:InitiateMultipartUpload

Inicia una carga multiparte. InitiateMultipartUpload.

ObjectCreated:UploadPart

Carga una parte en una carga multiparte. UploadPart.

ObjectCreated:UploadPartCopy

Copia una parte en una carga multiparte. UploadPartCopy.

ObjectCreated:CompleteMultipartUpload

Completa una carga multiparte. CompleteMultipartUpload.

ObjectCreated:PutSymlink

Crea un enlace simbólico para un objeto. PutSymlink.

ObjectCreated:Mirror

El objeto se crea mediante duplicación.

Nota

De forma predeterminada, la duplicación de OSS activa ObjectCreated:PutObject. Para usar ObjectCreated:Mirror en su lugar, envíe un ticket.

ObjectCreated:*

Cualquier evento con el prefijo ObjectCreated:.

Nota

Este comodín abarca todos los tipos de eventos actuales y futuros bajo ObjectCreated.

ObjectDownloaded (Descargar objeto)

ObjectDownloaded:GetObject

Se descarga un objeto.

ObjectModified (Modificar objeto)

ObjectModified:UpdateObjectMeta

Los metadatos del objeto se modifican mediante UpdateObjectMeta.

ObjectModified:ChangeStorageClass

La clase de almacenamiento de un objeto cambia debido a una regla de ciclo de vida.

ObjectModified:*

Cualquier evento con el prefijo ObjectModified:.

Nota

Este comodín abarca todos los tipos de eventos actuales y futuros bajo ObjectModified.

ObjectRemoved (Eliminar objeto)

ObjectRemoved:DeleteObject

Elimina un solo objeto. DeleteObject.

ObjectRemoved:DeleteObjects

Elimina varios objetos. DeleteMultipleObjects.

ObjectRemoved:AbortMultipartUpload

Cancela una carga multiparte y elimina sus partes. AbortMultipartUpload.

ObjectRemoved:*

Cualquier evento con el prefijo ObjectRemoved:.

Nota

Este comodín abarca todos los tipos de eventos actuales y futuros bajo ObjectRemoved.

ObjectReplication (Replicar objeto)

ObjectReplication:ObjectCreated

Ocurre una operación de escritura como parte de un proceso de replicación de datos.

ObjectReplication:ObjectRemoved

Ocurre una operación de eliminación como parte de un proceso de replicación de datos.

ObjectReplication:ObjectModified

Ocurre una operación de sobrescritura como parte de un proceso de replicación de datos.

ObjectReplication:*

Cualquier evento con el prefijo ObjectReplication:.

Nota

Este comodín abarca todos los tipos de eventos actuales y futuros bajo ObjectReplication.

ObjectRestore (Restaurar objeto)

ObjectRestore:FinishRestore

Un objeto se restaura desde el almacenamiento de archivo. Aplica únicamente a objetos Cold Archive y Deep Cold Archive.

Formato del mensaje

Los mensajes de notificación de eventos de OSS son objetos JSON codificados en Base64. El siguiente ejemplo muestra una carga útil de mensaje decodificada.

{
    "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"
            }
        }
    ]
}

La carga útil del mensaje contiene los siguientes parámetros.

Parámetro

Descripción

eventName

El tipo de evento.

eventSource

El origen del evento.

eventTime

La hora en que ocurrió el evento, en UTC.

eventVersion

La versión del esquema del evento.

oss

Contiene detalles sobre el evento de OSS.

bucket

Contiene detalles sobre el bucket.

arn

El Alibaba Cloud Resource Name (ARN) del bucket.

name

El nombre del bucket.

ownerIdentity

El ID del usuario propietario del bucket.

object

Contiene detalles sobre el objeto.

deltaSize

El cambio en el tamaño del objeto, en bytes.

eTag

El ETag del objeto. Para solicitudes PutObject, este es el hash MD5. Para otras operaciones, es un identificador único (no un hash MD5). Utilice el ETag para verificar la integridad del contenido del objeto.

key

El nombre del objeto.

readFrom

La posición inicial de byte para una operación de lectura.

readTo

La posición final de byte para una operación de lectura.

size

El tamaño total del objeto en bytes.

ossSchemaVersion

La versión del esquema específico de OSS.

ruleId

El ID de la regla que activó el evento.

region

La región donde se encuentra el bucket.

requestParameters

Parámetros de la solicitud original.

sourceIPAddress

La dirección IP de origen de la solicitud.

responseElements

Elementos de la respuesta.

requestId

El ID único de la solicitud.

userIdentity

Información sobre el usuario que realizó la solicitud.

principalId

El User ID (UID) del solicitante.

xVars

Parámetros personalizados de una configuración de callback de OSS.

Notas de uso

  • Las reglas de notificación de eventos tardan aproximadamente 10 minutos en surtir efecto después de su creación.

  • Se crea un tema para cada nueva regla, lo cual puede generar cargos según la guía Billing.

  • Las reglas de notificación de eventos se pueden crear y eliminar, pero no modificar.

(Opcional) Paso 1: Crear una cola

Cree una cola si planea usarla como destino de notificación. También puede agregar suscripciones después de crear la regla de eventos.

  1. Inicie sesión en la consola de Simple Message Queue (anteriormente MNS).

  2. En el panel de navegación izquierdo, seleccione Queue Model > Queues.

  3. En la barra de navegación superior, seleccione una región.

  4. En la página Queues, haga clic en Create Queue.

  5. En el panel Create Queue, configure los siguientes parámetros y haga clic en OK:

    • Name: el nombre de la cola.

    • Maximum Message Length: la longitud máxima del mensaje que se envía a la cola.

    • Long Polling Period: la duración máxima durante la cual se retienen las solicitudes de long polling después de llamar a la operación ReceiveMessage.

    • Visibility Timeout Period: la duración durante la cual un mensaje permanece en estado Inactive después de recibirse desde la cola.

    • Message Retention Period: la duración máxima durante la cual existe un mensaje en la cola. Después del período de retención especificado, el mensaje se elimina independientemente de si fue recibido.

    • Message Delay Period: el período después del cual se consumen todos los mensajes enviados a la cola.

    • Enable Logging Feature: especifica si se habilita la función de registro.

    Una vez creada la cola, esta aparece en la página Queues.

(Opcional) Paso 2: Crear un bucket

Si el bucket deseado ya existe, puede omitir este paso.

  1. Inicie sesión en la consola de OSS.

  2. En el panel de navegación izquierdo, haga clic en Buckets.

  3. En la página Buckets, haga clic en Create bucket.

  4. En el panel Create bucket, configure los parámetros del bucket y luego haga clic en OK.

    • Bucket name: Introduzca event-notification-test.

    • Region: Seleccione la misma región que su cola.

    • Block public access: Seleccione Off.

    • ACL: Seleccione Public Read/Write.

      Nota

      Mantenga los valores predeterminados para las demás configuraciones.

Paso 3: Crear una regla personalizada

Al crear una regla, Simple Message Queue (SMQ) crea automáticamente un tema y una suscripción para el endpoint especificado. Puede gestionarlos en la consola de SMQ.

  1. Inicie sesión en la consola de Simple Message Queue (anteriormente MNS).

  2. En el panel de navegación izquierdo, haga clic en Event Notifications.

  3. En la barra de navegación superior, seleccione una región.

  4. En la página Event Notifications, haga clic en la pestaña OSS y luego en Create Rule.

  5. En el panel Create rule - OSS, configure los siguientes ajustes y luego haga clic en OK.

    • Instance Name: Introduzca un nombre para la regla.

    • Event Type: Seleccione uno o más tipos de eventos.

    • Match rule: Configure la regla de coincidencia.

      Nota

      Una regla de coincidencia puede ser un nombre completo, un prefijo, un sufijo o una combinación de prefijo y sufijo. Las diferentes reglas no pueden tener definiciones de recursos superpuestas. Un recurso de OSS se especifica en el formato bucket/object. Por ejemplo, en el recurso movie/hello.avi, movie es el bucket y hello.avi es el objeto.

      • Nombre completo: movie/hello.avi.

      • Prefijo:

        • movie/hello: Coincide con todos los objetos en el bucket movie que tienen el prefijo hello.

        • movie/: Coincide con todos los objetos en el bucket movie.

        • mov: Coincide con todos los objetos en cualquier bucket cuyo nombre tenga el prefijo mov.

      • Sufijo: .avi: Coincide con todos los objetos en cualquier bucket que tengan el sufijo .avi.

      • Prefijo y Sufijo: Prefijo movie/ y sufijo .avi: Coincide con todos los objetos en el bucket movie que tengan el sufijo .avi.

    • Destination: Seleccione Queue e introduzca el nombre de la cola que creó en Step 1.

Paso 4: Cargar un objeto

  1. Inicie sesión en la consola de OSS.

  2. En el panel de navegación izquierdo, haga clic en Buckets.

  3. En la página Buckets, haga clic en el nombre del bucket de destino.

  4. Seleccione Object management > Object list y luego haga clic en Upload object.

  5. En el panel Upload object, especifique el directorio de carga y el ACL del objeto, y luego haga clic en Upload object. Upload objects by using the OSS console.

    La columna Status muestra "Uploaded".

Paso 5: Recibir mensajes

  1. Inicie sesión en la consola de Simple Message Queue (anteriormente MNS).

  2. En el panel de navegación izquierdo, seleccione Queue Model > Queues.

  3. En la barra de navegación superior, seleccione una región.

  4. En la página Queues, busque la cola de destino y, en la columna Action, seleccione More > Send and receive messages.

  5. En la página Send and receive messages, en la sección Receive messages, haga clic en Receive message.

    La lista de mensajes de la cola se muestra en la sección Receive messages.

  6. En la lista de mensajes, busque el mensaje de destino y luego haga clic en Details en la columna Actions para ver su contenido en el cuadro de diálogo Message details.