Firebase Functions tartomány

Egyéni tartomány használata a Firebase Functions számára

Kész, tűz, tűz!

Sziasztok, Tom ide ír! Ha Ön lelkes felhasználója a Firebase-nek, akkor tudja, mennyire egyszerű kezelni valójában a háttér nélküli backendet. A Firebase Functions-nak köszönhetően egyszerűen megírom üzleti logikámat egyszerű funkcióként, ezt a funkciót telepítem a CLI-n keresztül, és a felhőből a bolygón mindenhol elérhetem. Maga a beállítás olyan egyszerű, hogy önmagában a telepítés csak néhány percet vesz igénybe. De van egy speciális eset a Firebase Functions esetében, amely további munkát igényelhet - egyéni tartomány használatával, és nem a Firebase által biztosítottal.

A kihívás

Ha csak a leírtak szerint telepíti a Firebase Functions funkciót, akkor a Google aldomain alatt kapja meg a gazdagépet, konkrétan a

cloudfunctions.net

Egyszerű használati esetekben leginkább erre van szükséged - csak telepítsd a dolgot, és tedd elérhetővé fogyasztás céljából. De más felhasználási esetek megkövetelik, hogy a háttérprogram elérhető legyen a domainje alatt. Ebben a példában a saját flaming.codes domainemet használom.

A beállítás

Itt vannak az előfeltételek, csak annak biztosítása érdekében:

  • beállított egy Firebase-projektet
  • a Hosting alatt beállította egyéni domainjét; ez egy egyszerű folyamat, amikor csak TXT-rekordot kell tárolnia a tárhelyszolgáltatónál

A konfig

Ahhoz, hogy az egyéni tartomány valóban ne csak a hosztolt webalkalmazásnál működjön, hanem a funkcióinak is, a firebase.json-t frissíteni kell (magyarázat a minta után):

{
  "functions": {
    ...
  },
  "hosting": {
    ...,
    "rewrites": [
      {
        "source": "/api/**",
        "function": "api"
      },
      {
        "source": "!/api/**",
        "destination": "/index.html"
      }
    ]
  },
  ...
}

Az egyetlen trükk, hogy működőképessé váljon, nem a funkciók, hanem a tárhelykulcs frissítése a firebase.json fájlban. Amit alapvetően csinálunk, azt mondjuk a Firebase-nek, hogy a hosztolt webalkalmazásunkból az / api / ... összes hívását át kell irányítani az api nevű függvényre. A legtovább a második elem volt, ahol kifejezetten minden más útvonalat be kell jelentenem, mint az api alapértelmezett webalkalmazás-útvonalként.

Az alábbi beállítások használatával a régi felhő funkciót

https://uscentral1-flaming-codes.cloudfunctions.net/api

ezért válik

https: //flaming.codes/api / ...

Vegye figyelembe, hogy itt fontos a sorrend, az átírási szabályok az elsőtől az utolsó elemig kerülnek feldolgozásra, tehát ebben az esetben vizuálisan felülről lefelé. Helyettesítő karakter használata az összes funkció újbóli feltérképezéséhez valójában nem ajánlott általános használatra, mivel ez megszakítaná a webalkalmazást.

Tekerje be

És igen, ez valóban nem varázslat, de nagy segítséget nyújthat a Firebase Functions használatakor bizonyos felhasználási esetekben. Láttuk, hogyan írhatja át a felhőfunkcióit a már regisztrált tartomány részeként, így megszűnik az új, egyéni aldomain követelménye - bár ez is lehetséges, de nem tartozik az oktatóanyag körébe.

  • Tom