Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Didacticiel : Création d'un pipeline qui déploie un kit Amazon Alexa Skill
Dans ce didacticiel, vous configurez un pipeline qui diffuse en continu votre compétence Alexa à l'aide du kit Alexa Skills en tant que fournisseur de déploiement dans votre étape de déploiement. Le pipeline terminé détecte les modifications apportées à votre compétence lorsque vous modifiez les fichiers source dans votre référentiel source. Le pipeline utilise ensuite le kit Alexa Skills pour procéder au déploiement sur l'étape de développement de la compétence Alexa.
Important
Dans le cadre de la création d'un pipeline, un compartiment d'artefacts S3 fourni par le client sera utilisé CodePipeline pour les artefacts. (Ceci est différent du compartiment utilisé pour une action source S3.) Si le compartiment d'artefacts S3 se trouve dans un compte différent de celui de votre pipeline, assurez-vous que le compartiment d'artefacts S3 appartient à cette personne sûre et Comptes AWS qu'elle sera fiable.
Note
Cette fonctionnalité n'est pas disponible dans la région Asie-Pacifique (Hong Kong) ou Europe (Milan). Pour utiliser les autres actions de déploiement disponibles dans cette région, consultezIntégrations d'actions de déploiement.
Pour créer votre compétence personnalisée en tant que fonction Lambda, voir Héberger une compétence personnalisée en tant que fonction Lambda AWS
Prérequis
Vous devez déjà disposer des éléments suivants :
-
Un CodeCommit référentiel. Vous pouvez utiliser le AWS CodeCommit référentiel dans lequel vous l'avez crééTutoriel : Création d'un pipeline simple (CodeCommitréférentiel).
-
Un compte de développeur Amazon. Ce compte est propriétaire de vos compétences Alexa. Vous pouvez créer un compte gratuitement depuis la page kit Alexa Skills
. -
Une compétence Alexa. Vous pouvez créer un exemple de compétence à l'aide du didacticiel Obtention d'exemple de code de compétence personnalisé
. -
Installez-le ASK CLI et configurez-le à l'
ask init
aide de vos AWS informations d'identification. Consultez la section Installation et initialisation ASK CLI.
Étape 1 : créer un profil de LWA sécurité pour les services de développement Alexa
Dans cette section, vous allez créer un profil de sécurité à utiliser avec Login with Amazon (LWA). Si vous disposez déjà d'un profil, vous pouvez ignorer cette étape.
-
Suivez les étapes décrites generate-lwa-tokens
pour créer un profil de sécurité. -
Après avoir créé le profil, notez l'ID client et la clé secrète du client.
-
Assurez-vous de saisir le retour autorisé URLs comme indiqué dans les instructions. Ils URLs permettent à la ASK CLI commande de rediriger les demandes de jeton d'actualisation.
Étape 2 : créer des fichiers source de compétences Alexa et les transférer vers votre CodeCommit référentiel
Dans cette section, vous allez créer et transmettre vos fichiers source de compétence Alexa au référentiel que le pipeline utilise pour votre étape source. Pour la compétence que vous avez créée dans la console du développeur Amazon, vous créez et transmettez les éléments suivants :
-
Un fichier
skill.json
. -
Un dossier
interactionModel/custom
.Note
Cette structure de répertoires est conforme aux exigences de format du package Kit Alexa Skills, comme décrit dans Format de package de compétence
. Si votre structure de répertoire n'utilise pas le bon format de package de compétences, les modifications ne sont pas déployées correctement dans la console du kit Alexa Skills.
Pour créer des fichiers source pour votre compétence
-
Récupérez votre ID de compétence à partir de la console du développeur du kit Alexa Skills. Utilisez cette commande :
ask api list-skills
Recherchez votre compétence par son nom, puis copiez l'ID associé dans le champ
skillId
. -
Générez un fichier
skill.json
contenant les détails de votre compétence. Utilisez cette commande :ask api get-skill -s
skill-ID
> skill.json -
(Facultatif) Créez un dossier
interactionModel/custom
.Utilisez cette commande pour générer le fichier de modèle d'interaction dans le dossier. Pour les paramètres régionaux, ce didacticiel utilise en-US comme paramètres régionaux dans le nom de fichier.
ask api get-model --skill-id
skill-ID
--localelocale
> ./interactionModel/custom/locale
.json
Pour transférer des fichiers vers votre CodeCommit dépôt
-
Envoyez ou téléchargez les fichiers dans votre CodeCommit dépôt. Ces fichiers constituent l'artefact source créé par l'assistant Create Pipeline (Création de pipeline) pour votre action de déploiement dans AWS CodePipeline. Vos fichiers doivent être similaires à ce qui suit dans votre répertoire local :
skill.json /interactionModel /custom |en-US.json
-
Choisissez la méthode que vous souhaitez utiliser pour charger vos fichiers :
-
Pour utiliser la ligne de commande Git à partir d'un référentiel cloné sur votre ordinateur local :
-
Exécutez la commande suivante pour organiser tous vos fichiers à la fois :
git add -A
-
Exécutez la commande suivante pour valider les fichiers avec un message de validation :
git commit -m "Added Alexa skill files"
-
Exécutez la commande suivante pour transférer les fichiers de votre dépôt local vers votre CodeCommit dépôt :
git push
-
-
Pour télécharger vos fichiers à l' CodeCommit aide de la console, procédez comme suit :
-
Ouvrez la CodeCommit console et choisissez votre dépôt dans la liste des référentiels.
-
Choisissez Ajouter un fichier, puis choisissez Charger le fichier.
-
Sélectionnez Choisir un fichier, puis recherchez votre fichier. Validez la modification en entrant votre nom d'utilisateur et votre adresse e-mail. Choisissez Valider les modifications.
-
Répétez cette étape pour chaque fichier que vous souhaitez charger.
-
-
Étape 3 : utiliser des ASK CLI commandes pour créer un jeton d'actualisation
CodePipeline utilise un jeton d'actualisation basé sur l'ID client et le secret de votre compte de développeur Amazon pour autoriser les actions qu'il effectue en votre nom. Dans cette section, vous devez utiliser le ASK CLI pour créer le jeton. Vous utilisez ces informations d'identification lorsque vous utilisez l'assistant Create Pipeline (Création de pipeline).
Pour créer un jeton d'actualisation avec vos informations d'identification de compte de développeur Amazon
-
Utilisez la commande suivante :
ask util generate-lwa-tokens
-
Lorsque vous y êtes invité, saisissez votre ID client et votre clé secrète, comme illustré dans l'exemple suivant :
? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
-
La page de connexion s'affiche. Connectez-vous avec les informations d'identification de votre compte de développeur Amazon.
-
Revenez à l'écran de ligne de commande. Le jeton d'accès et le jeton d'actualisation sont générés dans la sortie. Copiez le jeton d'actualisation renvoyé dans la sortie.
Étape 4 : Créer votre pipeline
Dans cette section, vous créez un pipeline avec les actions suivantes :
-
Une étape source avec une CodeCommit action dans laquelle les artefacts sources sont les fichiers de compétences Alexa qui soutiennent votre compétence.
-
Une étape de déploiement avec une action de déploiement du kit Alexa Skills.
Pour créer un pipeline avec l'assistant
Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'adresse http://console.aws.amazon.com/codesuite/codepipeline/home
. -
Choisissez la AWS région dans laquelle vous souhaitez créer le projet et ses ressources. L'exécution de la compétence Alexa est uniquement disponible dans les régions suivantes :
-
Asie Pacifique (Tokyo)
-
Europe (Ireland)
-
USA Est (Virginie du Nord)
-
USA Ouest (Oregon)
-
-
Sur la page Bienvenue, la page Démarrez ou la page Pipelines, choisissez Créer un pipeline.
-
Dans l'Étape 1 : Choisir les paramètres d'un pipeline, dans Nom du pipeline, saisissez
MyAlexaPipeline
. -
Dans Type de pipeline, choisissez V2. Pour de plus amples informations, veuillez consulter Types de canalisations. Choisissez Suivant.
-
Dans Rôle de service, choisissez Nouveau rôle de service CodePipeline pour autoriser la création d'un rôle de service dansIAM.
-
Laissez les paramètres sous Advanced settings (Paramètres avancés) à leurs valeurs par défaut, puis choisissez Suivant.
-
Dans Étape 2 : Ajouter une étape source, dans Fournisseur de source, choisissez AWS CodeCommit. Dans Nom du référentiel, choisissez le nom du CodeCommit référentiel dans lequel vous l'avez crééÉtape 1 : Création d'un CodeCommit référentiel. Dans Nom de branche, choisissez le nom de la branche qui contient votre dernière mise à jour du code.
Après avoir sélectionné le nom du référentiel et la branche, un message indique la règle Amazon CloudWatch Events à créer pour ce pipeline.
Choisissez Suivant.
-
Dans Step 3: Add build stage (Étape 3 : Ajouter une étape de génération), choisissez Skip build stage (Ignorer l'étape de génération) et acceptez le message d'avertissement en choisissant à nouveau Skip (Ignorer).
Choisissez Suivant.
-
Dans Étape 4 : Ajouter une étape de déploiement :
-
Dans Deploy provider (Déployer le fournisseur), choisissez Alexa Skills Kit (Kit Alexa Skills).
-
Dans Alexa skill ID (ID de compétence Alexa), saisissez l'ID de compétence affecté à votre compétence dans la console du développeur du kit Alexa Skills.
-
Dans Client ID (ID client), saisissez l'ID de l'application que vous avez enregistrée.
-
Dans Client secret (Clé secrète du client), saisissez la clé secrète que vous avez choisie lors de l'enregistrement.
-
Dans Refresh token (Jeton d'actualisation), entrez le jeton que vous avez généré à l'étape 3.
-
Choisissez Suivant.
-
-
Dans Step 5: Review, vérifiez les informations puis choisissez Create pipeline.
Étape 5 : Modifier un fichier source et vérifier le déploiement
Apportez une modification à votre compétence, puis transmettez le changement à votre référentiel. Cela déclenche l'exécution de votre pipeline. Vérifiez que votre compétence est mise à jour dans la console de développeur du kit Alexa Skills