Key-value lagring, eller hvordan vores applikationer er blevet mere praktiske

Key-value lagring, eller hvordan vores applikationer er blevet mere praktiske

Den, der udvikler pÄ Voximplant, kender til konceptet "applikationer", der forbinder cloud-scenarier, telefonnumre, brugere, regler og opkaldskÞer. For at sige det enkelt, er applikationer hjÞrnestenen i udviklingen pÄ vores platform, indgangspunktet for enhver Voximplant-baseret lÞsning, da alt begynder med oprettelsen af en applikation.

Tidligere "huske" applikationer hverken handlinger, som scenarier udfĂžrte, eller resultater af beregninger, sĂ„ udviklere var tvunget til at gemme vĂŠrdier i tredjepartstjenester eller pĂ„ deres egen backend. Hvis du nogensinde har arbejdet med local storage i din browser, sĂ„ er vores nye funktionalitet meget lig dette, da den giver applikationer mulighed for at gemme "nĂžgle-vĂŠrdi"-par, der er unikke for hver applikation i din konto. Arbejdet med opbevaringssystemet blev muligt takket vĂŠre den nye modul ApplicationStorage — under kan du finde en kort guide til, hvordan du bruger den, velkommen!

Du vil have brug for

  • en Voximplant-konto. Hvis du ikke har en, sĂ„ tilmeld dig her;
  • en Voximplant-applikation, samt et scenarie, en regel og Ă©n bruger. Alt dette vil vi oprette i denne tutorial;
  • en webklient for at foretage et opkald – vi vil bruge vores webtelefon phone.voximplant.com.

Voximplant-indstillinger

Log fÞrst ind pÄ din konto: manage.voximplant.com/auth. I menuen til venstre skal du klikke pÄ "Applikationer", derefter "Ny applikation" og oprette en applikation ved navn storage. GÄ ind i den nye applikation, skift til fanen "Scenarier" for at skabe scenariet countingCalls med fÞlgende kode:

require(Modules.ApplicationStorage);

VoxEngine.addEventListener(AppEvents.CallAlerting, async (e) => {
let r = {value: -1};

    try {
        r = await ApplicationStorage.get('totalCalls');
        if (r === null) {
            r = await ApplicationStorage.put('totalCalls', 0);
        }
    } catch(e) {
        Logger.write('Fejl ved hentning af totalCalls vĂŠrdi');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Fejl ved opdatering af totalCalls vĂŠrdi');
    }
    
    e.call.answer();
    e.call.say(`Hej. Antal tidligere opkald: ${r.value}. `, Language.RU_RUSSIAN_MALE);

    e.call.addEventListener(CallEvents.PlaybackFinished, VoxEngine.terminate);

});

Den fĂžrste linje tilslutter modulet ApplicationStorage, mens den Ăžvrige logik er placeret i begivenhedshandleren CallAlerting.

FÞrst erklÊrer vi en variabel, sÄ vi kan sammenligne startvÊrdien med antallet af opkald. Derefter forsÞger vi at fÄ vÊrdien af nÞglen totalCalls fra lageret. Hvis en sÄdan nÞgle ikke findes, opretter vi den:

try {
    r = await ApplicationStorage.get('totalCalls');
    if (r === null) {
        r = await ApplicationStorage.put('totalCalls', 0);
    }
}

DernĂŠst skal vi Ăžge vĂŠrdien af nĂžglen i lageret:

try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    }

BEMÆRK

For hver promise er det nĂždvendigt at angive en fejlhĂ„ndtering, som vist i ovenstĂ„ende listning – ellers vil scriptets udfĂžrelse stoppe, og du vil se en fejl i loggene. Detaljer her.

Efter arbejdet med lageret svarer scriptet pÄ det indgÄende opkald ved hjÊlp af talesyntese og fortÊller, hvor mange gange du har ringet fÞr. Efter denne meddelelse afslutter scriptet sessionen.

Efter at du har gemt scriptet, skal du gÄ til fanen "Routing" i din applikation og klikke pÄ "Nyt regel". Navngiv det startCounting, angiv scriptet countingCalls, og efterlad masken som standard (.*).

Key-value lagring, eller hvordan vores applikationer er blevet mere praktiske
Det sidste – opret en bruger. GĂ„ til "Brugere", klik pĂ„ "Opret bruger", angiv et navn (for eksempel user1) og en adgangskode, og klik derefter pĂ„ "Opret". Dette login-adgangskodepar vil vi fĂ„ brug for til autentificering i webtelefonen.

Vi tjekker

Åbn webtelefonen via linket phone.voximplant.com og log ind med kontonavnet, applikationens navn og brugerens login-adgangskodepar fra applikationen. Efter den vellykkede login skal du indtaste en vilkĂ„rlig sekvens af tegn i inputfeltet og klikke pĂ„ Opkald. Hvis alt var gjort korrekt, vil du hĂžre den syntetiserede hilsen!

Vi Ăžnsker dig en fantastisk udvikling pĂ„ Voximplant, og hold Ăžje med nyhederne – vi har meget mere pĂ„ vej 😉

Kilde: habr.com

KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere đŸ”„ KĂžb pĂ„lidelig webhosting med DDoS-beskyttelse, VPS VDS-servere | ProHoster