Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Tutorial: Crear una canalización que implemente una habilidad de Amazon Alexa
En este tutorial, puede configurar una canalización que enviará constantemente la habilidad de Alexa mediante Alexa Skills Kit como proveedor de implementación en la etapa de implementación. La canalización completa detecta cambios en la habilidad cuando se realiza un cambio en los archivos de código fuente en el repositorio de código fuente. Esto hace que la canalización utilice Alexa Skills Kit para realizar la implementación en la etapa de desarrollo de la habilidad de Alexa.
importante
Como parte de la creación de una canalización, se utilizará un depósito de artefactos de S3 proporcionado por el cliente CodePipeline para los artefactos. (Es diferente del bucket que se usa para una acción de origen de S3). Si el depósito de artefactos de S3 está en una cuenta diferente a la de tu canalización, asegúrate de que el depósito de artefactos de S3 pertenezca a una Cuentas de AWS persona segura y fiable.
nota
Esta característica no está disponible en las regiones de Asia Pacífico (Hong Kong) ni Europa (Milán). Para utilizar otras acciones de implementación disponibles en esa región, consulte Integraciones de acciones de implementación.
Para crear una habilidad personalizada como una función Lambda, consulte Hospedar una habilidad personalizada como una función Lambda AWS
Requisitos previos
Debe disponer de lo siguiente:
-
Un CodeCommit repositorio. Puedes usar el AWS CodeCommit repositorio en el que lo creasteTutorial: Crear una canalización sencilla (repositorio de CodeCommit).
-
Una cuenta de desarrollador de Amazon. Esta cuenta es la propietaria de las habilidades de Alexa. Puede crear una cuenta de forma gratuita en Alexa Skills Kit
. -
Una habilidad de Alexa. Puede crear una habilidad de ejemplo mediante el tutorial que describe cómo obtener código de muestra de habilidades personalizadas
. -
Instale la CLI de ASK y configúrela utilizando
ask init
con sus credenciales de AWS . Consulte Install and initialize ASK CLI.
Paso 1: Crear un perfil de seguridad de LWA para los servicios de desarrolladores de Alexa
En esta sección, debe crear un perfil de seguridad para utilizarlo con Login with Amazon (LWA). Si ya tiene un perfil, puede omitir este paso.
-
Utilice los pasos que se indican en generate-lwa-tokens
para crear un perfil de seguridad. -
Después de crear el perfil, anote el Client ID (ID de cliente) y el Client Secret (Secreto de cliente).
-
Asegúrese de introducir la devolución permitida tal y URLs como se indica en las instrucciones. El comando URLs allow the ASK CLI redirija las solicitudes de token de actualización.
Paso 2: Crea los archivos fuente de habilidades de Alexa y envíalos a tu CodeCommit repositorio
En esta sección, debe crear y enviar los archivos de código fuente de la habilidad de Alexa al repositorio que utiliza la canalización para la etapa de código fuente. Para la habilidad que ha creado en la consola para desarrolladores de Amazon, debe crear y enviar lo siguiente:
-
Un archivo
skill.json
. -
Una carpeta
interactionModel/custom
nota
Esta estructura de directorios cumple con los requisitos de formato del paquete de habilidades de Alexa Skills Kit, tal y como se describe en Skill package format
. Si la estructura de directorios no utiliza el formato de paquete de habilidades correcto, los cambios no se implementan correctamente en la consola de Alexa Skills Kit.
Para crear los archivos de código fuente de la habilidad
-
Recupere el ID de habilidad de la consola para desarrolladores de Alexa Skills Kit. Utilice este comando:
ask api list-skills
Localice la habilidad por su nombre y a continuación, copie el ID asociado en el campo
skillId
. -
Genere un archivo
skill.json
que contenga los detalles de la habilidad. Utilice este comando:ask api get-skill -s
skill-ID
> skill.json -
(Opcional) Cree una carpeta
interactionModel/custom
.Utilice este comando para generar el archivo del modelo de interacción en la carpeta. Para la configuración regional, este tutorial utiliza en-US como configuración regional del nombre de archivo.
ask api get-model --skill-id
skill-ID
--localelocale
> ./interactionModel/custom/locale
.json
Para enviar archivos a tu CodeCommit repositorio
-
Envía o sube los archivos a tu CodeCommit repositorio. Estos archivos son el artefacto de código fuente creado por el asistente Create Pipeline (Crear canalización) para la acción de implementación en AWS CodePipeline. Sus archivos deberían ser parecidos a estos en su directorio local:
skill.json /interactionModel /custom |en-US.json
-
Elija el método que desea usar para cargar los archivos:
-
Para utilizar la línea de comandos de Git desde un repositorio clonado en el equipo local:
-
Ejecute el siguiente comando para preparar todos los archivos de una vez:
git add -A
-
Ejecute el siguiente comando para confirmar los archivos con un mensaje de confirmación:
git commit -m "Added Alexa skill files"
-
Ejecuta el siguiente comando para enviar los archivos de tu repositorio local a tu CodeCommit repositorio:
git push
-
-
Para usar la CodeCommit consola para cargar tus archivos:
-
Abre la CodeCommit consola y elige tu repositorio en la lista de repositorios.
-
Elija Add file (Añadir archivo) y, a continuación, Upload file (Cargar archivo).
-
Elija Choose file (Elegir archivo) y luego busque el archivo. Para confirmar el cambio, introduzca su nombre de usuario y la dirección de correo electrónico. Seleccione Confirmar cambios.
-
Repita este paso para cada archivo que desee cargar.
-
-
Paso 3: Utilizar los comandos de la CLI de ASK para crear un token de actualización
CodePipeline utiliza un token de actualización basado en el ID de cliente y el secreto de tu cuenta de desarrollador de Amazon para autorizar las acciones que realiza en tu nombre. En esta sección, se utiliza la CLI de ASK para crear el token. Estas credenciales se utilizan al usar el asistente Create Pipeline (Crear canalización).
Para crear un token de actualización con las credenciales de una cuenta de desarrollador de Amazon
-
Utilice el siguiente comando:
ask util generate-lwa-tokens
-
Cuando se le solicite, introduzca el ID y el secreto del cliente, tal y como se muestra en este ejemplo:
? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
-
El navegador muestra la página de inicio de sesión. Inicie sesión con las credenciales de su cuenta de desarrollador de Amazon.
-
Vuelva a la pantalla de la línea de comandos. El token de acceso y el token de actualización se generan en la salida. Copie el token de actualización que se devuelven en la salida.
Paso 4: Crear la canalización
En esta sección, debe crear una canalización con las siguientes acciones:
-
Una fase de origen con una CodeCommit acción en la que los artefactos de origen son los archivos de habilidades de Alexa que respaldan tu habilidad.
-
Una etapa de implementación con una acción de implementación de Alexa Skills Kit.
Para crear una canalización con el asistente
Inicia sesión en la CodePipeline consola AWS Management Console y ábrela en http://console.aws.amazon. com/codesuite/codepipeline/home
. -
Elija la AWS región en la que desea crear el proyecto y sus recursos. El tiempo de ejecución de la habilidad de Alexa está disponible solo en las siguientes regiones:
-
Asia-Pacífico (Tokio)
-
Europa (Irlanda)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
-
En la página Bienvenido, Introducción o Canalizaciones, elija Crear canalización.
-
En la página Paso 1: elección de la opción de creación, en Opciones de creación, seleccione la opción Crear una canalización personalizada. Elija Next (Siguiente).
-
En Paso 2: elegir la configuración de la canalización, en Nombre de la canalización, escriba
MyAlexaPipeline
. -
CodePipeline proporciona canalizaciones de tipo V1 y V2, que difieren en características y precio. El tipo V2 es el único tipo que puede elegir en la consola. Para obtener más información, consulte Tipos de canalización. Para obtener información sobre los precios de CodePipeline, consulte Precios
. -
En Función de servicio, elija Nueva función de servicio CodePipeline para poder crear una función de servicio en IAM.
-
En Advanced settings (Configuración avanzada), deje los valores predeterminados y elija Next (Siguiente).
-
En Paso 3: agregar la etapa de origen, en Proveedor de origen, elija AWS CodeCommit. En Nombre del repositorio, elija el nombre del CodeCommit repositorio en Paso 1: Crea un CodeCommit repositorio el que lo creó. En Nombre de ramificación, elija el nombre de la ramificación que incluye la última actualización del código.
Tras seleccionar el nombre y la sucursal del repositorio, aparecerá un mensaje con la regla de Amazon CloudWatch Events que se va a crear para esta canalización.
Elija Next (Siguiente).
-
En Paso 4: agregar la etapa de compilación, elija Omitir la etapa de compilación y, a continuación, acepte el mensaje de advertencia eligiendo Omitir una vez más.
Elija Next (Siguiente).
-
En el paso 5: Añadir la etapa de prueba, seleccione Omitir la etapa de prueba y, a continuación, acepte el mensaje de advertencia seleccionando Omitir de nuevo.
Elija Next (Siguiente).
-
En el paso 6: Añadir la etapa de despliegue:
-
En Deploy provider (Proveedor de implementación), elija Alexa Skills Kit.
-
En Alexa skill ID (ID de habilidad de Alexa), especifique el ID de habilidad asignado a la habilidad en la consola para desarrolladores de Alexa Skills Kit.
-
En Client ID (ID de cliente), especifique el ID de la aplicación que ha registrado.
-
En Client secret (Secreto de cliente), especifique el secreto de cliente que eligió cuando se registró.
-
En Refresh token (Token de actualización), especifique el token que ha generado en el paso 3.
-
Elija Next (Siguiente).
-
-
En el paso 7: Revisa, revisa la información y, a continuación, selecciona Crear canalización.
Paso 5: Realizar un cambio en cualquier archivo de origen y verificar la implementación
Realice un cambio en la habilidad y, a continuación, envíe ese cambio al repositorio. Esto desencadena la ejecución de la canalización. Compruebe que la habilidad se actualiza en la consola para desarrolladores de Alexa Skills Kit