Configuração da notificação de evento para um bucket
Funções
Essa operação notifica os usuários sobre suas operações em buckets, permitindo que os usuários saibam que os eventos ocorreram em buckets em tempo hábil.
Por padrão, a função de notificação de um bucket não está ativada e o elemento NotificationConfiguration é null. Se você quiser desativar a função, defina o elemento NotificationConfiguration como null.
1 2 |
<NotificationConfiguration> </NotificationConfiguration> |
Depois de receber uma solicitação para configurar a notificação de eventos, o OBS verifica se o Tópico SMN especificado existe e se o tópico está autorizado para o OBS. Se o tópico existir e for autorizado pelo OBS, o OBS enviará uma notificação de teste para o assinante do tópico.
Para executar essa operação, você deve ter a permissão PutBucketNotification. Por padrão, a permissão é concedida somente ao proprietário do bucket. No entanto, ele pode ser concedido a outros usuários configurando a política de bucket.
1. Para obter detalhes sobre como conceder tópicos ao OBS, consulte Configuração de políticas de tópico.
2. Um corpo de solicitação SMN não pode exceder 100 KB de tamanho.
3. Um corpo de solicitação pode conter no máximo 100 elementos de TopicConfig.
Sintaxe da solicitação
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 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 solicitação
Esta solicitação não contém nenhum parâmetro.
Cabeçalhos de solicitação
Essa solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 3.
Elementos de solicitação
Essa solicitação contém elementos para especificar a configuração de notificação para o bucket no formato XML. Para obter detalhes sobre os elementos de configuração, consulte Tabela 1.
Elemento |
Descrição |
Obrigatório |
||||
---|---|---|---|---|---|---|
NotificationConfiguration |
Elemento raiz para configurar a função de notificação de eventos de um bucket. Se o subelemento for null, a função é desativada. Tipo: elemento Antepassado: nenhum Crianças: sem ou múltiplas TopicConfigurations |
Sim |
||||
TopicConfiguration |
Elemento para configurar o tópico de notificação de evento. Tipo: elemento Antepassado: NotificationConfiguration Crianças: Id, Filtro, Tópico, Evento ou Eventos |
Não |
||||
Topic |
URN do tópico de notificação de evento. Quando o OBS detecta um evento específico no bucket, ele publica uma mensagem de notificação para o tópico. O valor do tópico pode ser encontrado em Tópico SMN. Tipo: string Antepassado: TopicConfiguration Modelo:
Exemplo:
|
Necessário se TopicConfiguration for adicionado |
||||
Id |
ID exclusivo de cada notificação de evento. Se o usuário não especificar uma ID, o sistema atribuirá uma ID automaticamente. Tipo: string Antepassado: TopicConfiguration |
Não |
||||
Filter |
Elemento usado para armazenar regras de filtragem de nomes de objetos. Tipo: elemento Antepassado: TopicConfiguration Crianças: Objeto |
Não |
||||
Object |
Elemento que define a regra de filtragem. A regra filtra objetos com base nos prefixos e sufixos de nomes de objetos. Tipo: elemento Antepassado: Filtro Filhos: um ou mais FilterRules |
Não |
||||
FilterRule |
Elemento que define pares chave-valor da regra de filtragem Tipo: elemento Antepassado: Objeto Crianças: Nome, Valor |
Não |
||||
Name |
Prefixo ou sufixo de nomes de objetos para filtragem Tipo: string Antepassado: FilterRule Opções de valor: prefixo, sufixo |
Não |
||||
Value |
Palavra-chave de nomes de objetos. Com base no prefixo ou sufixo definido por Name, insira a palavra-chave para filtrar objetos. Uma seqüência mais longa de caracteres proporciona um resultado de filtragem mais preciso. Um máximo de 1024 caracteres são suportados. Tipo: string Antepassado: FilterRule |
Não |
||||
Event |
Tipo de eventos que precisam ser notificados
NOTA:
Vários tipos de evento podem ser adicionados em um item . Tipo: string Opções de valor: Os seguintes valores podem ser usados para carregar um objeto:
Ou use caracteres curinga para suportar todas as operações de upload:
Os seguintes valores podem ser usados para excluir um objeto:
Ou use caracteres curinga para suportar todas as operações de exclusão:
Antepassado: TopicConfiguration |
Necessário se TopicConfiguration for adicionado |
Sintaxe da resposta
1 2 3 4 |
HTTP/1.1 status_code Date: date Content-Length: length Content-Type: type |
Cabeçalhos de resposta
A resposta à solicitação usa cabeçalhos comuns. Para mais detalhes, consulte Tabela 1.
Elementos de resposta
Esta resposta não envolve elementos.
Respostas de erro
Quando esta operação está sendo chamada, o sistema verifica se o elemento NotificationConfiguration é válido e se a configuração é válida. A tabela a seguir lista os erros comuns e as possíveis causas dessa operação.
Código de erro |
Descrição |
Código de status HTTP |
---|---|---|
InvalidArgument |
As possíveis causas deste erro são:
|
400 Solicitação inválida |
AccessDenied |
O operador não é o proprietário do bucket e não tem a permissão PutBucketNotification. |
403 Proibido |
Solicitação de exemplo
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> |
Resposta de exemplo
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 |