Todos los productos
Search
Centro de documentos

Object Storage Service:Uso de notificaciones de eventos para procesar cambios de objetos en tiempo real

Última actualización: Sep 02, 2026

Configure reglas de notificación de eventos de OSS para procesar, sincronizar, monitorear, activar flujos de trabajo empresariales o registrar cambios en los objetos en tiempo real. Especifique qué objetos monitorear y dirija las notificaciones a un endpoint HTTP o a una cola de SMQ.

Requisitos previos

Debe haber activado Simple Message Queue (SMQ). Active SMQ en la página del producto SMQ.

Notas de uso

  • Cuando una operación de OSS activa una regla de notificación de eventos, OSS llama a SMQ para enviar una notificación. Esta llamada puede fallar. Compruebe el encabezado de respuesta x-oss-event-status codificado en Base64 para verificar la entrega. Un valor decodificado de {"Result": "Ok"} indica que la entrega fue exitosa.

  • Las notificaciones de eventos generan cargos de SMQ. Facturación.

  • Las notificaciones de eventos están disponibles en regiones específicas.

  • Configure hasta 10 reglas de notificación de eventos por región. Para aumentar este límite, póngase en contacto con el soporte técnico.

  • Los objetos TS y M3U8 generados a partir de transmisiones de Real-Time Messaging Protocol (RTMP) no activan reglas de notificación de eventos. Operaciones relacionadas con LiveChannel.

Funcionamiento

Cuando una operación en su bucket activa una regla de notificación de eventos, SMQ envía una notificación al endpoint HTTP o a la cola especificada.

image

Tipos de eventos

Grupo

Tipo

Descripción

ObjectCreated (Creación de 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 vínculo 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 (Descarga de objeto)

ObjectDownloaded:GetObject

Se descarga un objeto.

ObjectModified (Modificación de objeto)

ObjectModified:UpdateObjectMeta

Los metadatos del objeto se modifican mediante UpdateObjectMeta.

ObjectModified:ChangeStorageClass

Una regla de ciclo de vida cambia la clase de almacenamiento de un objeto.

ObjectModified:*

Cualquier evento con el prefijo ObjectModified:.

Nota

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

ObjectRemoved (Eliminación de 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 (Replicación de objeto)

ObjectReplication:ObjectCreated

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

ObjectReplication:ObjectRemoved

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

ObjectReplication:ObjectModified

Se produce 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 (Restauración de objeto)

ObjectRestore:FinishRestore

Se restaura un objeto desde el almacenamiento de archivo. Solo aplica a objetos Cold Archive y Deep Cold Archive.

Mensaje de notificación

Cada notificación de evento contiene una carga útil JSON codificada en Base64 con la siguiente estructura:

{
    "events": [
      {
        "eventName": "",  // The event notification type.
        "eventSource": "", // The source of the event notification. This value is fixed as "acs:oss".
        "eventTime": "", // The time when the event occurred, in ISO 8601 format.
        "eventVersion": "", // The version of the event notification. The current version is "1.0".
        "oss": {
            "bucket": {
                "arn": "", // The Alibaba Cloud Resource Name (ARN) of the bucket, in the format of "acs:oss:region:uid:bucketname".
                "name": "", // The name of the destination bucket.
                "ownerIdentity": "" // The owner of the bucket.
            }, 
            "object": {
                "deltaSize": "", // The change in the object size. For example, when a new object is created, this value is the object size. When an object is overwritten, this value is the difference in size between the new object and the old object, which can be negative.
                "eTag": "", // The ETag of the object.
                "key": "", // The object key.
                "position": "", // The starting position for an append operation. This parameter applies only to the ObjectCreated:AppendObject event. The first AppendObject request for an object starts at byte 0.
                "readFrom": "", // The starting position for a read operation. This parameter applies only to the ObjectDownloaded:GetObject event. For a non-range request, this value is 0. For a range request, this value is the starting byte of the request.
                "readTo": "", // The ending position for a read operation. This parameter applies only to the ObjectDownloaded:GetObject event. For a non-range request, this value is the object size. For a range request, this value is the ending byte of the range request plus 1.
                "size": "" // The size of the object.
                }, 
        "ossSchemaVersion": "", // The version of this schema. The current version is "1.0".
        "ruleId": "GetObject", // The ID of the matching event notification rule.
        "region": "", // The bucket's region.
        "requestParameters": {
            "sourceIPAddress": "" // The source IP address of the request.
            }, 
        "responseElements": {
            "requestId": "" // The request ID.
            }, 
        "userIdentity": {
            "principalId": "" // The UID of the user who made the request.
            }, 
        "xVars": {  // Custom parameters in the OSS upload callback feature.
            "x:callback-var1":"value1",
            "x:callback-var2":"value2"
            }
        }        
     }
  ]
}

Ejemplo de mensaje de notificación:

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

Procedimiento

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

  2. En el panel de navegación izquierdo, haga clic en Buckets. En la página que aparece, haga clic en el nombre del bucket de destino.

  3. En el panel de navegación izquierdo, seleccione Data Processing > Event Notification.

  4. En la página Event Notification, haga clic en Create Rule.

  5. En el panel Create Rule, configure los siguientes parámetros:

    Parámetro

    Descripción

    Rule Name

    Especifique un nombre para la regla de notificación de eventos.

    El nombre debe ser único por región y cuenta. Debe comenzar con una letra, puede contener letras mayúsculas, minúsculas, dígitos y guiones (-), y tener una longitud máxima de 85 caracteres.

    Event Type

    Seleccione uno o más tipos de eventos. Por ejemplo, seleccione CopyObject para recibir notificaciones cuando se crea o sobrescribe un objeto mediante una operación de copia.

    Una sola regla puede incluir varios tipos de eventos. Al configurar varias reglas, tenga en cuenta lo siguiente:

    • Las reglas que coinciden con los mismos objetos no pueden compartir tipos de eventos. Por ejemplo, si la Regla A usa CopyObject para el prefijo images, la Regla B para el mismo prefijo images no puede incluir CopyObject.

    • Las reglas que coinciden con objetos diferentes pueden compartir tipos de eventos. Por ejemplo, la Regla A usa PutObject para el prefijo images y el sufijo .png, mientras que la Regla B usa PutObject o DeleteObject para el prefijo log y el sufijo .jpg.

    Importante

    En un bucket con control de versiones habilitado, los eventos DeleteObject o DeleteObjects no se activan si omite el ID de versión, ya que la operación añade un marcador de eliminación en lugar de eliminar permanentemente el objeto. La versión actual pasa a ser una versión anterior y se añade un marcador de eliminación.

    Tipos de eventos.

    Object Matching

    Especifique los objetos de destino para la notificación de eventos.

    • Coincidencia de objetos por Full Name

      • Para coincidir con un objeto llamado exampleobject.txt en el directorio raíz del bucket, introduzca exampleobject.txt.

      • Para coincidir con un objeto llamado myphoto.jpg en el directorio destdir del bucket, introduzca destdir/myphoto.jpg.

    • Coincidencia de objetos por Prefix/Suffix

      • Para coincidir con todos los objetos del bucket, deje vacíos tanto Prefix como Suffix.

      • Para coincidir con todos los objetos en el directorio examplefolder, establezca Prefix en examplefolder/ y deje Suffix vacío.

      • Para coincidir con todos los objetos con la extensión .jpg en el bucket, deje Prefix vacío y establezca Suffix en .jpg.

      • Para coincidir con todos los objetos con la extensión .mp3 en el directorio examplefolder, establezca Prefix en examplefolder/ y Suffix en .mp3.

    Haga clic en Add Condition para crear hasta cinco reglas de coincidencia de objetos.

    Subscription Endpoint

    Especifique el endpoint que recibe los eventos. Los tipos de suscripción compatibles incluyen HTTP y Queue.

    La consola de OSS no permite crear una suscripción entre cuentas directamente. Para crear una suscripción entre cuentas, complete los siguientes dos pasos:

    1. Al crear la regla de notificación de eventos en la consola de OSS, seleccione One-to-Many Subscription, borre el contenido de la suscripción y luego envíe la regla. La regla de notificación de eventos quedará suscrita a un tema de SMQ.

    2. Haga clic en View Subscription Details de la regla de notificación de eventos para ir a la consola de SMQ. Bajo el mismo tema en la consola de SMQ, cree una suscripción, seleccione Cross-Account Subscription y luego introduzca el ARN de la cola y el ARN del rol.

  6. Haga clic en OK.

    La regla de notificación de eventos entra en vigor en aproximadamente 10 minutos.

Preguntas frecuentes

¿Por qué no se activa una notificación de evento al eliminar un objeto?

Referencias