#VS2017– Azure WebApi App, Amazon Alexa Skills y el error “I’m not sure what went wrong” (te cansas de escucharlo!)

Buenas!

Hace poco mas de un mes Amazon lanzo oficialmente su línea de Amazon Echo en Canada. En Avanade tendremos un evento especialmente dedicado a temas de Artificial Intelligence y Voice Interfaces. Y, ahora que ya ha pasado la época de fiestas, creo que es momento para compartir algunas de las lecciones aprendidas durante los últimos meses trabajando con Alexa Skills.

Simplificando mucho el funcionamiento de una Skill, podríamos decir que la misma es la que nos permite conectar el procesamiento de audio de Amazon Echo con un servicio HTTP. Por defecto Amazon nos propone utilizar una AWS Lambda. Si cambiamos al mundo de Azure, tenemos varias opciones, por ejemplo, utilizar una Azure Function o un website en una AppService.

I1

Yo opte por esta 2da opción y luego llegó el momento de configurar mis Controllers para que sean compatibles con las peticiones POST que realiza mi Amazon Skill.

Nota: Si trabajas con .Net hay un NuGet package para esto, AlexaSkillsKit.Net

Luego de configurar mis Intents, Slots y cerrar el funcionamiento de mi Skill, llego el momento de probarlo. En el tester mas minimalista de la historia de internet todo funcionaba OK.

I2

Las peticiones que realizaba mi Alexa Skills se comunicaban correctamente con mi App Service en Azure. Inclusive en el nuevo Test Simulator (Beta) todo funcionaba correctamente.

I3

Nota: El 2do es un simulador de test serio. La interfaz por defecto de test es, como decirlo sin ofender a nadie, “muy simple”.

Pues bien, todo funcionando perfectamente hasta el momento de probarlo en el Amazon Echo. Cada vez que lo probaba, Alexa me decía la siguiente frase:

“I’m not sure what went wrong”

I4

Estuve bastante tiempo intentando encontrar el error. Habilite todo tipo de trazas, tanto en Azure como en las Skills, y no pude encontrar nada que funcione mal. En esos momentos suelo aprovechar para salir a correr y despejarme un poco, aunque con el frio que hizo en estos días, tuve que relajarme de otras formas.

I5

La solución llego cuando estaba mostrándole a mi chica y a mis enanos, como programar una Skill. Estuve pensado crear algo con Scratch para que mis enanos puedan crear sus propias conversaciones / Skills con Alexa, cuando me di cuenta que:

Tenía configurado mi device con Language English (Canada) y que cuando se crea una Skill, por defecto la misma se crea en English (U.S).

I6

Nota: Sigue siendo English, pero se ve que los amigos de Amazon, son delicados al respecto 😀 Hay motivos muy claros del porque las Skills tienen que estar identificadas por país, cuestiones legales, de copyright y otros.

Pues bien, en este momento tengo 2 soluciones para que mis Skills funcionen

  • Cambiar la ubicación del device a United States
  • Agregar un nuevo Language a mi Alexa Skill

I7

Obviamente lo mejor es la 2da opción. Y, si bien no es tan trivial como parece, una vez que mi Skill soporta el nuevo lenguaje, ya no tengo que lidiar mas con la hermosa frase

“I’m not sure what went wrong”

¡Y por fin pude seguir probando mis Skills en el device!

En próximos posts comentare la forma rápida en la que he aprendido a tener una Skill con múltiples lenguajes.

Happy Coding!

Saludos @ Burlington

El Bruno

References

Advertisements

One thought on “#VS2017– Azure WebApi App, Amazon Alexa Skills y el error “I’m not sure what went wrong” (te cansas de escucharlo!)

  1. Fantastic website. Lots of useful info here. I’m sending it to several buddies ans also sharing in delicious. And of course, thanks on your effort!

    Like

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

w

Connecting to %s