函数计算中,函数计算设置了oss触发器,文件上传到OSS触发函数执行多次,这种有什么办法可以等文件上传完再一次性执行的?配置触发器的时候可以选择支持哪些操作的。
在函数计算中,您可以创建并配置原生OSS触发器,当在OSS上发生特定事件时会自动触发函数执行。这可以让您轻松响应如文件上传等事件,无需在代码中增加监听事件逻辑即可快速实现完整的流程。然而,要注意使用OSS触发器可能会引发循环触发的情况。例如,当您在OSS的某个Bucket上传文件触发函数执行后,如果这个函数又生成了一个或多个文件,并写回到OSS的Bucket里,这个写入动作又会再次触发函数执行,形成了链状循环。
为解决这个问题,您可以设定一个标志变量来检查文件是否已经全部上传完毕。只有当所有的文件都上传完毕后,该变量的值才会被设置为真,从而触发函数执行。这样就能保证函数只在所有文件都上传完毕后才执行一次。
oss:ObjectCreated:* 这个和配置触发器没什么关系,而是文件上传不是同一个时间点传完的,所以会导致一个文件就触发一次 https://help.aliyun.com/zh/fc/support/a-large-number-of-events-are-triggered-at-the-same-time-how-to-ensure-that-the-function-can-respond-normally?spm=a2c4g.11186623.0.0.66bd4a3dSQFU1k
一次性上传多个文件,每个文件都会触发一次。此回答来自钉群阿里函数计算官网客户。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。