Key-value opslag, of hoe onze applicaties gebruiksvriendelijker werden

Key-value opslag, of hoe onze applicaties gebruiksvriendelijker werden

Wie ontwikkelt op Voximplant, begrijpt het concept van "applicaties", die cloudscenario's, telefoonnummers, gebruikers, regels en belqueues met elkaar verbinden. Simpel gezegd zijn applicaties de hoeksteen van de ontwikkeling op ons platform, het toegangspunt tot iedere oplossing gebaseerd op Voximplant, aangezien alles begint met het creƫren van een applicatie.

Vroeger "vergeet" een applicatie noch de acties die door de scenario's worden uitgevoerd, noch de resultaten van berekeningen, zodat ontwikkelaars gedwongen waren om waarden op externe services of op hun backend op te slaan. Als je ooit met local storage in een browser hebt gewerkt, lijkt onze nieuwe functionaliteit hier erg op, omdat het applicaties in staat stelt om "sleutel-waarde" paren te onthouden die uniek zijn voor elke applicatie in jouw account. Het functioneren van de opslag is mogelijk gemaakt door een nieuwe module. ApplicationStorage – onder deze link vind je een korte handleiding over het gebruik ervan, welkom!

Je hebt nodig

  • een Voximplant-account. Als je er geen hebt, de registratie is hier.;
  • een Voximplant-applicatie, evenals een scenario, regel en ƩƩn gebruiker. Dit alles zullen we in deze tutorial creĆ«ren;
  • een webclient om te bellen – laten we onze webphone gebruiken. phone.voximplant.com.

Voximplant-instellingen

Log eerst in op je account: manage.voximplant.com/auth. Klik in het menu aan de linkerkant op "Applicaties", daarna op "Nieuwe applicatie" en maak een applicatie met de naam storage. Ga naar de nieuwe applicatie, schakel over naar het tabblad "Scenario's" om het scenario countingCalls te maken met de volgende code:

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('Fout bij het ophalen van de totalCalls waarde');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Fout bij het bijwerken van de totalCalls waarde');
    }
    
    e.call.answer();
    e.call.say(`Welkom. Aantal eerdere oproepen: ${r.value}. `, Language.RU_RUSSIAN_MALE);

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

});

De eerste regel laadt de ApplicationStorage-module, de rest van de logica is opgenomen in de gebeurtenishandler. CallAlerting.

Eerst definiƫren we een variabele zodat we de initiƫle waarde kunnen vergelijken met de belwaarde. Vervolgens proberen we de waarde van de sleutel totalCalls uit de opslag te halen. Als zo'n sleutel nog niet bestaat, maken we deze aan:

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

Daarna moeten we de waarde van de sleutel in de opslag verhogen:

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

LET OP

Voor elke belofte moet u expliciet omgaan met fouten, zoals weergegeven in de bovenstaande listing – anders wordt de uitvoering van het script gestopt en ziet u een fout in de logs. Details here.

Na interactie met de opslag beantwoordt het script een binnenkomende oproep met spraaksynthese en vertelt het u hoeveel keer u eerder heeft gebeld. Na dit bericht beƫindigt het script de sessie.

Nadat u het script heeft opgeslagen, gaat u naar het tabblad 'Routing' van uw applicatie en klikt u op 'Nieuwe regel'. Geef het de naam startCounting, geef het script countingCalls op en laat het patroon op de standaardwaarde (.*).

Key-value opslag, of hoe onze applicaties gebruiksvriendelijker werden
Ten slotte – maak een gebruiker aan. Ga naar 'Gebruikers', klik op 'Gebruiker aanmaken', geef een naam op (bijvoorbeeld user1) en een wachtwoord, en klik vervolgens op 'Aanmaken'. Dit paar gebruikersnaam-wachtwoord hebben we nodig voor authenticatie in de webtelefoon.

Controleer

Open de webtelefoon via de link phone.voximplant.com en log in met de accountnaam, de naam van de applicatie en het paar gebruikersnaam-wachtwoord van de gebruiker uit de applicatie. Na succesvolle aanmelding typt u een willekeurige reeks tekens in het invoerveld en drukt u op Call. Als alles goed is gedaan, hoort u de gesynthetiseerde begroeting!

We wensen u veel plezier met de ontwikkeling op Voximplant en blijf op de hoogte van het nieuws – er komt nog veel meer! šŸ˜‰

Bron: habr.com

Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers šŸ”„ Koop betrouwbare webhosting met bescherming tegen DDoS, VPS VDS servers | ProHoster