Didacticiel : Création d'un pipeline qui déploie un kit Amazon Alexa Skill - AWS CodePipeline

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.

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. Vous pouvez également créer un pipeline qui utilise des fichiers source Lambda et un CodeBuild projet pour déployer les modifications apportées à Lambda en fonction de vos compétences. Par exemple, pour créer une nouvelle compétence et la fonction Lambda connexe, vous pouvez créer un projet AWS CodeStar . Voir Créer un projet de compétence Alexa dans AWS CodeStar. Pour cette option, le pipeline inclut une troisième phase de génération avec une CodeBuild action et une action dans la phase de déploiement pour AWS CloudFormation.

Prérequis

Vous devez déjà disposer des éléments suivants :

Étape 1 : Créer un profil de sécurité LWA des 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-tokenspour 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 d'avoir entré les URL de retour autorisées comme indiqué dans les instructions. Les URL autorisent la commande CLI ASK à 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
  1. 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.

  2. 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
  3. (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 --locale locale > ./interactionModel/custom/locale.json
Pour transférer des fichiers vers votre CodeCommit dépôt
  1. 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
  2. Choisissez la méthode que vous souhaitez utiliser pour charger vos fichiers :

    1. Pour utiliser la ligne de commande Git à partir d'un référentiel cloné sur votre ordinateur local :

      1. Exécutez la commande suivante pour organiser tous vos fichiers à la fois :

        git add -A
      2. Exécutez la commande suivante pour valider les fichiers avec un message de validation :

        git commit -m "Added Alexa skill files"
      3. Exécutez la commande suivante pour transférer les fichiers de votre dépôt local vers votre CodeCommit dépôt :

        git push
    2. Pour télécharger vos fichiers à l'aide de la CodeCommit console :

      1. Ouvrez la CodeCommit console et choisissez votre dépôt dans la liste des référentiels.

      2. Choisissez Ajouter un fichier, puis choisissez Charger le fichier.

      3. 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.

      4. Répétez cette étape pour chaque fichier que vous souhaitez charger.

Étape 3 : Utiliser les commandes CLI ASK 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 utilisez l'interface de ligne de commande ASK 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
  1. Utilisez la commande suivante :

    ask util generate-lwa-tokens
  2. 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
  3. La page de connexion s'affiche. Connectez-vous avec les informations d'identification de votre compte de développeur Amazon.

  4. 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
  1. Connectez-vous à la CodePipeline console AWS Management Console et ouvrez-la à l'adresse http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. 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)

  3. Sur la page Bienvenue, la page Démarrez ou la page Pipelines, choisissez Créer un pipeline.

  4. Dans l'Étape 1 : Choisir les paramètres d'un pipeline, dans Nom du pipeline, saisissez MyAlexaPipeline.

  5. Dans Type de pipeline, choisissez V1 pour les besoins de ce didacticiel. Vous pouvez également choisir la V2 ; toutefois, notez que les types de pipelines diffèrent en termes de caractéristiques et de prix. Pour plus d’informations, consultez Types de pipelines.

  6. Dans Rôle de service, choisissez Nouveau rôle de service pour autoriser CodePipeline la création d'un rôle de service dans IAM.

  7. Laissez les paramètres sous Advanced settings (Paramètres avancés) à leurs valeurs par défaut, puis choisissez Suivant.

  8. 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.

  9. 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.

  10. Dans Étape 4 : Ajouter une étape de déploiement :

    1. Dans Deploy provider (Déployer le fournisseur), choisissez Alexa Skills Kit (Kit Alexa Skills).

    2. 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.

    3. Dans Client ID (ID client), saisissez l'ID de l'application que vous avez enregistrée.

    4. Dans Client secret (Clé secrète du client), saisissez la clé secrète que vous avez choisie lors de l'enregistrement.

    5. Dans Refresh token (Jeton d'actualisation), entrez le jeton que vous avez généré à l'étape 3.

      Étape 4 : Déployer la page pour une action du kit de compétences Alexa
    6. Choisissez Suivant.

  11. 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.