deployService()
在您的 GCP 项目中创建一个能够在云中渲染视频的 GCP Cloud Run 服务。
如果在指定区域中已经存在具有相同 Remotion 版本、内存限制、CPU 限制和超时的服务,则将返回该服务,而不会创建新服务。这意味着此服务可以被视为幂等。
示例
ts
import {deployService } from "@remotion/cloudrun";const {shortName } = awaitdeployService ({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 } = awaitdeployService ({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。一些用户可能希望增加最小实例数,以便更快地启动渲染,尽管这只会减少同时渲染直到达到该最 小限制的冷启动时间。在此处阅读有关最小实例限制的更多信息
任何正在运行的实例,即使它们没有执行渲染,也将在 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
:(布尔值):是否因为服务已经存在而跳过了创建。