Opsi konfigurasi untuk fungsi yang berlaku saat runtime.
Tanda Tangan:
export interface RuntimeOptions
Properti
Properti | Jenis | Deskripsi |
---|---|---|
consumeAppCheckToken | boolean | Menentukan apakah token Firebase App Check digunakan berdasarkan permintaan. Nilai defaultnya adalah false (salah). |
menerapkan AppCheck | boolean | Menentukan apakah Firebase AppCheck diterapkan. |
failurePolicy | FailurePolicy | boolean | Kebijakan kegagalan fungsi, dengan boolean true setara dengan menyediakan objek coba lagi kosong. |
Setelan masuk | (jenis INGRESS_SETTINGS_OPTIONS)[angka] | NilaiReset | Setelan masuk yang mengontrol tempat asal fungsi ini dapat dipanggil. |
pemanggil | "publik" | "pribadi" | rangkaian | {i>string<i}[] | Invoker untuk menyetel kontrol akses pada fungsi HTTPS. |
label | Rekam<string, string> | Label pengguna yang akan ditetapkan pada fungsi. |
maxInstances | angka | Ekspresi<angka> | NilaiReset | Jumlah maksimum instance sebenarnya yang diperbolehkan untuk berjalan secara paralel. |
memori | (jenis VALID_MEMORY_OPTIONS)[angka] | Ekspresi<angka> | NilaiReset | Jumlah memori yang akan dialokasikan ke fungsi. |
minInstances | angka | Ekspresi<angka> | NilaiReset | Jumlah minimum instance sebenarnya yang akan berjalan pada waktu tertentu. |
preserveExternalChanges | boolean | Mengontrol apakah konfigurasi fungsi yang dimodifikasi di luar sumber fungsi dipertahankan. Nilai defaultnya adalah false (salah). |
rahasia | (string | SecretParam)[] | |
akunlayanan | "default" | rangkaian | Ekspresi<string> | NilaiReset | Akun layanan tertentu yang akan digunakan untuk menjalankan fungsi. |
timeoutSeconds | angka | Ekspresi<angka> | NilaiReset | Waktu tunggu untuk fungsi dalam detik, nilai yang mungkin adalah 0 hingga 540. |
vpcConnector | rangkaian | Ekspresi<string> | NilaiReset | Menghubungkan cloud function ke konektor VPC yang ditentukan. |
vpcConnectorEgressSettings | (jenis VPC_EGRESS_SETTINGS_OPTIONS)[angka] | NilaiReset | Setelan traffic keluar untuk konektor VPC. |
RuntimeOptions.consumeAppCheckToken
Menentukan apakah token Firebase App Check digunakan berdasarkan permintaan. Nilai defaultnya adalah false (salah).
Setel ini ke benar (true) untuk mengaktifkan fitur perlindungan replay App Check dengan menggunakan token App Check pada permintaan callable. Token yang diketahui sudah digunakan akan menetapkan properti request.app.alreadyConsumed
ke benar (true).
Token hanya dianggap untuk digunakan jika dikirim ke layanan App Check dengan menetapkan opsi ini ke true (benar). Penggunaan token lainnya tidak menggunakannya.
Fitur perlindungan replay ini memerlukan panggilan jaringan tambahan ke backend App Check dan memaksa klien untuk mendapatkan pengesahan baru dari penyedia pengesahan yang dipilih. Oleh karena itu, hal ini dapat berdampak negatif pada performa dan berpotensi menghabiskan waktu penyedia pengesahan Anda kuota lebih cepat. Gunakan fitur ini hanya untuk melindungi operasi yang membutuhkan volume rendah, keamanan yang penting, atau yang mahal.
Opsi ini tidak memengaruhi opsi enforceAppCheck
. Menetapkan yang terakhir ke benar akan menyebabkan fungsi callable merespons secara otomatis dengan kode status 401 Authorized saat permintaan menyertakan token App Check yang tidak valid. Jika permintaan menyertakan token App Check yang valid tetapi telah digunakan, permintaan tidak akan otomatis ditolak. Sebagai gantinya, properti request.app.alreadyConsumed
akan ditetapkan ke benar (true) dan meneruskan eksekusi ke kode pengendali untuk membuat keputusan lebih lanjut, seperti mewajibkan pemeriksaan keamanan tambahan atau menolak permintaan.
Tanda Tangan:
consumeAppCheckToken?: boolean;
RuntimeOptions.enforceAppCheck
Menentukan apakah Firebase AppCheck diterapkan.
Jika benar, permintaan dengan token yang tidak valid akan otomatis merespons dengan error 401 (Tidak Sah). Jika salah (false), permintaan dengan token yang tidak valid akan menetapkan konteks.app ke proteksi.
Tanda Tangan:
enforceAppCheck?: boolean;
RuntimeOptions.failurePolicy
Kebijakan kegagalan fungsi, dengan boolean true
setara dengan menyediakan objek coba lagi kosong.
Tanda Tangan:
failurePolicy?: FailurePolicy | boolean;
RuntimeOptions.ingressSettings
Setelan masuk yang mengontrol tempat asal fungsi ini dapat dipanggil.
Tanda Tangan:
ingressSettings?: (typeof INGRESS_SETTINGS_OPTIONS)[number] | ResetValue;
RuntimeOptions.invoker
Invoker untuk menyetel kontrol akses pada fungsi HTTPS.
Tanda Tangan:
invoker?: "public" | "private" | string | string[];
RuntimeOptions.labels
Label pengguna yang akan ditetapkan pada fungsi.
Tanda Tangan:
labels?: Record<string, string>;
RuntimeOptions.maxInstances
Jumlah maksimum instance sebenarnya yang diperbolehkan untuk berjalan secara paralel.
Tanda Tangan:
maxInstances?: number | Expression<number> | ResetValue;
RuntimeOptions.memory
Jumlah memori yang akan dialokasikan ke fungsi.
Tanda Tangan:
memory?: (typeof VALID_MEMORY_OPTIONS)[number] | Expression<number> | ResetValue;
RuntimeOptions.minInstances
Jumlah minimum instance sebenarnya yang akan berjalan pada waktu tertentu.
Instance akan dikenai biaya untuk alokasi memori dan 10% alokasi CPU saat tidak ada aktivitas.
Tanda Tangan:
minInstances?: number | Expression<number> | ResetValue;
RuntimeOptions.preserveExternalChanges
Mengontrol apakah konfigurasi fungsi yang dimodifikasi di luar sumber fungsi dipertahankan. Nilai defaultnya adalah false (salah).
Saat menyetel konfigurasi yang tersedia di platform dasar yang belum tersedia di Firebase Functions SDK, sebaiknya setel preserveExternalChanges
ke true
. Jika tidak, saat Firebase Functions SDK merilis versi baru SDK dengan dukungan untuk konfigurasi yang tidak ada, setelan fungsi yang dikonfigurasi secara manual mungkin akan terhapus secara tidak sengaja.
Tanda Tangan:
preserveExternalChanges?: boolean;
RuntimeOptions.secrets
Tanda Tangan:
secrets?: (string | SecretParam)[];
RuntimeOptions.serviceAccount
Akun layanan tertentu yang akan digunakan untuk menjalankan fungsi.
Tanda Tangan:
serviceAccount?: "default" | string | Expression<string> | ResetValue;
RuntimeOptions.timeoutSeconds
Waktu tunggu untuk fungsi dalam detik, nilai yang mungkin adalah 0 hingga 540.
Tanda Tangan:
timeoutSeconds?: number | Expression<number> | ResetValue;
RuntimeOptions.vpcConnector
Menghubungkan cloud function ke konektor VPC yang ditentukan.
Tanda Tangan:
vpcConnector?: string | Expression<string> | ResetValue;
RuntimeOptions.vpcConnectorEgressSettings
Setelan traffic keluar untuk konektor VPC.
Tanda Tangan:
vpcConnectorEgressSettings?: (typeof VPC_EGRESS_SETTINGS_OPTIONS)[number] | ResetValue;