GlobalOptions
는 프로젝트 전체에 설정할 수 있는 옵션입니다. 이러한 옵션은 HTTPS 및 이벤트 처리 함수에 공통적으로 적용됩니다.
서명:
export interface GlobalOptions
속성
속성 | 유형 | 설명 |
---|---|---|
동시 실행 | 숫자 | 표현식<숫자> | 값 재설정 | 함수가 한 번에 처리할 수 있는 요청 수입니다. |
CPU | 숫자 | 'gcf_gen1' | 함수에 할당할 CPU의 소수입니다. |
enforceAppCheck를 | 부울 | Firebase 앱 체크 적용 여부를 결정합니다. 기본값은 false입니다. |
ingressSettings | 인그레스 설정 | 값 재설정 | 이 함수를 호출할 수 있는 위치를 제어하는 인그레스 설정입니다. |
호출자 | '공개' | 'private' | 문자열 | 문자열[] | HTTPS 함수에 액세스 제어를 설정하는 호출자입니다. |
labels | 레코드<문자열, 문자열> | 함수에 설정할 사용자 라벨입니다. |
maxInstances | 숫자 | 표현식<숫자> | 값 재설정 | 동시에 실행할 수 있는 최대 인스턴스 수입니다. |
메모리 | MemoryOption | 표현식<number> | 값 재설정 | 함수에 할당할 메모리 양. |
minInstances | 숫자 | 표현식<숫자> | 값 재설정 | 특정 시점에 실행될 실제 인스턴스의 최소 개수입니다. |
생략 | 부울 | 표현식<boolean> | true인 경우 이 함수를 배포하거나 에뮬레이션하지 않습니다. |
preserveExternalChanges | 부울 | 함수 소스 외부에서 수정된 함수 구성을 보존할지 여부를 제어합니다. 기본값은 false입니다. |
region | SupportedRegion | 문자열 | 표현식<string> | 값 재설정 | 함수를 배포해야 하는 리전입니다. |
보안 비밀 | (문자열 | SecretParam)[] | |
serviceAccount | 문자열 | 표현식<string> | 값 재설정 | 함수를 실행할 특정 서비스 계정입니다. |
timeoutSeconds | 숫자 | 표현식<숫자> | 값 재설정 | 함수 제한 시간(초)입니다. 가능한 값은 0~540입니다. HTTPS 함수는 더 높은 제한 시간을 지정할 수 있습니다. |
vpcConnector | 문자열 | 표현식<string> | 값 재설정 | 지정된 VPC 커넥터에 함수를 연결합니다. |
vpcConnectorEgressSettings | VpcEgressSetting | 값 재설정 | VPC 커넥터의 이그레스 설정입니다. |
GlobalOptions.concurrency
함수가 한 번에 처리할 수 있는 요청 수입니다.
Cloud Functions (2세대)에서 실행되는 함수에만 적용할 수 있습니다. null 값은 기본 동시 실행을 복원합니다 (CPU >= 1이면 80, 그렇지 않으면 1). cpu
이 1 미만인 경우 동시 실행을 1 이외의 값으로 설정할 수 없습니다. 동시 실행 최댓값은 1,000입니다.
서명:
concurrency?: number | Expression<number> | ResetValue;
GlobalOptions.cpu
함수에 할당할 CPU의 소수입니다.
RAM이 <= 2GB인 함수의 기본값은 1이며, 메모리가 클수록 증가됩니다. 이는 gcloud 유틸리티 사용 시 기본값과 다르며 Cloud Functions (1세대)에 할당된 고정 금액과도 다릅니다. gcloud 또는 Cloud Functions (1세대)에서 사용되는 CPU 용량으로 되돌리려면 값을 'gcf_gen1'으로 설정하세요.
서명:
cpu?: number | "gcf_gen1";
GlobalOptions.enforceAppCheck
Firebase 앱 체크 적용 여부를 결정합니다. 기본값은 false입니다.
true인 경우 유효하지 않은 토큰이 있는 요청은 401 (승인되지 않음) 오류로 자동 응답합니다. false이면 잘못된 토큰이 있는 요청이 event.app
를 undefined
로 설정합니다.
서명:
enforceAppCheck?: boolean;
GlobalOptions.ingressSettings
이 함수를 호출할 수 있는 위치를 제어하는 인그레스 설정입니다.
서명:
ingressSettings?: IngressSetting | ResetValue;
GlobalOptions.invoker
HTTPS 함수에 액세스 제어를 설정하는 호출자입니다.
서명:
invoker?: "public" | "private" | string | string[];
GlobalOptions.labels
함수에 설정할 사용자 라벨입니다.
서명:
labels?: Record<string, string>;
GlobalOptions.maxInstances
동시에 실행할 수 있는 최대 인스턴스 수입니다.
서명:
maxInstances?: number | Expression<number> | ResetValue;
GlobalOptions.memory
함수에 할당할 메모리 양.
서명:
memory?: MemoryOption | Expression<number> | ResetValue;
GlobalOptions.minInstances
특정 시점에 실행될 실제 인스턴스의 최소 개수입니다.
유휴 상태에서 메모리 할당 및 CPU 할당의 10% 에 해당하는 요금이 인스턴스에 청구됩니다.
서명:
minInstances?: number | Expression<number> | ResetValue;
GlobalOptions.omit
true인 경우 이 함수를 배포하거나 에뮬레이션하지 않습니다.
서명:
omit?: boolean | Expression<boolean>;
GlobalOptions.preserveExternalChanges
함수 소스 외부에서 수정된 함수 구성을 보존할지 여부를 제어합니다. 기본값은 false입니다.
아직 Cloud Functions용 Firebase SDK에서는 사용할 수 없는 기본 플랫폼에서 사용 가능한 구성을 설정할 때는 preserveExternalChanges
를 true
로 설정하는 것이 좋습니다. 그러지 않으면 Google에서 누락된 구성을 지원하는 SDK의 새 버전을 출시할 때 함수의 수동으로 구성된 설정이 의도치 않게 삭제될 수 있습니다.
서명:
preserveExternalChanges?: boolean;
GlobalOptions.region
함수를 배포해야 하는 리전입니다.
서명:
region?: SupportedRegion | string | Expression<string> | ResetValue;
GlobalOptions.secrets
서명:
secrets?: (string | SecretParam)[];
GlobalOptions.serviceAccount
함수를 실행할 특정 서비스 계정입니다.
서명:
serviceAccount?: string | Expression<string> | ResetValue;
GlobalOptions.timeoutSeconds
함수 제한 시간(초)입니다. 가능한 값은 0~540입니다. HTTPS 함수는 더 높은 제한 시간을 지정할 수 있습니다.
2세대 함수의 최소 제한 시간은 1초입니다. 함수의 최대 제한 시간은 함수 유형에 따라 다릅니다. 이벤트 처리 함수의 최대 제한 시간은 540초 (9분)입니다. HTTPS 및 호출 가능 함수의 최대 제한 시간은 36,000초 (1시간)입니다. 태스크 큐 함수의 최대 제한 시간은 1,800초 (30분)입니다.
서명:
timeoutSeconds?: number | Expression<number> | ResetValue;
GlobalOptions.vpcConnector
지정된 VPC 커넥터에 함수를 연결합니다.
서명:
vpcConnector?: string | Expression<string> | ResetValue;
GlobalOptions.vpcConnectorEgressSettings
VPC 커넥터의 이그레스 설정입니다.
서명:
vpcConnectorEgressSettings?: VpcEgressSetting | ResetValue;