RuntimeOptions interface

ตัวเลือกการกำหนดค่าสำหรับฟังก์ชันที่ใช้งานได้ในขณะรันไทม์

ลายเซ็น:

export interface RuntimeOptions 

คุณสมบัติ

คุณสมบัติ พิมพ์ คำอธิบาย
บริโภคAppCheckToken บูลีน กำหนดว่ามีการใช้โทเค็น Firebase App Check ตามคำขอหรือไม่ ค่าเริ่มต้นเป็นเท็จ
บังคับใช้ AppCheck บูลีน กำหนดว่าจะบังคับใช้ Firebase AppCheck หรือไม่
นโยบายความล้มเหลว นโยบายความล้มเหลว | บูลีน นโยบายความล้มเหลวของฟังก์ชัน โดยที่บูลีน true เทียบเท่ากับการจัดเตรียมออบเจ็กต์ลองใหม่ที่ว่างเปล่า
การตั้งค่าทางเข้า (ประเภทของ INGRESS_SETTINGS_OPTIONS )[จำนวน] | รีเซ็ตค่า การตั้งค่า Ingress ซึ่งควบคุมตำแหน่งที่สามารถเรียกใช้ฟังก์ชันนี้ได้
ผู้เรียก "สาธารณะ" | "ส่วนตัว" | สตริง | สตริง[] ผู้เรียกใช้เพื่อตั้งค่าการควบคุมการเข้าถึงฟังก์ชัน https
ฉลาก บันทึก<string, string> ป้ายกำกับผู้ใช้สำหรับตั้งค่าฟังก์ชัน
อินสแตนซ์สูงสุด หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนอินสแตนซ์จริงสูงสุดที่อนุญาตให้ทำงานแบบขนานได้
หน่วยความจำ (ประเภทของ VALID_MEMORY_OPTIONS )[จำนวน] | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนหน่วยความจำที่จะจัดสรรให้กับฟังก์ชัน
minInstances หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนอินสแตนซ์จริงขั้นต่ำที่จะเรียกใช้ในเวลาที่กำหนด
รักษาการเปลี่ยนแปลงภายนอก บูลีน ควบคุมว่าการกำหนดค่าฟังก์ชันที่แก้ไขภายนอกแหล่งฟังก์ชันจะยังคงอยู่หรือไม่ ค่าเริ่มต้นเป็นเท็จ
ความลับ (สตริง | SecretParam)[]
บัญชีบริการ "ค่าเริ่มต้น" | สตริง | การแสดงออก <สตริง> | รีเซ็ตค่า บัญชีบริการเฉพาะสำหรับฟังก์ชันการทำงาน
หมดเวลาวินาที หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า หมดเวลาสำหรับฟังก์ชันเป็นวินาที ค่าที่เป็นไปได้คือ 0 ถึง 540
vpcConnector สตริง | การแสดงออก <สตริง> | รีเซ็ตค่า เชื่อมต่อฟังก์ชันคลาวด์กับตัวเชื่อมต่อ VPC ที่ระบุ
การตั้งค่า vpcConnectorEgress (ประเภทของ VPC_EGRESS_SETTINGS_OPTIONS )[จำนวน] | รีเซ็ตค่า การตั้งค่า Egress สำหรับตัวเชื่อมต่อ VPC

RuntimeOptions.consumeAppCheckToken

กำหนดว่ามีการใช้โทเค็น Firebase App Check ตามคำขอหรือไม่ ค่าเริ่มต้นเป็นเท็จ

ตั้งค่านี้เป็น "จริง" เพื่อเปิดใช้คุณลักษณะการป้องกันการเล่นซ้ำของ App Check โดยใช้โทเค็น App Check ตามคำขอที่เรียกได้ โทเค็นที่พบว่าถูกใช้ไปแล้วจะมีคุณสมบัติ request.app.alreadyConsumed ที่ตั้งค่าเป็นจริง

โทเค็นจะถือว่าใช้ได้ก็ต่อเมื่อมีการส่งไปยังบริการ App Check โดยการตั้งค่าตัวเลือกนี้เป็นจริง การใช้โทเค็นอื่น ๆ ห้ามใช้โทเค็นนั้น

คุณลักษณะการป้องกันการเล่นซ้ำนี้จำเป็นต้องมีการเรียกผ่านเครือข่ายเพิ่มเติมไปยังแบ็กเอนด์ App Check และบังคับให้ไคลเอ็นต์รับการรับรองใหม่จากผู้ให้บริการการรับรองที่เลือก สิ่งนี้จึงส่งผลเสียต่อประสิทธิภาพและอาจส่งผลให้โควต้าของผู้ให้บริการรับรองของคุณหมดเร็วขึ้น ใช้คุณลักษณะนี้สำหรับการปกป้องการดำเนินงานที่มีปริมาณน้อย มีความสำคัญด้านความปลอดภัย หรือมีราคาแพงเท่านั้น

ตัวเลือกนี้ไม่ส่งผลต่อตัวเลือก enforceAppCheck การตั้งค่าหลังเป็นจริงจะทำให้ฟังก์ชันที่เรียกได้ตอบสนองโดยอัตโนมัติด้วยรหัสสถานะ 401 ที่ไม่ได้รับอนุญาต เมื่อคำขอมีโทเค็น App Check ที่ไม่ถูกต้อง เมื่อคำขอมีโทเค็น App Check ที่ถูกต้องแต่ใช้ไปแล้ว คำขอจะไม่ถูกปฏิเสธโดยอัตโนมัติ แต่คุณสมบัติ request.app.alreadyConsumed จะถูกตั้งค่าเป็นจริงและส่งผ่านการดำเนินการไปยังโค้ดตัวจัดการเพื่อการตัดสินใจเพิ่มเติม เช่น ต้องมีการตรวจสอบความปลอดภัยเพิ่มเติม หรือการปฏิเสธคำขอ

ลายเซ็น:

consumeAppCheckToken?: boolean;

RuntimeOptions.enforceAppCheck

กำหนดว่าจะบังคับใช้ Firebase AppCheck หรือไม่

เมื่อเป็นจริง คำขอที่มีโทเค็นไม่ถูกต้องจะตอบกลับอัตโนมัติด้วยข้อผิดพลาด 401 (ไม่ได้รับอนุญาต) เมื่อเป็นเท็จ คำขอที่มีโทเค็นไม่ถูกต้องจะตั้งค่า context.app เป็นยกเลิกการปฏิเสธ

ลายเซ็น:

enforceAppCheck?: boolean;

RuntimeOptions.failurePolicy

นโยบายความล้มเหลวของฟังก์ชัน โดยที่บูลีน true เทียบเท่ากับการจัดเตรียมออบเจ็กต์ลองใหม่ที่ว่างเปล่า

ลายเซ็น:

failurePolicy?: FailurePolicy | boolean;

RuntimeOptions.ingressSettings

การตั้งค่า Ingress ซึ่งควบคุมตำแหน่งที่สามารถเรียกใช้ฟังก์ชันนี้ได้

ลายเซ็น:

ingressSettings?: (typeof INGRESS_SETTINGS_OPTIONS)[number] | ResetValue;

RuntimeOptions.inviver

ผู้เรียกใช้เพื่อตั้งค่าการควบคุมการเข้าถึงฟังก์ชัน https

ลายเซ็น:

invoker?: "public" | "private" | string | string[];

RuntimeOptions.labels

ป้ายกำกับผู้ใช้สำหรับตั้งค่าฟังก์ชัน

ลายเซ็น:

labels?: Record<string, string>;

RuntimeOptions.maxInstances

จำนวนอินสแตนซ์จริงสูงสุดที่อนุญาตให้ทำงานแบบขนานได้

ลายเซ็น:

maxInstances?: number | Expression<number> | ResetValue;

RuntimeOptions.หน่วยความจำ

จำนวนหน่วยความจำที่จะจัดสรรให้กับฟังก์ชัน

ลายเซ็น:

memory?: (typeof VALID_MEMORY_OPTIONS)[number] | Expression<number> | ResetValue;

RuntimeOptions.minInstances

จำนวนอินสแตนซ์จริงขั้นต่ำที่จะเรียกใช้ในเวลาที่กำหนด

อินสแตนซ์จะถูกเรียกเก็บเงินสำหรับการจัดสรรหน่วยความจำและการจัดสรร CPU 10% ขณะที่ไม่ได้ใช้งาน

ลายเซ็น:

minInstances?: number | Expression<number> | ResetValue;

RuntimeOptions.preserveExternalChanges

ควบคุมว่าการกำหนดค่าฟังก์ชันที่แก้ไขภายนอกแหล่งฟังก์ชันจะยังคงอยู่หรือไม่ ค่าเริ่มต้นเป็นเท็จ

เมื่อตั้งค่าการกำหนดค่าที่มีอยู่ในแพลตฟอร์มพื้นฐานที่ยังไม่มีใน Firebase Functions SDK เราขอแนะนำอย่างยิ่งให้ตั้งค่า preserveExternalChanges เป็น true . มิฉะนั้น เมื่อ Firebase Functions SDK เปิดตัว SDK เวอร์ชันใหม่ที่รองรับการกำหนดค่าที่ขาดหายไป การตั้งค่าที่กำหนดค่าด้วยตนเองของฟังก์ชันของคุณอาจถูกลบออกโดยไม่ตั้งใจ

ลายเซ็น:

preserveExternalChanges?: boolean;

RuntimeOptions.secrets

ลายเซ็น:

secrets?: (string | SecretParam)[];

RuntimeOptions.serviceAccount

บัญชีบริการเฉพาะสำหรับฟังก์ชันการทำงาน

ลายเซ็น:

serviceAccount?: "default" | string | Expression<string> | ResetValue;

RuntimeOptions.timeoutSeconds

หมดเวลาสำหรับฟังก์ชันเป็นวินาที ค่าที่เป็นไปได้คือ 0 ถึง 540

ลายเซ็น:

timeoutSeconds?: number | Expression<number> | ResetValue;

RuntimeOptions.vpcConnector

เชื่อมต่อฟังก์ชันคลาวด์กับตัวเชื่อมต่อ VPC ที่ระบุ

ลายเซ็น:

vpcConnector?: string | Expression<string> | ResetValue;

RuntimeOptions.vpcConnectorEgressSettings

การตั้งค่า Egress สำหรับตัวเชื่อมต่อ VPC

ลายเซ็น:

vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;
,

ตัวเลือกการกำหนดค่าสำหรับฟังก์ชันที่ใช้งานได้ในขณะรันไทม์

ลายเซ็น:

export interface RuntimeOptions 

คุณสมบัติ

คุณสมบัติ พิมพ์ คำอธิบาย
บริโภคAppCheckToken บูลีน กำหนดว่ามีการใช้โทเค็น Firebase App Check ตามคำขอหรือไม่ ค่าเริ่มต้นเป็นเท็จ
บังคับใช้ AppCheck บูลีน กำหนดว่าจะบังคับใช้ Firebase AppCheck หรือไม่
นโยบายความล้มเหลว นโยบายความล้มเหลว | บูลีน นโยบายความล้มเหลวของฟังก์ชัน โดยที่บูลีน true เทียบเท่ากับการจัดเตรียมออบเจ็กต์ลองใหม่ที่ว่างเปล่า
การตั้งค่าทางเข้า (ประเภทของ INGRESS_SETTINGS_OPTIONS )[จำนวน] | รีเซ็ตค่า การตั้งค่า Ingress ซึ่งควบคุมตำแหน่งที่สามารถเรียกใช้ฟังก์ชันนี้ได้
ผู้เรียก "สาธารณะ" | "ส่วนตัว" | สตริง | สตริง[] ผู้เรียกใช้เพื่อตั้งค่าการควบคุมการเข้าถึงฟังก์ชัน https
ฉลาก บันทึก<string, string> ป้ายกำกับผู้ใช้สำหรับตั้งค่าฟังก์ชัน
อินสแตนซ์สูงสุด หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนอินสแตนซ์จริงสูงสุดที่อนุญาตให้ทำงานแบบขนานได้
หน่วยความจำ (ประเภทของ VALID_MEMORY_OPTIONS )[จำนวน] | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนหน่วยความจำที่จะจัดสรรให้กับฟังก์ชัน
minInstances หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า จำนวนอินสแตนซ์จริงขั้นต่ำที่จะเรียกใช้ในเวลาที่กำหนด
รักษาการเปลี่ยนแปลงภายนอก บูลีน ควบคุมว่าการกำหนดค่าฟังก์ชันที่แก้ไขภายนอกแหล่งฟังก์ชันจะยังคงอยู่หรือไม่ ค่าเริ่มต้นเป็นเท็จ
ความลับ (สตริง | SecretParam)[]
บัญชีบริการ "ค่าเริ่มต้น" | สตริง | การแสดงออก <สตริง> | รีเซ็ตค่า บัญชีบริการเฉพาะสำหรับฟังก์ชันการทำงาน
หมดเวลาวินาที หมายเลข | การแสดงออก <จำนวน> | รีเซ็ตค่า หมดเวลาสำหรับฟังก์ชันเป็นวินาที ค่าที่เป็นไปได้คือ 0 ถึง 540
vpcConnector สตริง | การแสดงออก <สตริง> | รีเซ็ตค่า เชื่อมต่อฟังก์ชันคลาวด์กับตัวเชื่อมต่อ VPC ที่ระบุ
การตั้งค่า vpcConnectorEgress (ประเภทของ VPC_EGRESS_SETTINGS_OPTIONS )[จำนวน] | รีเซ็ตค่า การตั้งค่า Egress สำหรับตัวเชื่อมต่อ VPC

RuntimeOptions.consumeAppCheckToken

กำหนดว่ามีการใช้โทเค็น Firebase App Check ตามคำขอหรือไม่ ค่าเริ่มต้นเป็นเท็จ

ตั้งค่านี้เป็น "จริง" เพื่อเปิดใช้คุณลักษณะการป้องกันการเล่นซ้ำของ App Check โดยใช้โทเค็น App Check ตามคำขอที่เรียกได้ โทเค็นที่พบว่าถูกใช้ไปแล้วจะมีคุณสมบัติ request.app.alreadyConsumed ที่ตั้งค่าเป็นจริง

โทเค็นจะถือว่าใช้ได้ก็ต่อเมื่อมีการส่งไปยังบริการ App Check โดยการตั้งค่าตัวเลือกนี้เป็นจริง การใช้โทเค็นอื่น ๆ ห้ามใช้โทเค็นนั้น

คุณลักษณะการป้องกันการเล่นซ้ำนี้จำเป็นต้องมีการเรียกผ่านเครือข่ายเพิ่มเติมไปยังแบ็กเอนด์ App Check และบังคับให้ไคลเอ็นต์รับการรับรองใหม่จากผู้ให้บริการการรับรองที่เลือก สิ่งนี้จึงส่งผลเสียต่อประสิทธิภาพและอาจส่งผลให้โควต้าของผู้ให้บริการรับรองของคุณหมดเร็วขึ้น ใช้คุณลักษณะนี้สำหรับการปกป้องการดำเนินงานที่มีปริมาณน้อย มีความสำคัญด้านความปลอดภัย หรือมีราคาแพงเท่านั้น

ตัวเลือกนี้ไม่ส่งผลต่อตัวเลือก enforceAppCheck การตั้งค่าหลังเป็นจริงจะทำให้ฟังก์ชันที่เรียกได้ตอบสนองโดยอัตโนมัติด้วยรหัสสถานะ 401 ที่ไม่ได้รับอนุญาต เมื่อคำขอมีโทเค็น App Check ที่ไม่ถูกต้อง เมื่อคำขอมีโทเค็น App Check ที่ถูกต้องแต่ใช้ไปแล้ว คำขอจะไม่ถูกปฏิเสธโดยอัตโนมัติ แต่คุณสมบัติ request.app.alreadyConsumed จะถูกตั้งค่าเป็นจริงและส่งผ่านการดำเนินการไปยังโค้ดตัวจัดการเพื่อการตัดสินใจเพิ่มเติม เช่น ต้องมีการตรวจสอบความปลอดภัยเพิ่มเติม หรือการปฏิเสธคำขอ

ลายเซ็น:

consumeAppCheckToken?: boolean;

RuntimeOptions.enforceAppCheck

กำหนดว่าจะบังคับใช้ Firebase AppCheck หรือไม่

เมื่อเป็นจริง คำขอที่มีโทเค็นไม่ถูกต้องจะตอบกลับอัตโนมัติด้วยข้อผิดพลาด 401 (ไม่ได้รับอนุญาต) เมื่อเป็นเท็จ คำขอที่มีโทเค็นไม่ถูกต้องจะตั้งค่า context.app เป็นยกเลิกการปฏิเสธ

ลายเซ็น:

enforceAppCheck?: boolean;

RuntimeOptions.failurePolicy

นโยบายความล้มเหลวของฟังก์ชัน โดยที่บูลีน true เทียบเท่ากับการจัดเตรียมออบเจ็กต์ลองใหม่ที่ว่างเปล่า

ลายเซ็น:

failurePolicy?: FailurePolicy | boolean;

RuntimeOptions.ingressSettings

การตั้งค่า Ingress ซึ่งควบคุมตำแหน่งที่สามารถเรียกใช้ฟังก์ชันนี้ได้

ลายเซ็น:

ingressSettings?: (typeof INGRESS_SETTINGS_OPTIONS)[number] | ResetValue;

RuntimeOptions.inviver

ผู้เรียกใช้เพื่อตั้งค่าการควบคุมการเข้าถึงฟังก์ชัน https

ลายเซ็น:

invoker?: "public" | "private" | string | string[];

RuntimeOptions.labels

ป้ายกำกับผู้ใช้สำหรับตั้งค่าฟังก์ชัน

ลายเซ็น:

labels?: Record<string, string>;

RuntimeOptions.maxInstances

จำนวนอินสแตนซ์จริงสูงสุดที่อนุญาตให้ทำงานแบบขนานได้

ลายเซ็น:

maxInstances?: number | Expression<number> | ResetValue;

RuntimeOptions.หน่วยความจำ

จำนวนหน่วยความจำที่จะจัดสรรให้กับฟังก์ชัน

ลายเซ็น:

memory?: (typeof VALID_MEMORY_OPTIONS)[number] | Expression<number> | ResetValue;

RuntimeOptions.minInstances

จำนวนอินสแตนซ์จริงขั้นต่ำที่จะเรียกใช้ในเวลาที่กำหนด

อินสแตนซ์จะถูกเรียกเก็บเงินสำหรับการจัดสรรหน่วยความจำและการจัดสรร CPU 10% ขณะที่ไม่ได้ใช้งาน

ลายเซ็น:

minInstances?: number | Expression<number> | ResetValue;

RuntimeOptions.preserveExternalChanges

ควบคุมว่าการกำหนดค่าฟังก์ชันที่แก้ไขภายนอกแหล่งฟังก์ชันจะยังคงอยู่หรือไม่ ค่าเริ่มต้นเป็นเท็จ

เมื่อตั้งค่าการกำหนดค่าที่มีอยู่ในแพลตฟอร์มพื้นฐานที่ยังไม่มีใน Firebase Functions SDK เราขอแนะนำเป็นอย่างยิ่งให้ตั้งค่า preserveExternalChanges เป็น true . มิฉะนั้น เมื่อ Firebase Functions SDK เปิดตัว SDK เวอร์ชันใหม่ที่รองรับการกำหนดค่าที่ขาดหายไป การตั้งค่าที่กำหนดค่าด้วยตนเองของฟังก์ชันของคุณอาจถูกลบออกโดยไม่ตั้งใจ

ลายเซ็น:

preserveExternalChanges?: boolean;

RuntimeOptions.secrets

ลายเซ็น:

secrets?: (string | SecretParam)[];

RuntimeOptions.serviceAccount

บัญชีบริการเฉพาะสำหรับฟังก์ชันที่จะเรียกใช้

ลายเซ็น:

serviceAccount?: "default" | string | Expression<string> | ResetValue;

RuntimeOptions.timeoutSeconds

หมดเวลาสำหรับฟังก์ชันเป็นวินาที ค่าที่เป็นไปได้คือ 0 ถึง 540

ลายเซ็น:

timeoutSeconds?: number | Expression<number> | ResetValue;

RuntimeOptions.vpcConnector

เชื่อมต่อฟังก์ชันคลาวด์กับตัวเชื่อมต่อ VPC ที่ระบุ

ลายเซ็น:

vpcConnector?: string | Expression<string> | ResetValue;

RuntimeOptions.vpcConnectorEgressSettings

การตั้งค่า Egress สำหรับตัวเชื่อมต่อ VPC

ลายเซ็น:

vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;