Parametreler, kullanıcının yüklenen her bir öğeyi özelleştirdiği mekanizmadır örneğidir. Parametreler, bir öğenin ortam değişkenlerine benzer. uzantısına sahip olur. Parametre değerleri şunlardan biri olabilir: auto-fill (Firebase tarafından şu tarihten sonra sağlanır: veya kullanıcı tarafından yapılandırılmış (kullanıcı tarafından kullanıcı).
Bu parametreleri, uzantınızın
işlevleri kaynak kodu, extension.yaml
dosyanız ve POSTINSTALL.md
dosyası olarak kaydedebilirsiniz. Şu ada sahip bir parametreye referans vermek için kullanılacak söz dizimini
PARAMETER_NAME
:
İşlevlerinizin kaynak kodunda,
params
modülü (örneğin,params.defineInt("PARAMETER_NAME")
) veyaprocess.env.PARAMETER_NAME
.extension.yaml
vePOSTINSTALL.md
içinde şunu kullanın:${param:PARAMETER_NAME}
.Yükleme işleminden sonra Firebase konsolunda
POSTINSTALL.md
dosyasını açar ve tüm parametre referanslarını gerçek değerlere sahip olduğundan emin olun.
Otomatik olarak doldurulan parametreler
Bir uzantının yüklenen her örneği otomatik olarak birçok Firebase tarafından sağlanan varsayılan otomatik olarak doldurulan parametreler (tabloya bakın bölümüne bakın). Bu parametre değerleri, Firebase için varsayılan değerlerdir (default Storage paketi gibi) ya da uzantıya özgüdür (ör. uzantının örnek kimliğini girin).
Otomatik olarak doldurulan tüm parametre değerleri sabittir. Bunlar, projenin zamanı veya uzantı yüklemesinden bahsedeceğiz.
Firebase, uzantı için bu parametre değerlerini otomatik olarak doldursa da
Firebase, işlem sırasında kullanıcı için ilişkili ürünlerin temel hazırlığını otomatik olarak yapmaz.
yükleme başlıklı makaleye bakın. Uzantıyı yükleyen kullanıcı, ilişkili
ve geçerli ürünleri) hazır hale getirmektir. Örneğin,
Uzantınız Cloud Firestore'u içeriyorsa, kullanıcı
Cloud Firestore'u kurma ve
belirler. Kullanıcılarınızı bu gereksinimlerle ilgili olarak bilgilendirmenizi öneririz:
PREINSTALL.md
dosyası olduğundan emin olun.
Otomatik olarak doldurulmuş parametre referansı | Açıklama | Parametre değeri (Firebase tarafından sağlanır) |
---|---|---|
Firebase projesindeki varsayılan değerlere sahip parametreler | ||
PROJECT_ID |
Uzantının yer aldığı Firebase projesinin benzersiz tanımlayıcısı yüklendi |
Genelleştirilmiş biçim:
Örnek değer: |
DATABASE_URL |
Firebase projesinin varsayılan Realtime Database örneği URL'si |
Genelleştirilmiş biçim:
Örnek değer: |
DATABASE_INSTANCE |
Firebase projesinin varsayılan Realtime Database örneği adı Genellikle bu değer proje kimliğiyle aynıdır veya
|
Genelleştirilmiş biçim:
Örnek değer: |
STORAGE_BUCKET |
Firebase projesinin varsayılan Cloud Storage paket adı |
Genelleştirilmiş biçim:
Örnek değer: |
Uzantı yüklemesinden varsayılan değere sahip parametre | ||
EXT_INSTANCE_ID |
Yüklü uzantı örneği için benzersiz tanımlayıcı Bu değer,
|
1. yüklenen örnek için genel biçim (otomatik olarak atanır)
Firebase'den; kullanıcı tarafından değiştirilemez):
Örnek değer: 2. yüklenmiş örnek ve üzeri için genel biçim
(Firebase tarafından otomatik olarak atanır; kullanıcı tarafından değiştirilebilir
sırasında):
Örnek değer: |
Kullanıcı tarafından yapılandırılmış parametreler
Kullanıcının bir uzantının yüklenen her örneğini özelleştirmesini sağlamak için
kullanıcıdan yükleme sırasında parametre değerlerini belirtmesini isteyebilir. Bunları istemek için
değerleri, extension.yaml
uygulamanızın params
bölümünde istemleri ayarlarsınız
dosyası olarak kaydedebilirsiniz.
Aşağıda, örnek bir params
bölümü ve ardından, mevcut tüm seçenekleri açıklayan bir tablo yer almaktadır
parametresindeki alana girin.
# extension.yaml
...
# Parameters (environment variables) for which the user specifies values during installation
params:
- param: DB_PATH
label: Realtime Database path
description: >-
What is the Realtime Database path where you will write new text
for sentiment analysis?
type: string
validationRegex: ^\S+$
validationErrorMessage: Realtime Database path cannot contain spaces.
example: path/to/posts
required: true
- param: TEXT_KEY
label: Key for text
description: What is the name of the key that will contain text to be analyzed?
type: string
default: textToAnalyze
required: true
extension.yaml
dosyanızın params
bölümünde aşağıdaki alanları kullanın
kullanıcı tarafından yapılandırılmış bir parametre tanımlamak için:
Alan | Tür | Açıklama | ||||
---|---|---|---|---|---|---|
param
(zorunlu)
|
dize | Parametrenin adı | ||||
label
(zorunlu)
|
dize |
Parametrenin kısa açıklaması Parametrenin değer |
||||
description
(isteğe bağlı)
|
dize |
Parametrenin ayrıntılı açıklaması Parametrenin değer Markdown'ı destekler | ||||
type
(isteğe bağlı)
|
dize |
Kullanıcının parametre değerini nasıl ayarladığına ilişkin giriş mekanizması ( (ör. doğrudan metin girin veya açılır listeden seçin) Geçerli değerler aşağıdakileri içerir:
Bu alan atlanırsa parametre varsayılan olarak |
||||
options
(type parametresi varsa gereklidir
select veya multiSelect )
|
list |
Kullanıcının seçim yapabileceği değerlerin listesi
|
||||
resourceType
(type parametresi varsa gereklidir
(selectResource )
|
dize |
Kullanıcıdan seçim yapmasını istenecek Firebase kaynağının türü. Şu anda kaynak seçicileri yalnızca Cloud Storage paketleri desteklemektedir:
Bilinmeyen |
||||
example
(isteğe bağlı)
|
dize |
Parametre için örnek değer |
||||
validationRegex
(isteğe bağlı)(yalnızca type parametresi
string )
|
dize |
Parametrenin kullanıcı tarafından yapılandırılan değerinin doğrulanması için normal ifade dizesi Normal ifade, go kitaplığı kullanılarak derlenir: RE2 Doğrulamayla ilgili ayrıntılar için şuraya bakın: Doğrulama ve hata aşağıdaki bölüme bakın. |
||||
validationErrorMessage
(isteğe bağlı)
|
dize |
Hata mesajlarıyla ilgili ayrıntılar için şuraya bakın: Doğrulama ve hata aşağıdaki bölüme bakın. |
||||
default
(isteğe bağlı)
|
dize |
Kullanıcı, parametrenin değer boş Geçerliyse, veri analizi için
otomatik olarak doldurulan parametre değeri
|
||||
required
(isteğe bağlı)
|
boolean |
Kullanıcının boş dize gönderip gönderemeyeceğini tanımlar parametrenin değeri istendi
|
||||
immutable
(isteğe bağlı)
|
boolean |
Kullanıcının parametrenin değerini (örneğin, yeniden yapılandır ekleyin)
Not: Bir
"konum"
parametresini kullanabilirsiniz.
parametresine bu |
Kullanıcı tarafından yapılandırılmış değerler için doğrulama ve hata mesajları
string
öğesinin type
ile bir parametre oluşturduğunuzda, aşağıdakileri tanımlamanız gerekir:
parametresinden bağımsız olarak,
validationRegex
alanına ait verilerin gösterilmesini engelleyebilirsiniz.
Ayrıca birçok uzantı için yaygın olarak istenen bir parametre değeri, yolu veya Cloud Storage paketi olabilir. Yükleme, yeniden yapılandırma veya Uzantılar hizmeti, aşağıdaki bilgileri giriş parametre değerinin zamanı:
- Belirtilen veritabanının veya Cloud Storage paketinin kullanıcının Firebase projesi
- Belirtilen veritabanı yolunun kullanıcının veritabanında mevcut olup olmadığı
Ancak uzantı, kaynaklarını gerçekten dağıttığında Firebase konsolu veya Firebase CLI, şu durumlarda hata mesajı gösterir: başvurulan veritabanı veya Cloud Storage paketi projede henüz ayarlanmamış.
Şuradaki kullanıcıları bilgilendirmenizi kesinlikle öneririz:
PREINSTALL
dosya
Böylece, uzantıyı yüklediklerinde
düzgün şekilde yüklendiğini ve beklendiği gibi çalıştığını gösterir.
Sistem parametreleri
Sistem parametreleri, bir uzantıya ait kaynakların temel yapılandırmasını kontrol eder. Kaynak yapılandırmasını kontrol etmeleri gerektiğinden, işlev kodunuzdan ortam değişkenleri olarak erişilemez.
Normalde bu parametreler için
extension.yaml
Her uzantı örneği için otomatik olarak tanımlanırlar.
ve kullanıcılar uygulamanızı yüklediklerinde özel değerler ayarlama
uzantısına sahip olur.
Ancak uzantınızın özel kaynak gereksinimleri varsa
extension.yaml
uygulamasında kaynak başına belirli değerler belirleyebilirsiniz.
Kaynak başına bu yapılandırma ayarları, kullanıcının uzantısını geçersiz kılar
örnek genelinde ayarlar.
Örneğin:
resources:
- name: high_memory_function
type: firebaseextensions.v1beta.function
description: >-
This function needs at least 1GB of memory!
properties:
httpsTrigger: {}
runtime: nodejs18
availableMemoryMb: 1024
- name: normal_function
type: firebaseextensions.v1beta.function
description: >-
This function has no special memory requirements. It will use the
default value, or the value of `firebaseextension.v1beta.function/memory`
properties:
httpsTrigger: {}
runtime: nodejs18
Kullanılabilir sistem parametreleri şunlardır:
Ad | Etiket (insan dostu) | properties dilinde karşılık gelen alan |
Açıklama |
---|---|---|---|
firebaseextensions.v1beta.function/konum | Konum | location |
Cloud Functions hangi bölgeye dağıtılmalıdır? |
firebaseextensions.v1beta.function/bellek | İşlev belleği | memory |
Her işlev için kaç megabayt bellek ayrılmalıdır? |
firebaseextensions.v1beta.function/timeoutSeconds | İşlev zaman aşımı | timeout |
İşlevler zaman aşımına uğramadan önce kaç saniye çalışmalıdır? |
firebaseextensions.v1beta.function/vpcConnectorEgressSettings | VPC Bağlayıcısı Çıkışı | vpcConnectorEgressSettings |
Bir VPC bağlayıcısı yapılandırıldığında giden trafiği kontrol eder |
firebaseextensions.v1beta.function/vpcConnector | VPC Bağlayıcısı | vpcConnector |
Cloud Functions'ı belirtilen VPC bağlayıcısına bağlar. |
firebaseextensions.v1beta.function/minInstances | Minimum işlev örnekleri | minInstances |
Bu işlevin aynı anda çalışacak minimum örnek sayısı |
firebaseextensions.v1beta.function/maxInstances | Maksimum işlev örneği sayısı | maxInstances |
Bu işlevin aynı anda çalışacak maksimum örnek sayısı |
firebaseextensions.v1beta.function/ingressSettings | Giriş Ayarları | ingressSettings |
Gelen trafiğin nereden kabul edildiğini kontrol eder |
firebaseextensions.v1beta.function/labels | Etiketler | labels |
Uzantıdaki tüm kaynaklara uygulanacak etiketler |