deploySite()
将 Remotion 项目打包并上传到 S3 存储桶。一旦上传完成,Lambda 函数就可以通过指定 URL 渲染 Remotion 项目中的任何合成。
- 如果在本地进行更改,您需要重新部署站点。您可以使用
siteName
来覆盖之前的站点。 - 请注意,Remotion 项目将部署到子目录,而不是域的根目录。因此,您必须确保如果在 Remotion 项目中指定了路径,则这些路径能够处理这种情况。
- 在调用此函数之前,您应该创建一个存储桶,请参阅
getOrCreateBucket()
。
示例
ts
import {deploySite } from "@remotion/lambda";importpath from "path";const {serveUrl } = awaitdeploySite ({entryPoint :path .resolve (process .cwd (), "src/index.ts"),bucketName : "remotionlambda-c7fsl3d",region : "us-east-1",options : {onBundleProgress : (progress ) => {// Progress is between 0 and 100console .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";importpath from "path";const {serveUrl } = awaitdeploySite ({entryPoint :path .resolve (process .cwd (), "src/index.ts"),bucketName : "remotionlambda-c7fsl3d",region : "us-east-1",options : {onBundleProgress : (progress ) => {// Progress is between 0 and 100console .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 ofverbose
, 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
的目录。默认情况下,它是当前工作目录。
当前工作目录是程序执行的目录。它与调用 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 上渲染视频,方法如下:
- 使用
npx remotion lambda render
和npx remotion lambda still
命令 - 使用
renderMediaOnLambda()
和renderStillOnLambda()
函数。 - 在本地使用
renderMedia()
和renderStill()
函数。 - 在本地使用
npx remotion render
和npx remotion still
命令
如果您在 Lambda 上进行渲染,您还可以将站点名称(在本例中为
abcdef
)作为缩写传递。 - 使用
-
siteName
(string): 给定的站点标识符。要么是您传递给此函数的站点名称,要么是如果您没有传递站点名称则生成的随机字符串。 -
stats
: (从 v3.3.7 版本开始可用) 一个包含 3 个条目的对象:uploadedFiles
、deletedFiles
和untouchedFiles
。每个条目都是一个number
。
更新日志
从 v3.3.7
版本开始,此函数是增量的:它仅比较本地文件和 S3 上的文件内容,并仅执行必要的操作。