Skip to main content

deployService()

EXPERIMENTAL

Cloud Run 处于 Alpha 阶段,这意味着 API 可能会在任何版本中更改,文档尚未完成。请查看 更改日志 以了解最新的重大更改。

在您的 GCP 项目中创建一个能够在云中渲染视频的 GCP Cloud Run 服务。

如果在指定区域中已经存在具有相同 Remotion 版本、内存限制、CPU 限制和超时的服务,则将返回该服务,而不会创建新服务。这意味着此服务可以被视为幂等。

示例​

ts
import { deployService } from "@remotion/cloudrun";
 
const { shortName } = await deployService({
memoryLimit: "2Gi",
cpuLimit: "2.0",
timeoutSeconds: 500,
projectID: "my-remotion-project",
region: "us-east1",
});
console.log(shortName);
ts
import { deployService } from "@remotion/cloudrun";
 
const { shortName } = await deployService({
memoryLimit: "2Gi",
cpuLimit: "2.0",
timeoutSeconds: 500,
projectID: "my-remotion-project",
region: "us-east1",
});
console.log(shortName);

参数​

一个具有以下属性的对象:

memoryLimit​

Cloud Run 服务可以消耗的 RAM 上限。默认情况下,我们建议使用 2GiB 的值。您可以根据视频的内存消耗情况增加或减少该值。允许的最小数字为 512MiB,允许的最大数字为 32GiB。由于 Remotion Cloud Run 的成本与 RAM 的数量成正比,我们建议尽可能将此数量保持较低。随着内存限制的提高,必须遵守相应的 最小 CPU 限制。

cpuLimit​

Cloud Run 服务用于处理请求的 CPU 核心数上限。默认值为 1。随着 CPU 限制的提高,必须遵守相应的 最小内存限制。

minInstances​

无论请求如何,要保持可用的服务实例的最小数量。默认值为 0。一些用户可能希望增加最小实例数,以便更快地启动渲染,尽管这只会减少同时渲染直到达到该最小限制的冷启动时间。在此处阅读有关最小实例限制的更多信息

warning

任何正在运行的实例,即使它们没有执行渲染,也将在 GCP 中产生费用。默认最小实例数为零,这意味着当没有请求发送到您的服务时,您不会被收费。

maxInstances​

GCP 可以响应传入请求创建的服务实例的最大数量。默认值为 100。在此处阅读有关最大实例限制的更多信息

timeoutSeconds​

Cloud Run 服务在被终止之前可以运行的时间。必须低于 3600 秒。

projectID​

已为 Remotion Cloud Run 配置的 GCP 项目的 项目 ID。

region​

您希望部署 Cloud Run 服务的 GCP 区域。

performImageVersionValidation​

默认为 true。这将验证公共 Artifact Registry 中是否存在与您尝试部署的 Remotion 版本匹配的映像。可以设置为 false 以节省时间。

返回值​

一个具有以下值的对象:

  • fullName(字符串):刚刚创建的服务的全名,格式为 projects/{projectId}/locations/{region}/services/{serviceName}。
  • shortName(字符串):刚刚创建的服务的名称,如在控制台中显示的那样。
  • uri(字符串):刚刚创建的服务的端点。
  • alreadyExists:(布尔值):是否因为服务已经存在而跳过了创建。

另请参阅​