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 به روز کنید .

توجه داشته باشید که اگر نسخه را بیش از 12 ساعت در حالت CREATED بگذارید، سیستم به طور خودکار نسخه را به عنوان 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 یک نسخه محاسبه می شود.

وضعیت نسخه

وضعیت فعلی شناخته شده یک نسخه خاص در چرخه عمر استقرار.

Enums
VERSION_STATUS_UNSPECIFIED وضعیت پیش فرض؛ نباید عمدا استفاده شود
CREATED نسخه ایجاد شده است و در حال حاضر محتوا به نسخه اضافه می شود.
FINALIZED تمام مطالب به نسخه اضافه شده است و نسخه دیگر قابل تغییر نیست.
DELETED نسخه حذف شده است.
ABANDONED نسخه در عرض 12 ساعت به FINALIZED به روز نشد و به طور خودکار حذف شد.
EXPIRED نسخه خارج از محدودیت پیکربندی شده توسط سایت برای تعداد نسخه های حفظ شده است، بنابراین محتوای نسخه برای حذف برنامه ریزی شده است.
CLONING نسخه از نسخه دیگری در حال شبیه سازی است. همه محتوا همچنان در حال کپی برداری است.

ServingConfig

پیکربندی نحوه مسیریابی و پردازش درخواست‌های ورودی به یک سایت قبل از ارائه محتوا. مسیرهای درخواست URL با الگوهای URL مشخص شده در پیکربندی مطابقت دارند، سپس Hosting پیکربندی قابل اجرا را طبق یک ترتیب اولویت خاص اعمال می کند.

نمایندگی JSON
{
  "headers": [
    {
      object (Header)
    }
  ],
  "redirects": [
    {
      object (Redirect)
    }
  ],
  "rewrites": [
    {
      object (Rewrite)
    }
  ],
  "cleanUrls": boolean,
  "trailingSlashBehavior": enum (TrailingSlashBehavior),
  "i18n": {
    object (I18nConfig)
  }
}
زمینه های
headers[]

object ( Header )

آرایه ای از اشیاء، که در آن هر شی یک الگوی URL را مشخص می کند که اگر با مسیر URL درخواست مطابقت داشته باشد، میزبانی را برای اعمال سرصفحه های پاسخ سفارشی مشخص شده فعال می کند.

redirects[]

object ( Redirect )

آرایه ای از اشیاء (به نام قوانین تغییر مسیر)، که در آن هر قانون یک الگوی URL را مشخص می کند که اگر با مسیر URL درخواست مطابقت داشته باشد، میزبانی را فعال می کند تا با تغییر مسیر به مسیر مقصد مشخص شده پاسخ دهد.

rewrites[]

object ( Rewrite )

آرایه ای از اشیاء (به نام قوانین بازنویسی)، که در آن هر قانون یک الگوی URL را مشخص می کند که اگر با مسیر URL درخواست مطابقت داشته باشد، میزبانی را فعال می کند تا به گونه ای پاسخ دهد که گویی URL مقصد مشخص شده به سرویس داده شده است.

cleanUrls

boolean

تعیین می کند که آیا پسوند فایل از فایل های آپلود شده حذف شود یا خیر.

trailingSlashBehavior

enum ( TrailingSlashBehavior )

نحوه مدیریت یک اسلش انتهایی در مسیر URL را تعریف می کند.

i18n

object ( I18nConfig )

اختیاری. رفتار بازنویسی i18n را تعریف می کند.

یک Header یک الگوی URL را مشخص می کند که اگر با مسیر URL درخواست مطابقت داشته باشد، میزبانی را فعال می کند تا سرصفحه های پاسخ سفارشی مشخص شده را اعمال کند.

نمایندگی 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 درخواست برای تعیین اینکه آیا این سرصفحه پاسخ سفارشی اعمال شود یا خیر. می تواند یک glob به سبک Bash یا یک عبارت منظم RE2 باشد.

pattern فقط می تواند یکی از موارد زیر باشد:
glob

string

glob ارائه شده توسط کاربر برای مطابقت با مسیر URL درخواست.

regex

string

عبارت منظم RE2 ارائه شده توسط کاربر برای مطابقت با مسیر URL درخواست.

تغییر مسیر

Redirect یک الگوی URL را مشخص می کند که اگر با مسیر URL درخواست مطابقت داشته باشد، میزبانی را فعال می کند تا با تغییر مسیر به مسیر مقصد مشخص شده پاسخ دهد.

نمایندگی 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 درخواست برای تعیین اینکه آیا این تغییر مسیر اعمال شود یا خیر. می تواند یک glob به سبک Bash یا یک عبارت منظم RE2 باشد.

pattern فقط می تواند یکی از موارد زیر باشد:
glob

string

glob ارائه شده توسط کاربر برای مطابقت با مسیر URL درخواست.

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

اختیاری. یک منطقه Cloud برای فراخوانی توابع بازنویسی شده مشخص کنید. اگر ارائه نشده باشد، پیش‌فرض روی us-central1 است.

pattern میدان اتحادیه
ضروری. یک الگوی URL رشته ای برای مطابقت با مسیر URL درخواست برای تعیین اینکه آیا این بازنویسی اعمال شود یا خیر. می تواند یک glob به سبک Bash یا یک عبارت منظم RE2 باشد.

pattern فقط می تواند یکی از موارد زیر باشد:
glob

string

glob ارائه شده توسط کاربر برای مطابقت با مسیر URL درخواست.

regex

string

عبارت منظم RE2 ارائه شده توسط کاربر برای مطابقت با مسیر URL درخواست.

behavior میدانی اتحادیه
ضروری. رفتار بازنویسی.

behavior می تواند تنها یکی از موارد زیر باشد:
path

string

مسیر URL برای بازنویسی درخواست.

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.

region

string

اختیاری. منطقه ارائه شده توسط کاربر که در آن سرویس Cloud Run میزبانی می شود.

پیش‌فرض به us-central1 در صورت عدم ارائه.

tag

string

اختیاری. تگ TrafficConfig ارائه شده توسط کاربر برای ارسال ترافیک به.

در صورت حذف، ترافیک به URI در سطح سرویس ارسال می شود

TrailingSlashBehavior

تعیین می کند که آیا یک اسلش انتهایی باید از مسیر URL درخواست اضافه یا حذف شود.

Enums
TRAILING_SLASH_BEHAVIOR_UNSPECIFIED

هیچ رفتاری مشخص نشده است.

فایل‌ها فقط در محل دقیق خود ارائه می‌شوند و اسلش‌های انتهایی فقط به فهرست‌های فهرست اضافه می‌شوند.

ADD اسلش های دنباله دار به فهرست های دایرکتوری و همچنین به هر مسیر URL که به پسوند فایل ختم نمی شود اضافه می شود.
REMOVE اسلش های دنباله دار از فهرست های دایرکتوری و همچنین از هر مسیر URL که به پسوند فایل ختم نمی شود حذف می شود.

I18nConfig

در صورت ارائه، بازنویسی i18n فعال می شود.

نمایندگی JSON
{
  "root": string
}
زمینه های
root

string

ضروری. مسیر ارائه شده توسط کاربر که در آن محتوای خاص کشور و زبان در فهرست عمومی جستجو می شود.

مواد و روش ها

clone

با استفاده از محتوای نسخه مشخص شده، نسخه جدیدی را در سایت هدف مشخص شده ایجاد می کند.

create

یک نسخه جدید برای سایت مشخص شده ایجاد می کند.

delete

نسخه مشخص شده را حذف می کند.

get

نسخه مشخص شده را که برای سایت مشخص شده ایجاد شده است دریافت کنید.

list

نسخه هایی را که برای سایت مشخص شده ایجاد شده اند لیست می کند.

patch

فراداده مشخص شده را برای نسخه مشخص شده به روز می کند.

populateFiles

فایل های محتوا را به نسخه مشخص شده اضافه می کند.