Skip to main content

deploySite()

将 Remotion 项目打包并上传到 S3 存储桶。一旦上传完成,Lambda 函数就可以通过指定 URL 渲染 Remotion 项目中的任何合成。

  • 如果在本地进行更改,您需要重新部署站点。您可以使用 siteName 来覆盖之前的站点。
  • 请注意,Remotion 项目将部署到子目录,而不是域的根目录。因此,您必须确保如果在 Remotion 项目中指定了路径,则这些路径能够处理这种情况。
  • 在调用此函数之前,您应该创建一个存储桶,请参阅 getOrCreateBucket()

示例

ts
import { deploySite } from "@remotion/lambda";
import path from "path";
 
const { serveUrl } = await deploySite({
entryPoint: path.resolve(process.cwd(), "src/index.ts"),
bucketName: "remotionlambda-c7fsl3d",
region: "us-east-1",
options: {
onBundleProgress: (progress) => {
// Progress is between 0 and 100
console.log(`Bundle progress: ${progress}%`);
},
onUploadProgress: ({
totalFiles,
filesUploaded,
totalSize,
sizeUploaded,
}) => {
console.log(
`Upload progress: Total files ${totalFiles}, Files uploaded ${filesUploaded}, Total size ${totalSize}, Size uploaded ${sizeUploaded}`,
);
},
},
});
console.log(serveUrl);
ts
import { deploySite } from "@remotion/lambda";
import path from "path";
 
const { serveUrl } = await deploySite({
entryPoint: path.resolve(process.cwd(), "src/index.ts"),
bucketName: "remotionlambda-c7fsl3d",
region: "us-east-1",
options: {
onBundleProgress: (progress) => {
// Progress is between 0 and 100
console.log(`Bundle progress: ${progress}%`);
},
onUploadProgress: ({
totalFiles,
filesUploaded,
totalSize,
sizeUploaded,
}) => {
console.log(
`Upload progress: Total files ${totalFiles}, Files uploaded ${filesUploaded}, Total size ${totalSize}, Size uploaded ${sizeUploaded}`,
);
},
},
});
console.log(serveUrl);

参数

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

entryPoint

指向 Remotion 项目入口点的绝对路径。通常情况下,Remotion 项目的入口点存储在 src/entry.tsx 中。

bucketName

要部署网站的存储桶。该存储桶必须由 Remotion Lambda 创建。

region

存储桶所在的 AWS 区域。

siteName?

可选

指定要将站点部署到的 S3 存储桶的子文件夹。如果省略此属性,将创建一个具有随机名称的新子文件夹。如果已存在与您传递的名称相同的站点,则将覆盖它。只能包含以下字符:0-9a-zA-Z-!_.*'()

logLevel?v4.0.140

可选

One of verbose, info, warn, error.
Determines how much is being logged to the console.
verbose will also log console.log's from the browser.
Default info.

options?

可选

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

onBundleProgress

Webpack 在打包进度时的回调。将一个介于 0 和 100 之间的数字传递给回调函数,参见页面顶部的示例。

onUploadProgress

在上传资产时进行进度跟踪的回调函数。将以下属性传递给回调函数的对象:

  • totalFilesnumber):包中文件的总数。
  • filesUploadednumber):到目前为止已完全上传的文件数。
  • totalSizenumber):包中所有文件的总字节数。
  • sizeUploadednumber):到目前为止已上传的字节数。

webpackOverride

允许传递自定义的 webpack 覆盖。有关更多信息,请参阅bundle() -> webpackOverride

enableCaching

是否应启用 webpack 缓存。默认为 true。有关更多信息,请参阅bundle() -> enableCaching

publicDir

从 v3.2.17 版本开始可用

设置可以使用staticFile()加载的文件所在的目录。默认情况下,它是位于Remotion Root文件夹中的 public/ 文件夹。如果传递相对路径,它将相对于Remotion Root解析。

rootDir

从 v3.2.17 版本开始可用

Remotion 项目根目录所在的目录。应设置为包含安装 Remotion 的 package.json 的目录。默认情况下,它是当前工作目录。

note

当前工作目录是程序执行的目录。它与调用 bundle() 的文件不同。

ignoreRegisterRootWarning

从 v3.3.55 版本开始可用

忽略传递不包含 registerRoot 的入口文件时抛出的错误。

privacy

从 v3.3.97 版本开始可用

public(默认)或 no-acl,如果您不使用 ACL。站点必须具有公共 URL 才能在 Lambda 上呈现,因为无头浏览器会打开该 URL。

throwIfSiteExists?v4.0.141

Prevents accidential update of an existing site. If there are any files in the subfolder where the site should be placed, the function will throw.

forcePathStyle?v4.0.202

forcePathStyle 传递给 AWS S3 客户端。如果您不知道这是什么,您可能不需要它。

返回值

一个具有以下值的对象:

  • serveUrl (string): 一个 URL,例如 https://remotionlambda-12345.s3.eu-central-1.amazonaws.com/sites/abcdef/index.html

    您可以使用这个“Serve URL”在 Remotion Lambda 上渲染视频,方法如下:

    如果您在 Lambda 上进行渲染,您还可以将站点名称(在本例中为 abcdef)作为缩写传递。

  • siteName (string): 给定的站点标识符。要么是您传递给此函数的站点名称,要么是如果您没有传递站点名称则生成的随机字符串。

  • stats: (从 v3.3.7 版本开始可用) 一个包含 3 个条目的对象:uploadedFilesdeletedFilesuntouchedFiles。每个条目都是一个 number

更新日志

v3.3.7 版本开始,此函数是增量的:它仅比较本地文件和 S3 上的文件内容,并仅执行必要的操作。

参见