ตัวเลือกการกำหนดค่าสำหรับฟังก์ชันที่ใช้งานได้ในขณะรันไทม์
ลายเซ็น:
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;