REST Resource: sites.versions

资源:版本

Version是配置和静态文件的集合,用于确定站点的显示方式。

JSON 表示
{
  "name": string,
  "status": enum (VersionStatus),
  "config": {
    object (ServingConfig)
  },
  "labels": {
    string: string,
    ...
  },
  "createTime": string,
  "createUser": {
    object (ActingUser)
  },
  "finalizeTime": string,
  "finalizeUser": {
    object (ActingUser)
  },
  "deleteTime": string,
  "deleteUser": {
    object (ActingUser)
  },
  "fileCount": string,
  "versionBytes": string
}
领域
name

string

版本的完全限定资源名称,格式为:

sites/ SITE_ID /versions/ VERSION_ID

当您调用versions.create时,此名称将在响应正文中提供。

status

enum ( VersionStatus )

版本的部署状态。

要成功部署,请调用versions.create创建新版本( CREATED状态),将所有所需文件上传到该版本,然后将版本更新FINALIZED状态。

请注意,如果您将版本保持CREATED状态超过 12 小时,系统会自动将该版本标记为ABANDONED

您还可以通过调用versions.delete将版本的状态更改为DELETED

config

object ( ServingConfig )

站点行为的配置。此配置存在于firebase.json文件中。

labels

map (key: string, value: string)

用于额外元数据和/或过滤的标签。

包含"key": value对。示例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

createTime

string ( Timestamp format)

仅输出。创建版本的时间。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

createUser

object ( ActingUser )

仅输出。标识创建版本的用户。

finalizeTime

string ( Timestamp format)

仅输出。版本FINALIZED的时间。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

finalizeUser

object ( ActingUser )

仅输出。标识FINALIZED版本的用户。

deleteTime

string ( Timestamp format)

仅输出。 DELETED版本的时间。

RFC3339 UTC“Zulu”格式的时间戳,具有纳秒分辨率和最多九个小数位。示例: "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

deleteUser

object ( ActingUser )

仅输出。标识DELETED版本的用户。

fileCount

string ( int64 format)

仅输出。与版本关联的文件总数。

该值是在版本FINALIZED后计算的。

versionBytes

string ( int64 format)

仅输出。版本的总存储字节大小。

该值是在版本FINALIZED后计算的。

版本状态

部署生命周期中特定版本的当前已知状态。

枚举
VERSION_STATUS_UNSPECIFIED默认状态;不应有意使用。
CREATED版本已创建,当前正在向版本添加内容。
FINALIZED所有内容已添加到版本中,版本无法再更改。
DELETED该版本已被删除。
ABANDONED 12小时内版本未更新为FINALIZED ,被自动删除。
EXPIRED该版本超出了站点配置的保留版本数量限制,因此计划删除该版本的内容。
CLONING该版本是从另一个版本克隆的。所有内容仍在复制中。

服务配置

在提供内容之前应如何路由和处理传入站点的请求的配置。 URL 请求路径与配置中指定的 URL 模式进行匹配,然后托管根据特定的优先级顺序应用适用的配置。

JSON 表示
{
  "headers": [
    {
      object (Header)
    }
  ],
  "redirects": [
    {
      object (Redirect)
    }
  ],
  "rewrites": [
    {
      object (Rewrite)
    }
  ],
  "cleanUrls": boolean,
  "trailingSlashBehavior": enum (TrailingSlashBehavior),
  "i18n": {
    object (I18nConfig)
  }
}
领域
headers[]

object ( Header )

对象数组,其中每个对象指定一个 URL 模式,如果与请求 URL 路径匹配,则触发 Hosting 应用指定的自定义响应标头。

redirects[]

object ( Redirect )

对象数组(称为重定向规则),其中每个规则指定一个 URL 模式,如果与请求 URL 路径匹配,则触发 Hosting 以重定向到指定目标路径进行响应。

rewrites[]

object ( Rewrite )

对象数组(称为重写规则),其中每个规则指定一个 URL 模式,如果该模式与请求 URL 路径匹配,则触发 Hosting 进行响应,就像为服务提供了指定的目标 URL 一样。

cleanUrls

boolean

定义是否从上传的文件中删除文件扩展名。

trailingSlashBehavior

enum ( TrailingSlashBehavior )

定义如何处理 URL 路径中的尾部斜杠。

i18n

object ( I18nConfig )

选修的。定义 i18n 重写行为。

Header指定 URL 模式,如果与请求 URL 路径匹配,则触发 Hosting 应用指定的自定义响应标头。

JSON 表示
{
  "headers": {
    string: string,
    ...
  },

  // Union field pattern can be only one of the following:
  "glob": string,
  "regex": string
  // End of list of possible types for union field pattern.
}
领域
headers

map (key: string, value: string)

必需的。要添加到响应中的附加标头。

包含"key": value对。示例: { "name": "wrench", "mass": "1.3kg", "count": "3" }

联盟场pattern
必需的。与请求 URL 路径匹配的字符串 URL 模式,以确定是否应用此自定义响应标头。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern只能是以下之一:
glob

string

用户提供的用于与请求 URL 路径匹配的glob

regex

string

用户提供的 RE2 正则表达式,用于与请求 URL 路径进行匹配。

重定向

Redirect指定一个 URL 模式,如果与请求 URL 路径匹配,则触发 Hosting 以重定向到指定的目标路径进行响应。

JSON 表示
{
  "statusCode": integer,
  "location": string,

  // Union field pattern can be only one of the following:
  "glob": string,
  "regex": string
  // End of list of possible types for union field pattern.
}
领域
statusCode

integer

必需的。响应中返回的状态 HTTP 代码。它必须是有效的 3xx 状态代码。

location

string

必需的。要放入响应的 HTTP 位置标头中的值。

该位置可以包含模式中的捕获组值,使用:前缀来标识段,并使用可选的*来捕获 URL 的其余部分。例如:

"glob": "/:capture*",
"statusCode": 301,
"location": "https://example.com/foo/:capture"

联盟场pattern
必需的。与请求 URL 路径相匹配的字符串 URL 模式,以确定是否应用此重定向。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern只能是以下之一:
glob

string

用户提供的用于与请求 URL 路径匹配的glob

regex

string

用户提供的 RE2 正则表达式,用于与请求 URL 路径进行匹配。

改写

Rewrite指定一个 URL 模式,如果该模式与请求 URL 路径匹配,则会触发托管进行响应,就像为服务提供了指定的目标 URL 一样。

JSON 表示
{
  "functionRegion": string,

  // Union field pattern can be only one of the following:
  "glob": string,
  "regex": string
  // End of list of possible types for union field pattern.

  // Union field behavior can be only one of the following:
  "path": string,
  "function": string,
  "run": {
    object (CloudRunRewrite)
  }
  // End of list of possible types for union field behavior.
}
领域
functionRegion

string

选修的。指定用于重写函数调用的云区域。如果未提供,则默认为 us-central1。

联盟场pattern
必需的。与请求 URL 路径相匹配的字符串 URL 模式,以确定是否应用此重写。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern只能是以下之一:
glob

string

用户提供的用于与请求 URL 路径匹配的glob

regex

string

用户提供的 RE2 正则表达式,用于与请求 URL 路径进行匹配。

联盟场behavior
必需的。重写的行为。

behavior只能是以下之一:
path

string

将请求重写到的 URL 路径。

function

string

代理请求的函数。必须与导出的函数名称完全匹配。

run

object ( CloudRunRewrite )

该请求将转发到 Cloud Run。

云运行重写

将请求定向到 Cloud Run 服务的已配置重写。如果在设置或更新 Firebase 托管配置时 Cloud Run 服务不存在,则请求将失败。 Cloud Run 服务中的任何错误都会传递给最终用户(例如,如果您删除服务,则指向该服务的任何请求都会收到404错误)。

JSON 表示
{
  "serviceId": string,
  "region": string,
  "tag": string
}
领域
serviceId

string

必需的。 Cloud Run 服务的用户定义 ID。

region

string

选修的。用户提供的托管 Cloud Run 服务的区域。

如果未提供,则默认为us-central1

tag

string

选修的。用户提供的用于发送流量的 TrafficConfig 标记。

省略时,流量将发送到服务范围的 URI

尾随斜杠行为

定义是否应在请求 URL 路径中添加或删除尾部斜杠。

枚举
TRAILING_SLASH_BEHAVIOR_UNSPECIFIED

没有指定行为。

文件仅在其确切位置提供,尾部斜杠仅添加到目录索引中。

ADD尾部斜杠将添加到目录索引以及任何不以文件扩展名结尾的 URL 路径。
REMOVE尾部斜杠将从目录索引以及任何不以文件扩展名结尾的 URL 路径中删除

I18n配置

如果提供,则启用 i18n 重写。

JSON 表示
{
  "root": string
}
领域
root

string

必需的。用户提供的路径,将在公共目录中查找特定于国家/地区和语言的内容。

方法

clone

使用指定版本的内容在指定目标站点上创建新版本。

create

为指定站点创建新版本。

delete

删除指定版本。

get

获取已为指定站点创建的指定版本。

list

列出已为指定站点创建的版本。

patch

更新指定版本的指定元数据。

populateFiles

将内容文件添加到指定版本。