Skip to main content

函数命名规范

Remotion Lambda 函数遵循以下命名规范:

remotion-render-4-0-140-mem2048mb-disk2048mb-240sec
^^^^^^^ ^^^^ ^^^^ ^^^
| | | |-- Timeout in seconds
| | |--------- Disk size in MB
| |------------------- Memory size in MB
|----------------------------- Remotion version with dots replaced by dashes
remotion-render-4-0-140-mem2048mb-disk2048mb-240sec
^^^^^^^ ^^^^ ^^^^ ^^^
| | | |-- Timeout in seconds
| | |--------- Disk size in MB
| |------------------- Memory size in MB
|----------------------------- Remotion version with dots replaced by dashes

当您部署一个函数时,名称是固定的。这有两个作用:

避免不必要地拥有多个具有相同配置的函数。
2
能够使用 speculateFunctionName() 猜测函数名称,这样您就不必在 AWS 账户中获取函数列表。

为什么我不能重命名函数?

  • npx remotion lambda render 命令会查找符合此约定的函数。
  • 使用默认用户策略,Remotion Lambda 限制自身无法访问不符合此约定的函数。
  • 您可以使用 speculateFunctionName() 函数来节省一个 API 调用。
  • 如果只有 1 个具有相同配置的函数,那么该函数更有可能在之前的调用中已经被激活。
  • 重命名函数没有任何好处。

如果我想为两个不同项目创建两个函数怎么办?

一个函数不与一个项目绑定。

每个函数都是包含相同代码的二进制文件。
每个 Remotion Lambda 用户在其函数中运行完全相同的代码。

您编写的 React 代码不包含在函数中,而是托管在 Serve URL 上。

每个函数调用都是隔离的,它们之间不会发生冲突。有一个并发限制,但是它是按区域而不是按函数计算的。

我需要区分生产、预发布和开发环境

函数调用之间不会发生冲突。
函数也不包含您编写的任何代码,它们是二进制文件,每个 Remotion Lambda 用户都运行完全相同的代码。

一个糟糕的预发布部署不会影响生产函数。
因此,我们建议在所有环境中使用相同的函数。

我想为不同的函数设置不同的配置

这是支持的!您可以为不同的函数设置不同的配置。
唯一不可能的是为共享完全相同配置的多个函数:

  • 超时
  • RAM
  • 区域
  • 磁盘大小
  • Remotion 版本

要区分应该使用哪个函数,请明确将函数名称传递给 renderMediaOnLambda()
您可以将 --function-name 传递给 npx remotion lambda render

我想部署多个项目

可以在不同的 Serve URLs 下部署多个站点。
此约定仅适用于渲染函数。

另请参阅