Úložiště key-value, nebo jak se naše aplikace staly pohodlnějšími

Úložiště key-value, nebo jak se naše aplikace staly pohodlnějšími

Každý, kdo vyvíjí na Voximplant, ví o konceptu „aplikací“, které propojují cloudové scénáře, telefonní čísla, uživatele, pravidla a fronty hovorů. Jinými slovy, aplikace jsou základním kamenem vývoje na naší platformě, vstupním bodem do jakéhokoli řešení založeného na Voximplant, protože právě vytvořením aplikace vše začíná.

Dříve aplikace „nepamatovaly“ ani akce, které scénáře vykonávaly, ani výsledky výpočtů, takže vývojáři byli nuceni ukládat hodnoty ve třetích službách nebo na svém backendu. Pokud jste někdy pracovali s local storage v prohlížeči, naše nová funkce je velmi podobná, protože umožňuje aplikacím pamatovat si páry „klíč-hodnota“, které jsou jedinečné pro každou aplikaci ve vašem účtu. Funkčnost úložiště byla umožněna díky novému modulu ApplicationStorage – pod tímto odstavcem najdete stručného průvodce jeho použitím, vítejte!

Budete potřebovat

  • účet Voximplant. Pokud ho ještě nemáte, registrace je zde;
  • aplikaci Voximplant, jakož i scénář, pravidlo a jednoho uživatele. To vše vytvoříme v tomto tutoriálu;
  • webového klienta, abychom mohli uskutečnit hovor – použijeme náš webový telefon phone.voximplant.com.

Nastavení Voximplant

Nejprve se přihlaste do svého účtu: manage.voximplant.com/auth. V levém menu klikněte na „Aplikace“, poté na „Nová aplikace“ a vytvořte aplikaci s názvem storage. Přejděte do nové aplikace, přepněte na kartu „Scénáře“, abyste vytvořili scénář countingCalls s tímto kódem:

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('Chyba při získávání hodnoty totalCalls');
    }

    try {
        await ApplicationStorage.put('totalCalls', (r.value | 0) + 1);
    } catch(e) {
        Logger.write('Chyba při aktualizaci hodnoty totalCalls');
    }
    
    e.call.answer();
    e.call.say(`Vítám vás. Počet předchozích hovorů: ${r.value}. `, Language.RU_RUSSIAN_MALE);

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

});

První řádek připojuje modul ApplicationStorage, zbytek logiky je umístěn v obslužné rutině události CallAlerting.

Nejprve deklarujeme proměnnou, abychom mohli porovnat počáteční hodnotu s počitadlem hovorů. Poté se pokusíme získat hodnotu klíče totalCalls ze skladu. Pokud takový klíč dosud neexistuje, vytvoříme ho:

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

Dále je potřeba zvýšit hodnotu klíče ve skladu:

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

POZOR

Pro každý příslib je nezbytné jasně uvést zpracování selhání, jak je uvedeno ve výše uvedeném seznamu – jinak se provádění skriptu zastaví a v logu uvidíte chybu. Podrobnosti tady.

Po práci se skladem skript odpovídá na příchozí hovor pomocí syntézy hlasu a říká, kolikrát jste volali předtím. Po této zprávě skript ukončí relaci.

Po uložení skriptu přejděte na záložku "Směrování" vaší aplikace a klikněte na "Nové pravidlo". Pojmenujte ho startCounting, zadejte skript countingCalls a nechte masku výchozí (.*).

Úložiště key-value, nebo jak se naše aplikace staly pohodlnějšími
Nakonec – vytvořte uživatele. K tomu přejděte na "Uživatelé", klikněte na "Vytvořit uživatele", zadejte jméno (například user1) a heslo, poté klikněte na "Vytvořit". Tato dvojice přihlašovacích údajů bude potřebná pro autentizaci ve webovém telefonu.

Kontrolujeme

Otevřete webový telefon na odkazu phone.voximplant.com a přihlaste se pomocí názvu účtu, názvu aplikace a páru přihlašovacích údajů uživatele z aplikace. Po úspěšném přihlášení zadejte libovolnou posloupnost znaků do vstupního pole a klikněte na Call. Pokud bylo vše provedeno správně, uslyšíte syntetizovaný pozdrav!

Přejeme vám skvělé programování na Voximplant a sledujte novinky – máme jich ještě hodně 😉

Zdroj: habr.com

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster