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

將內容檔案新增至指定版本。