Todos os produtos
Search
Central de documentação

Function Compute:Gatilhos do OSS

Última atualização: Jun 29, 2026

Ao integrar o OSS ao Function Compute, use eventos do OSS para acionar funções que executam processamento personalizado de dados. Este tópico descreve as limitações, os tipos de evento e as regras de acionamento dos gatilhos do OSS no Function Compute.

Informações básicas

O OSS e o Function Compute se integram perfeitamente por meio de um gatilho do OSS. Escreva funções para lidar com eventos do OSS. Quando um evento do tipo especificado ocorre no OSS, a função correspondente é acionada automaticamente. Por exemplo, configure uma função para processar eventos PutObject. Ao chamar a operação da API PutObject do OSS para carregar uma imagem em um bucket do OSS, a função é acionada automaticamente para processar essa imagem.

Após integrar o OSS ao Function Compute, invoque diversas funções para processar dados de imagem ou áudio e grave os resultados de volta em vários serviços de armazenamento. Essa arquitetura permite focar na lógica da função, enquanto o sistema gerencia grandes volumes de dados em tempo real, com alta confiabilidade e paralelismo em larga escala.

Limitações

Definições de eventos

Quando o OSS captura um evento relevante, ele codifica as informações do evento em uma string JSON e as transmite à função manipuladora de eventos. Para obter mais detalhes sobre o formato da notificação de evento do OSS, consulte a documentação vinculada.

A tabela a seguir lista as definições de eventos do OSS suportadas. Cada tipo de evento corresponde a uma operação da API ObjectCreated, ObjectRemoved ou ObjectModified. Uma chamada bem-sucedida a qualquer uma dessas operações da API aciona a função uma vez.

Tipo de evento

Nome do evento

Descrição

ObjectCreated

oss:ObjectCreated:PutObject

Acionado pela chamada à API PutObject para carregar um objeto. Para mais informações, consulte PutObject.

oss:ObjectCreated:PutSymlink

Acionado pela chamada à API PutSymlink para criar um link simbólico para um objeto de destino no OSS. Use este link simbólico para acessar o objeto de destino. Para mais informações, consulte PutSymlink.

oss:ObjectCreated:PostObject

Acionado pela chamada à API PostObject para carregar um objeto em um bucket usando um formulário HTML. Para mais informações, consulte PostObject.

oss:ObjectCreated:CopyObject

Acionado pela chamada à API CopyObject para copiar um objeto no OSS. Para mais informações, consulte CopyObject.

oss:ObjectCreated:InitiateMultipartUpload

Para transferir dados usando o recurso MultipartUpload, chame primeiro a API InitiateMultipartUpload para inicializar um upload multipart. Para mais informações, consulte InitiateMultipartUpload.

oss:ObjectCreated:UploadPart

Após iniciar um evento de upload multipart, carregue os dados em partes com base no nome do objeto e no ID de upload especificados. Para mais informações, consulte UploadPart.

oss:ObjectCreated:UploadPartCopy

A operação da API UploadPartCopy carrega uma parte copiando dados de um objeto existente. Para mais informações, consulte UploadPartCopy.

oss:ObjectCreated:CompleteMultipartUpload

Depois que todas as partes dos dados forem carregadas, chame a API CompleteMultipartUpload para concluir o upload multipart. Para mais informações, consulte CompleteMultipartUpload.

oss:ObjectCreated:AppendObject

A operação da API AppendObject é chamada para carregar um objeto anexando dados. Para mais informações, consulte AppendObject.

oss:ObjectCreated:*

Acionado por uma chamada bem-sucedida a qualquer uma das operações da API ObjectCreated anteriores.

ObjectRemoved

oss:ObjectRemoved:DeleteObject

Acionado pela chamada à API DeleteObject para excluir um objeto. Para mais informações, consulte DeleteObject.

oss:ObjectRemoved:DeleteObjects

Acionado pela chamada à API DeleteMultipleObjects para excluir vários objetos em uma única solicitação. Para mais informações, consulte DeleteMultipleObjects.

oss:ObjectRemoved:AbortMultipartUpload

Acionado pela chamada à API AbortMultipartUpload para cancelar um upload multipart. Para mais informações, consulte AbortMultipartUpload.

ObjectModified

oss:ObjectModified:UpdateObjectMeta

Acionado pela chamada à API UpdateObjectMeta para modificar os metadados de um objeto.

Nota

Atualmente, este evento é suportado nas seguintes regiões: China (Hangzhou), China (Shanghai), China (Qingdao), China (Beijing), China (Zhangjiakou), China (Hohhot), China (Shenzhen) e China (Chengdu).

ObjectReplication

oss:ObjectReplication:ObjectCreated

Uma operação de escrita que ocorre durante a replicação de dados.

oss:ObjectReplication:ObjectModified

Uma operação de sobrescrita que ocorre durante a replicação de dados.

oss:ObjectReplication:ObjectRemoved

Uma operação de exclusão que ocorre durante a replicação de dados.

Regras de acionamento

Evite loops de gatilho

Aviso

Ao usar um gatilho do OSS, tome cuidado para evitar loops de gatilho. Um cenário comum ocorre quando o upload de um objeto em um bucket do OSS aciona uma função. A função processa o objeto e grava um ou mais novos objetos de volta no mesmo bucket, o que aciona a função novamente, criando um loop de execução.

Para evitar custos desnecessários decorrentes de loops de gatilho, recomendamos configurar um prefixo ou sufixo de objeto. Por exemplo, defina o prefixo do objeto para objetos de origem como src e o prefixo do objeto para objetos processados como dst. Isso garante que os objetos processados não acionem a função novamente. Se você não definir um prefixo ou sufixo de objeto, o gatilho corresponderá a objetos com qualquer prefixo ou sufixo. Para mais informações, consulte Etapa 1: Criar um gatilho do OSS.

Regras do gatilho nativo do OSS

Para impedir que um único evento dispare múltiplos gatilhos no mesmo bucket, o Function Compute aplica as seguintes regras de configuração para um bucket:

  • A combinação do evento de gatilho, prefixo do objeto e sufixo do objeto deve ser única.

  • Crie um novo gatilho somente se a combinação de trigger event + object prefix + object suffix não entrar em conflito com nenhum gatilho existente.

Os exemplos a seguir descrevem as regras de configuração para um gatilho nativo do OSS.

Gatilho existente

Novo gatilho

Status de criação

Descrição

Trigger Event

Object Prefix

Object Suffix

Trigger Event

Object Prefix

Object Suffix

oss:ObjectCreated:PutObject

source

zip

oss:ObjectCreated:*

source

zip

Falha

Falha. O evento curinga do novo gatilho (oss:ObjectCreated:*) inclui o evento existente (oss:ObjectCreated:PutObject) e ambos compartilham o mesmo filtro de caminho.

source1

zip1

Sucesso

O novo gatilho e o gatilho existente possuem tipos de evento conflitantes, mas seus valores de Object Prefix e Object Suffix não coincidem.

oss:ObjectCreated:PutObject

source

zip

Falha

O novo gatilho e um gatilho existente possuem o mesmo tipo de evento, Object Prefix e Object Suffix.

source

1zip

Falha

source1

zip

Falha

source

None

Falha

Se o tipo de evento e o Object Prefix de um novo gatilho coincidirem com os de um gatilho existente e você não especificar um Object Suffix, o novo gatilho corresponderá a objetos com qualquer sufixo, como objetos .zip. Nesse caso, o Object Suffix também é considerado uma correspondência.

None

zip

Falha

O tipo de evento e o Object Suffix do novo gatilho coincidem com os de um gatilho existente. Se o Object Prefix não estiver definido, o gatilho incluirá objetos com o prefixo 'source', o que significa que o Object Prefix também corresponde.

source1

zip1

Sucesso

O tipo de evento e o Object Prefix do novo gatilho coincidem com os de um gatilho existente, mas o Object Suffix não coincide.

1source

1zip

Sucesso

O tipo de evento e o Object Suffix do novo gatilho coincidem com os de um gatilho existente, mas o Object Prefix não coincide.

oss:ObjectCreated:PostObject

source

zip

Sucesso

Sucesso. Os tipos de evento não entram em conflito, portanto o gatilho pode ser criado independentemente do filtro de caminho.

Nota

O prefixo do objeto é correspondido a partir do início do nome do objeto, e o sufixo do objeto é correspondido a partir do final do nome do objeto.

Não é possível criar um novo gatilho se suas configurações entrarem em conflito com um gatilho existente. Um conflito ocorre apenas se o tipo de evento do novo gatilho e seu filtro de caminho (prefixo e sufixo) se sobrepuserem às configurações de um gatilho existente.

Conflitos de tipo de evento

Tipo de evento existente

Novo tipo de evento

Descrição do conflito

oss:ObjectCreated:PutObject

oss:ObjectCreated:*

oss:ObjectCreated:* inclui oss:ObjectCreated:PutObject, portanto os eventos entram em conflito.

oss:ObjectCreated:*

oss:ObjectCreated:PostObject

Conflitos de correspondência de caminho

Caminho existente

Novo caminho

Descrição do conflito

source/.zip

1source/.zip

O prefixo não corresponde, mas o sufixo corresponde. Os caminhos não entram em conflito.

source/.zip

source/.zip1

O prefixo corresponde, mas o sufixo não corresponde. Os caminhos não entram em conflito.

source/.zip

source/.zip

O prefixo corresponde e o sufixo corresponde. Os caminhos entram em conflito.

Importante

Se desejar que um único tipo de evento do OSS acione funções diferentes para tarefas de processamento distintas, crie um gatilho do OSS baseado no EventBridge.

Perguntas frequentes

Documentos relacionados