一个典型的循环触发场景是OSS的某个Bucket上传文件触发了一个函数,这个函数处理事件,又生成了一个或多个文件,写回到OSS的Bucket里,这个写入动作又触发了函数执行,形成了链状循环。
上述过程类似于一个无限递归,为了避免这种循环触发函数,需要设定一个递归终止条件,例如将触发函数的Bucket目录前缀设置成src/
,生成的文件写入的目录前缀设置为dst/
,这样生成的文件就不会再次触发函数,一定要避免循环执行带来的不必要费用。
一个典型的循环触发场景是OSS的某个Bucket上传文件触发了一个函数,这个函数处理事件,又生成了一个或多个文件,写回到OSS的Bucket里,这个写入动作又触发了函数执行,形成了链状循环。
上述过程类似于一个无限递归,为了避免这种循环触发函数,需要设定一个递归终止条件,例如将触发函数的Bucket目录前缀设置成src/
,生成的文件写入的目录前缀设置为dst/
,这样生成的文件就不会再次触发函数,一定要避免循环执行带来的不必要费用。
函数计算每次执行都会生成执行计量数据,并将其输出,详情请参见云监控。 您可以在云监控控制台中查看函数运行情况,使用云监控来监控函数计算运行情况,详情请参见监控数据。您也可以为服务执行设置日志服务保存您的执行过程和结果,为函数计算配置日
问题现象 当我在本地使用Windows操作系统或是macOS操作系统开发函数时,可执行文件在本地测试正常,但当我将函数部署到函数计算运行时,出现
如果需要在磁盘中存储较大文件,例如,超过500 MB的文件,您可以按照以下方式处理: 使用性能实例,当前性能实例磁盘空间为10 GB。更多信息,请参见实例类型及使用模式。
函数调用的返回信息中包含最大内存消耗等信息。您也可以从性能监控指标中查看连续一段时间的函数运行资源消耗情况。
函数可以相互调用。在函数中调用其他函数与您在本地调用其他函数相同,需要使用InvokeFunction API调用指定函数。您可以参考各个不同语言的SDK,更多信息,请参见:
死循环可以分为两种情况: 单个函数运行逻辑出现死循环。 多个函数调用出现无限递归,无法中止的情况。例如函数A调用B,B又调用A。 <