English

Ce sunt funcțiile HubSpot fără server (Serverless)?

Ce sunt funcțiile HubSpot fără server (Serverless)?
07.03.2023
Atenție: Acest articol are peste un an. Unele informații ar putea fi depășite. Vă recomandăm să citiți documentația recentă sau să discutați cu unul dintre experții noștri.

Funcțiile fără server HubSpot sunt o modalitate excelentă de a simplifica procesul de transfer de date între sisteme. Prin eliminarea necesității de middleware, companiile pot economisi timp și bani prin reducerea complexității transferului de date. Cu ajutorul funcțiilor fără server HubSpot, companiile pot transfera rapid și sigur datele de la un sistem la altul fără a se preocupa de configurarea unor soluții middleware complexe.

Acest lucru le permite să se concentreze pe operațiunile de bază ale afacerii lor în loc să se preocupe de transferul de date. În plus, aceste funcții oferă, de asemenea, un mediu sigur pentru transferul de date, deoarece sunt găzduite pe infrastructura cloud securizată a platformei HubSpot.

Ce este o funcție fără server?

Aceste funcții permit companiilor să implementeze rapid codul fără a gestiona serverele, permițându-le să se concentreze pe activitatea lor de bază. Funcțiile fără server sunt o caracteristică programatică cu un singur scop a calculului fără server - numit și "serverless" - un model de execuție de cloud computing în care furnizorul de cloud furnizează resurse de calcul la cerere pentru clienții săi și gestionează toate arhitecturile, inclusiv infrastructura de cloud..

Cu funcțiile fără server de la HubSpot, companiile pot crește și reduce activitatea în funcție de situație, răspunzând rapid la schimbările de pe piață și la cererile clienților.

Puncte slabe ale funcțiilor fără server HubSpot

Acestea sunt menite să fie rapide și să te ajute să fii independent fără să plătești sau să achiziționezi un server. Dar au și limite. Potrivit site-ului HubSpot, acestea sunt limitate la:

  • 50 secrets pe cont.
  • 128MB memorie.
  • Până la 100 de endpoints per cont HubSpot.
  • Tipul de conținut application/json atunci când apelezi o funcție.
  • 6MB viteză atunci când se încarcă un fișier.
  • 4KB pentru cantitatea de date care poate fi înregistrată.
  • Fiecare funcție are un timp de execuție de maximum 10 secunde.
  • Fiecare cont este limitat la 600 de secunde totale de execuție pe minut.

Tipuri de funcții fără server

Se pot crea două tipuri de funcții: endpoint functions și app functions. Acestea vor fi definite în fișierul serverless.json .

  1. API endpoint function - aceasta creează puncte finale API publice în domeniile conectate la contul tău HubSpot.
  2. App function - este utilizată doar de o extensie a unei aplicații. Nu poate fi accesată public; trebuie să le conectezi cu tokenul de acces al aplicației private.

Resursele necesare pentru a începe

În timp ce te gândești să folosești această opțiune, trebuie să te asiguri că ai toate resursele necesare:

  • Acces la un cont CMS Hub Enterprise sau la un cont CMS Developer Sandbox.
  • Cunoștințele tehnice și abilitățile de ale folosi.
  • Ești obișnuit cu uneltele de dezvoltare HubSpot.
  • Verifică și actualizează, dacă este necesar, versiunea ta de instrumente de dezvoltare HubSpot. Asigură-te că ai cea mai recentă versiune.
  • Un pas important este să te asiguri că folosești instrumentele de dezvoltare conectate cu contul tău HubSpot.

Cum se crează o funcție fără server

Pentru a crea o funcție fără server, mai întâi trebuie să creezi fișierul ce asigură funcționalitatea, adică trebuie să creezi fișierul JavaScript.

Funcția primește două argumente pe care trebuie să le ai în vedere:

  1. Context - conține datele trimise către funcție. În funcție de scopul funcției, datele sunt diferite. După definirea proprietătilor propertiesToSend în configurația JSON și contextul, acestea sunt transmise funcției fără server.
  2. Callback – conține datele primite după ce sarcina este finalizată. Acesta este răspunsul la acțiunea mea anterioară.

Cum se poate configura o funcție fără server HubSpot

Conform site-uluiHubSpot, poți configura următoarele proprietăți ale fișierului serverless.json :

PARAMETRU TIP DESCRIERE
runtime String Mediul de rulare. Suportă următoarele versiuni Node.js:
  • Node 16 (nodejs16.x)
  • Node 14 (nodejs14.x)
version String Versiunea schemei de funcții fără server a HubSpot. Versiunea curentă este 1.0 ("1.0").
secrets Array Valori folosite pentru autentificare, precum cheile API. Această valoare desemnează numele secretului, nu valoarea acestuia. Nu adăuga valori secrete direct în acest fișier.
environment Object Variabilele de configurare sunt trimise funcției de execuție ca variabile de mediu în momentul rulării. Poți utiliza acest lucru pentru a adăuga o logică în utilizarea unei versiuni de testare a unui API, în loc de lucrul real bazat pe o variabilă de mediu.
endpoints Object Folosește această proprietate în crearea punctelor publice finale de API pentru domeniile conectate la contul tău de HubSpot.
appFunctions Object Folosește această proprietate pentru a desemna funcțiile fără server ca parte a unei extensii dintr-o aplicație.

Cum să începi

Atunci când te gândești să creezi o funcție fără server, este posibil să vrei să urmezi următorii pași:

  1. Crează un folder al proiectului
    • Deschide fișierul hubspot.config.yml și verifică dacă ești conectat cu contul tău.
    • Accesează dosarele locale de pe computerul tău.
    • Deschide folderul ce conține fișierul tău hubspot.config.yml.
    • Aici, crează folderul serverless-tutorial.
    • Rulează comanda watch pentru ca orice modificare pe care o faci să fie încărcată automat în modulul design manager:
  2. Crează un folder de funcții
    • Accesează folderul serverless-tutorial.
    • Creează folderul my-first-function.functions. Fișierele stocate aici nu sunt accesibile publicului.
  3. Creează un fișier de configurare
    • Accesează folderul my-first-function.functions.
    • Creează un fișier nou serverless.json.
    • Scrie codul de mai jos și salvează fișierul:
    Cofiguration File
  4. Crează un fișier de funcții
    • Accesează folderul my-first-function.functions.
    • Crează un fișier cu numele congratulation.js și scrie codul de mai jos. Acesta este fișierul ce va executa și va efectua o sarcină.
    • Function File
  5. Înregistrează-ți funcția în fișierul serverless.json
    • Accesează folderul my-first-function.functions.
    • Deschide fișierul serverless.json.
    • Identifică obiectul "endpoints".
    • Actualizează-l:
    • Function Register
  6. Testează-ți funcția

Access serverless functions

După ce ai verificat pașii de mai sus și ești sigur că ai toate resursele necesare, poți începe să le folosești. Poți găsi funcțiile serverless stocate în sistemul de fișiere pentru dezvoltatori și le poți accesa doar din managerul de proiectare. Le puteți găsi în interiorul unui folder functions căutând extensia .functions în nume.

Reține că toate fișierele stocate în acest dosar nu sunt publice. Poți bloca un folder în modulul design manager făcând clic dreapta pe dosar și selectând opțiunea Lock folder (Blocare dosar). Acest mod este cea mai sigură metodă de a dezactiva posibilitatea editării accidentale.

Accesați funcțiile fără server:

  • fișierul serverless.json – fișierul de configurare specifică mediul de execuție și orice variabile de mediu pe care intențiozi să le folosești în funcțiile tale.
  • fișierul .js – este funcția ta efectivă fără server. Aceasta trebuie să fie mapată la un punct final definit în fișierul anterior.
  • fișierul README markdown – ce conține scopul funcțiilor, modul în care acestea funcționează și procesul de construire al acestora.

Utilizarea funcțiilor fără server HubSpot elimină middleware-ul ce poate să apară atunci când transferi date între sistemul tău proprietar și HubSpot. O integrare HubSpot te ajută să te concentrezi pe creșterea companiei..

Rezervă o întâlnire!

Pașii pe scurt

Pasul 1: Creați un folder de funcții

În directorul proiectului local, creați un folder nou cu extensia '.functions', de exemplu: 'my-first-function.functions'.

Pasul 2: Creați fișierul de configurare serverless.json

În interiorul folderului de funcții, creați un fișier numit 'serverless.json' și definiți proprietățile de bază, cum ar fi 'runtime' (ex: nodejs16.x) și 'version'.

Pasul 3: Scrieți fișierul de funcție JavaScript

Creați un fișier .js (de ex., 'congratulation.js'). Exportați o funcție 'exports.main' care primește argumentele 'context' și 'callback'.

Pasul 4: Înregistrați funcția în serverless.json

În fișierul serverless.json, adăugați un obiect în secțiunea 'endpoints'. Specificați 'file' (calea către fișierul .js) și 'method' (ex: GET).

Pasul 5: Încărcați și testați funcția

Folosind HubSpot CLI, încărcați folderul de funcții în contul dvs. Accesați URL-ul public generat (ex: your-domain.com/_hcms/api/endpoint-name) pentru a testa.

Întrebări rapide

Ce înseamnă 'serverless' în contextul HubSpot?

'Serverless' nu înseamnă că nu există servere, ci că nu trebuie să le gestionați dvs. HubSpot se ocupă de alocarea resurselor, scalabilitate și mentenanță, permițându-vă să rulați cod backend (Node.js) direct din platforma lor.

De ce aș folosi funcții serverless în loc de un server propriu (middleware)?

Pentru a reduce costurile și complexitatea. Nu mai plătiți pentru un server care stă inactiv și nu mai trebuie să vă faceți griji pentru actualizări de securitate sau scalabilitate. Este ideal pentru integrări API și automatizări ușoare.

Am nevoie de un abonament special pentru a folosi funcții serverless în HubSpot?

Da, funcțiile serverless sunt disponibile pentru conturile HubSpot cu abonament CMS Hub Enterprise sau Operations Hub Enterprise. De asemenea, pot fi folosite gratuit în conturile de dezvoltator (developer accounts) pentru testare.

Care este concluzia (TLDR)?

Funcțiile serverless, bazate pe Node.js, permit dezvoltatorilor să creeze integrări personalizate prin API mult mai rapid. Prin eliminarea nevoii de a configura și menține un server intermediar, costurile de infrastructură sunt reduse, iar scalabilitatea este gestionată automat de HubSpot.

Care sunt tehnologiile și metodologiile implicate?

Tehnologii: HubSpot CMS Hub, JavaScript, Node.js, API, JSON
Metodologii: Calcul fără server (Serverless), Integrare de date, Automatizare, Dezvoltare web, Middleware

Marian Călborean

Articol scris de

Marian Călborean

Manager, arhitect software. PhD. logică

Vezi profil LinkedIn →
Interesat?

Ești interesat?

programează o întâlnire

Cere consultanță gratuită

Noutăți și ghiduri

Mai multe noutăți