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,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

createUser

object (ActingUser)

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

finalizeTime

string (Timestamp format)

仅限输出。版本状态更改为 FINALIZED 的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"

finalizeUser

object (ActingUser)

仅限输出。标识将版本状态更改为 FINALIZED 的用户。

deleteTime

string (Timestamp format)

仅限输出。版本状态更改为 DELETED 的时间。

时间戳采用 RFC3339 世界协调时间(UTC,即“祖鲁时”)格式,精确到纳秒,最多九个小数位。示例:"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 之后计算得出。

VersionStatus

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

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

ServingConfig

确定在提供内容之前应如何路由和处理网站的传入请求的配置。系统会将网址请求路径与配置中的指定网址格式进行匹配,然后 Hosting 会根据特定的优先级顺序应用适用的配置。

。 <ph type="x-smartling-placeholder">
</ph>
JSON 表示法
{
  "headers": [
    {
      object (Header)
    }
  ],
  "redirects": [
    {
      object (Redirect)
    }
  ],
  "rewrites": [
    {
      object (Rewrite)
    }
  ],
  "cleanUrls": boolean,
  "trailingSlashBehavior": enum (TrailingSlashBehavior),
  "i18n": {
    object (I18nConfig)
  }
}
字段
headers[]

object (Header)

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

redirects[]

object (Redirect)

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

rewrites[]

object (Rewrite)

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

cleanUrls

boolean

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

trailingSlashBehavior

enum (TrailingSlashBehavior)

定义如何处理网址路径结尾处的斜杠。

i18n

object (I18nConfig)

可选。定义国际化重写行为。

Header 会指定一个网址格式,如果该格式与请求网址路径匹配,则会触发 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
必需。一个字符串网址格式,用于与请求网址路径匹配,以确定是否应用此自定义响应标头。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern 只能是下列其中一项:
glob

string

用户提供的用于匹配请求网址路径的 glob

regex

string

用户提供的 RE2 正则表达式,用于匹配请求网址路径。

重定向

Redirect 会指定一个网址格式,如果该网址格式与请求网址路径匹配,则会触发 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 位置标头的值。

该位置可以包含来自模式的捕获组值,这些值使用 : 前缀来标识细分,并使用可选的 * 来捕获网址的其余部分。例如:

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

联合字段 pattern
必需。一个字符串网址格式,用于与请求网址路径进行匹配以确定是否应用此重定向。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern 只能是下列其中一项:
glob

string

用户提供的用于匹配请求网址路径的 glob

regex

string

用户提供的 RE2 正则表达式,用于匹配请求网址路径。

重写

Rewrite 会指定一个网址格式,如果该格式与请求网址路径匹配,则会触发 Hosting 进行响应,就好像服务获得了指定的目标网址一样。

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

可选。为重写的 Functions 调用指定 Cloud 区域。如果未提供,则默认为 us-central1。

联合字段 pattern
必需。一个字符串网址格式,用于与请求网址路径匹配,以确定是否应用此重写。可以是 Bash 样式的 glob 或 RE2 正则表达式。

pattern 只能是下列其中一项:
glob

string

用户提供的用于匹配请求网址路径的 glob

regex

string

用户提供的 RE2 正则表达式,用于匹配请求网址路径。

联合字段 behavior
必需。重写的行为。

behavior 只能是下列其中一项:
path

string

要将请求重新写入到的网址路径。

function

string

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

run

object (CloudRunRewrite)

该请求将转发到 Cloud Run。

CloudRunRewrite

配置的重写,用于将请求定向到 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

TrailingSlashBehavior

定义是否应添加或移除请求网址路径结尾处的斜杠。

枚举
TRAILING_SLASH_BEHAVIOR_UNSPECIFIED

未指定任何行为。

仅在其确切位置提供文件,并且仅向目录索引添加结尾斜杠。

ADD 向目录索引以及任何不以文件扩展名结尾的网址路径添加结尾斜杠。
REMOVE 从目录索引以及任何不以文件扩展名结尾的网址路径中移除结尾斜杠。

I18n 配置

如果提供,将启用国际化重写。

JSON 表示法
{
  "root": string
}
字段
root

string

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

方法

clone

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

create

为指定网站创建一个新版本。

delete

删除指定的版本。

get

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

list

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

patch

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

populateFiles

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