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-9、a-z、A-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​

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

  • totalFiles(number):包中文件的总数。
  • filesUploaded(number):到目前为止已完全上传的文件数。
  • totalSize(number):包中所有文件的总字节数。
  • sizeUploaded(number):到目前为止已上传的字节数。

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 个条目的对象:uploadedFiles、deletedFiles 和 untouchedFiles。每个条目都是一个 number。

更新日志​

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

参见​