Parametreler, kullanıcının yüklenen her bir öğeyi özelleştirdiği mekanizmadır örneğidir. Parametreler, uzantı için ortam değişkenleri gibidir. 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 olur.
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 veya uzantıya özgüdür (ör. default Storage paketi) uzantının örnek kimliğini girin).
Otomatik olarak doldurulan tüm parametre değerleri sabittir. Bu ayarlar, proje oluşturulurken veya uzantı yüklenirken belirlenir.
Firebase, uzantı için bu parametre değerlerini otomatik olarak doldursa da Firebase, kurulum sırasında ilişkili ürünleri kullanıcı için otomatik olarak sağlamaz. Uzantıyı yükleyen kullanıcı, yüklemeden önce projelerinde ilişkili ve geçerli ürünleri etkinleştirmelidir. Örneğin, uzantınız Cloud Firestore içeriyorsa kullanıcının projelerinde Cloud Firestore'yi ayarlaması gerekir. Kullanıcılarınızı bu gereksinimlerle ilgili olarak bilgilendirmenizi öneririz:
PREINSTALL.md
dosyası olduğundan emin olun.
Otomatik olarak doldurulan 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,
|
İlk yüklenen örnek için genelleştirilmiş biçim (Firebase tarafından otomatik olarak atanır; yükleme sırasında 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ılan 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 bir params
bölümü örneği ve ardından mevcut tüm parametre alanlarını açıklayan bir tablo verilmiştir.
# 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 şunlardır:
Bu alan atlanırsa parametre varsayılan olarak |
||||
options ( type parametresi select veya multiSelect ise gereklidir)
|
list |
Kullanıcının seçim yapabileceği değerlerin listesi
|
||||
resourceType ( type parametresi selectResource ise zorunludur)
|
dize |
Kullanıcıdan seçmesini isteyeceğiniz Firebase kaynağı türü. Şu anda kaynak seçicileri yalnızca Cloud Storage paket 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 iletişim bilgileri bölümüne bakın. |
||||
default (isteğe bağlı) |
dize |
Kullanıcı, parametrenin varsayılan değerinden ayrılırsa değer boş Geçerliyse
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 Extensions hizmeti, aşağıdaki bilgileri doğrulamaz 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 konsolunda veya Firebase CLI, şu durumlarda hata mesajı gösterir: başvurulan veritabanı veya Cloud Storage paketi henüz projede 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şkeni olarak erişilemezler.
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.fonksiyon/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ıştırılması gereken 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 edileceğini kontrol eder. |
firebaseextensions.v1beta.function/labels | Etiketler | labels |
Uzantıdaki tüm kaynaklara uygulanacak etiketler |