REST Resource: sites.versions

리소스: Version

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' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

createUser

object (ActingUser)

출력 전용입니다. 버전을 만든 사용자를 식별합니다.

finalizeTime

string (Timestamp format)

출력 전용입니다. 버전이 FINALIZED 처리된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "2014-10-02T15:01:23Z""2014-10-02T15:01:23.045123456Z"입니다.

finalizeUser

object (ActingUser)

출력 전용입니다. 버전을 FINALIZED 처리한 사용자를 식별합니다.

deleteTime

string (Timestamp format)

출력 전용입니다. 버전이 DELETED 처리된 시간입니다.

RFC3339 UTC 'Zulu' 형식의 타임스탬프입니다(나노초 단위, 소수점 이하 9자리). 예를 들면 "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

콘텐츠를 제공하기 전에 사이트에 수신되는 요청을 라우팅 및 처리하는 방법에 대한 구성입니다. 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 패턴을 지정합니다.

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 패턴입니다. Bash 스타일 glob 또는 RE2 정규 표현식일 수 있습니다.

pattern는 다음 중 하나여야 합니다.
glob

string

요청 URL 경로와 대조할 사용자 제공 glob입니다.

regex

string

요청 URL 경로와 일치하는지 확인할 사용자 제공 RE2 정규 표현식입니다.

리디렉션

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 패턴입니다. Bash 스타일 glob 또는 RE2 정규 표현식일 수 있습니다.

pattern는 다음 중 하나여야 합니다.
glob

string

요청 URL 경로와 대조할 사용자 제공 glob입니다.

regex

string

요청 URL 경로와 일치하는지 확인할 사용자 제공 RE2 정규 표현식입니다.

재작성

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 패턴입니다. Bash 스타일 glob 또는 RE2 정규 표현식일 수 있습니다.

pattern는 다음 중 하나여야 합니다.
glob

string

요청 URL 경로와 대조할 사용자 제공 glob입니다.

regex

string

요청 URL 경로와 일치하는지 확인할 사용자 제공 RE2 정규 표현식입니다.

통합 필드 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 서비스의 사용자 정의 ID입니다.

region

string

선택사항. Cloud Run 서비스를 호스팅하는 사용자 제공 리전입니다.

지정하지 않을 경우 기본값은 us-central1입니다.

tag

string

선택사항입니다. 트래픽을 전송할 사용자 제공 TrafficConfig 태그.

생략하면 트래픽이 서비스 전체 URI로 전송됩니다.

TrailingSlashBehavior

요청 URL 경로에서 후행 슬래시를 추가 또는 삭제할지 여부를 정의합니다.

열거형
TRAILING_SLASH_BEHAVIOR_UNSPECIFIED

지정된 동작이 없습니다.

정확한 위치에서만 파일이 제공되며 후행 슬래시는 디렉토리 색인에만 추가됩니다.

ADD 후행 슬래시는 디렉토리 색인은 물론 파일 확장자로 끝나지 않는 모든 URL 경로에 추가됩니다.
REMOVE 후행 슬래시는 디렉토리 색인은 물론 파일 확장자로 끝나지 않는 모든 URL 경로에서 삭제됩니다.

I18n 구성

값이 입력되면 i18n 재작성이 사용 설정됩니다.

JSON 표현
{
  "root": string
}
필드
root

string

필수 항목입니다. 공개 디렉터리에서 국가 및 언어별 콘텐츠를 찾을 사용자 제공 경로입니다.

메소드

clone

지정된 버전의 콘텐츠를 사용하여 지정된 대상 사이트에 새 버전을 만듭니다.

create

지정된 사이트의 새 버전을 만듭니다.

delete

지정된 버전을 삭제합니다.

get

지정된 사이트에 대해 생성된 지정된 버전을 가져옵니다.

list

지정된 사이트에 대해 생성된 버전을 나열합니다.

patch

지정된 버전에 대해 지정된 메타데이터를 업데이트합니다.

populateFiles

콘텐츠 파일을 지정된 버전에 추가합니다.