Configuración de notificación de evento para un bucket
Funciones
Esta operación notifica a los usuarios de sus operaciones en los bucket, lo que permite a los usuarios saber los eventos ocurridos en los bucket de manera oportuna.
De forma predeterminada, la función de notificación de un bucket no está habilitada y el elemento NotificationConfiguration es null. Si desea deshabilitar la función, establezca el elemento NotificationConfiguration en null.
1 2 |
<NotificationConfiguration> </NotificationConfiguration> |
Después de recibir una solicitud para configurar la notificación de evento, OBS verifica si existe el tema SMN especificado y si el tema está autorizado a OBS. Si el tema existe y está autorizado a OBS, OBS envía una notificación de prueba al suscriptor del tema.
Para realizar esta operación, debe tener el permiso PutBucketNotification. De forma predeterminada, el permiso se concede únicamente al propietario del bucket. Sin embargo, se puede conceder a otros usuarios configurando la política de bucket.
![](https://support.huaweicloud.com/intl/es-us/api-obs/public_sys-resources/note_3.0-es-us.png)
1. Para obtener más información acerca de cómo otorgar temas a OBS, consulte Configuración de políticas de temas.
2. El cuerpo de una solicitud de SMN no puede superar los 100 KB de tamaño.
3. Un cuerpo de solicitud puede contener un máximo de 100 elementos de TopicConfig.
Sintaxis de solicitud
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
PUT /?notification HTTP/1.1 Host: bucketname.obs.region.myhuaweicloud.com Date: date Authorization: authorization string <NotificationConfiguration> <TopicConfiguration> <Id>ConfigurationId</Id> <Filter> <Object> <FilterRule> <Name>prefix</Name> <Value>prefix-value</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>suffix-value</Value> </FilterRule> </Object> </Filter> <Topic>TopicARN</Topic> <Event>event-type</Event> <Event>event-type</Event> ... </TopicConfiguration> ... </NotificationConfiguration> |
Parámetros de solicitud
Esta solicitud no contiene ningún parámetro.
Encabezados de solicitud
Esta solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 3.
Elementos de solicitud
Esta solicitud contiene elementos para especificar la configuración de notificación para el bucket en formato XML. Para obtener más información sobre los elementos de configuración, consulte Tabla 1.
Elemento |
Descripción |
Obligatorio |
||||
---|---|---|---|---|---|---|
NotificationConfiguration |
Elemento raíz para configurar la función de notificación de eventos de un bucket. Si el subelemento es null, la función está deshabilitada. Tipo: element Antepasado: ninguno Hijos: no o múltiples TopicConfigurations |
Sí |
||||
TopicConfiguration |
Elemento para configurar el tema de notificación de evento. Tipo: element Antepasado: NotificationConfiguration Hijos: Id, Filter, Topic, Event, or Events |
No |
||||
Topic |
URN del tema de notificación de evento. Cuando OBS detecta un evento específico en el bucket, publica un mensaje de notificación para el tema. El valor del tema se puede encontrar en el tema de SMN. Tipo: string Antepasado: TopicConfiguration Plantilla:
Ejemplo:
|
Requerido si se agrega TopicConfiguration |
||||
Id |
ID único de cada notificación de evento. Si el usuario no especifica un ID, el sistema asigna un ID automáticamente. Tipo: string Antepasado: TopicConfiguration |
No |
||||
Filter |
Elemento utilizado para almacenar reglas de filtrado de nombres de objeto. Tipo: element Antepasado: TopicConfiguration Hijos: Object |
No |
||||
Object |
Elemento que define la regla de filtrado. La regla filtra los objetos basándose en los prefijos y sufijos de los nombres de objeto. Tipo: element Antepasado: Filter Hijos: uno o más FilterRules |
No |
||||
FilterRule |
Elemento que define los pares clave-valor de la regla de filtrado Tipo: element Antepasado: Object Hijos: Name, Value |
No |
||||
Name |
Prefijo o sufijo de nombres de objeto para filtrar Tipo: string Antepasado: FilterRule Opciones de valor: prefix, suffix |
No |
||||
Value |
Palabra clave de los nombres de objetos. En función del prefijo o sufijo definido por Name, introduzca la palabra clave para filtrar objetos. Una string más larga de caracteres proporciona un resultado de filtrado más preciso. Se admite un máximo de 1024 caracteres. Tipo: string Antepasado: FilterRule |
No |
||||
Event |
Tipo de eventos que deben ser notificados
NOTA:
Se pueden agregar varios tipos de eventos en un elemento TopicConfiguration. Tipo: string Opciones de valor: Se pueden utilizar los siguientes valores para cargar un objeto:
O utilice caracteres comodín para admitir todas las operaciones de carga:
Se pueden utilizar los siguientes valores para eliminar un objeto:
O utilice caracteres comodín para admitir todas las operaciones de eliminación:
Antepasado: TopicConfiguration |
Requerido si se agrega TopicConfiguration |
Sintaxis de respuesta
1 2 3 4 |
HTTP/1.1 status_code Date: date Content-Length: length Content-Type: type |
Encabezados de respuesta
La respuesta a la solicitud utiliza encabezados comunes. Para más detalles, consulte Tabla 1.
Elementos de respuesta
Esta respuesta no implica elementos.
Respuestas de error
Cuando se llama a esta operación, el sistema comprueba si el elemento NotificationConfiguration es válido y si la configuración es válida. En la siguiente tabla se enumeran los errores comunes y las posibles causas de esta operación.
Código de error |
Descripción |
Código de estado de HTTP |
---|---|---|
InvalidArgument |
Las posibles causas de este error son:
|
400 Bad Request (400: Solicitud errónea) |
AccessDenied |
El operador no es el propietario del bucket y no se le ha concedido el permiso PutBucketNotification. |
403 Forbidden (403: Prohibido) |
Modelo de solicitud
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
PUT /?notification HTTP/1.1 User-Agent: curl/7.29.0 Host: examplebucket.obs.region.myhuaweicloud.com Accept: */* Date: WED, 01 Jul 2015 03:15:45 GMT Authorization: OBS H4IPJX0TQTHTHEBQQCEC:uRTt8YTkAqJCUfWfYkveEcIGAC0= Content-Length: 538 <NotificationConfiguration> <TopicConfiguration> <Id>ConfigurationId</Id> <Filter> <Object> <FilterRule> <Name>prefix</Name> <Value>object</Value> </FilterRule> <FilterRule> <Name>suffix</Name> <Value>txt</Value> </FilterRule> </Object> </Filter> <Topic>urn:smn:region:4b29a3cb5bd64581bda5714566814bb7:tet555</Topic> <Event>ObjectCreated:Put</Event> </TopicConfiguration> </NotificationConfiguration> |
Modelo de respuesta
1 2 3 4 5 6 |
HTTP/1.1 200 OK Server: OBS x-obs-request-id: 9046000001643C8E80C19FAC4D8068E3 x-obs-id-2: 32AAAQAAEAABSAAkgAIAABAAAQAAEAABCTFAxJPTib3GkcQ7nVVs4C8Z6NNcfVDu Date: WED, 01 Jul 2015 03:15:46 GMT Content-Length: 0 |