Tutorial: Criar um pipeline que implanta uma skill do Amazon Alexa - AWS CodePipeline

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Tutorial: Criar um pipeline que implanta uma skill do Amazon Alexa

Nesse tutorial, você configura um pipeline que fornece continuamente sua skill da Alexa usando o Alexa Skills Kit como o provedor de implantação em seu estágio de implantação. O pipeline concluído detecta alterações em sua skill quando você faz uma alteração nos arquivos de origem em seu repositório de origem. O pipeline usa o Alexa Skills Kit para implantar no estágio de desenvolvimento de skills da Alexa.

Importante

Como parte da criação de um pipeline, um bucket de artefatos S3 fornecido pelo cliente será usado CodePipeline por for artefacts. (Isso é diferente do bucket usado para uma ação de origem do S3.) Se o bucket de artefatos do S3 estiver em uma conta diferente da conta do seu pipeline, certifique-se de que o bucket de artefatos do S3 Contas da AWS seja de propriedade de quem é seguro e confiável.

nota

Este atributo não está disponível na região Ásia-Pacífico (Hong Kong) ou Europa (Milão). Para usar outras ações de implantação disponíveis nessa região, consulte Implantar integrações de ações.

Para criar sua habilidade personalizada como uma função Lambda, consulte Hospedar uma habilidade personalizada como uma função Lambda AWS. Você também pode criar um pipeline que usa arquivos de origem do Lambda e um CodeBuild projeto para implantar alterações no Lambda para sua habilidade.

Pré-requisitos

Você já deve ter o seguinte:

Etapa 1: criar um perfil de LWA segurança dos serviços para desenvolvedores da Alexa

Nesta seção, você cria um perfil de segurança para usar com o Login with Amazon (LWA). Se você já tiver um perfil, ignore esta etapa.

  • Use as etapas generate-lwa-tokenspara criar um perfil de segurança.

  • Depois de criar o perfil, anote o Client ID (ID do cliente) e o Client Secret (Segredo do cliente).

  • Certifique-se de inserir a devolução permitida URLs conforme fornecido nas instruções. Eles URLs permitem que o ASK CLI comando redirecione as solicitações de token de atualização.

Etapa 2: Crie arquivos de origem de habilidades da Alexa e envie para seu repositório CodeCommit

Nessa seção, você cria e envia seus arquivos de origem de skills da Alexa para o repositório que o pipeline usa para o estágio de origem. Para a skill que você criou no console do desenvolvedor da Amazon, você produz e envia o seguinte:

  • Um arquivo skill.json.

  • Uma pasta interactionModel/custom.

    nota

    Essa estrutura de diretório está em conformidade com os requisitos de formato do pacote de skills do Alexa Skills Kit, conforme descrito em Formato do pacote de skills. Se a estrutura do diretório não usar o formato correto do pacote de skills, as alterações não serão implantadas com êxito no console do Alexa Skills Kit.

Como criar arquivos de origem para sua skill
  1. Recupere o ID da skill do console do desenvolvedor do Alexa Skills Kit. Use este comando:

    ask api list-skills

    Localize a skill por nome e copie o ID associado no campo skillId.

  2. Gere um arquivo skill.json que contém os detalhes da skill. Use este comando:

    ask api get-skill -s skill-ID > skill.json
  3. (Opcional) Crie uma pasta interactionModel/custom.

    Use esse comando para gerar o arquivo de modelo de interação dentro da pasta. Para localidade, esse tutorial usa en-US como a localidade no nome do arquivo.

    ask api get-model --skill-id skill-ID --locale locale > ./interactionModel/custom/locale.json
Para enviar arquivos para o seu CodeCommit repositório
  1. Envie ou envie os arquivos para o seu CodeCommit repositório. Esses arquivos são o artefato de origem gerado pelo assistente Create Pipeline (Criar pipeline) para a ação de implantação no AWS CodePipeline. Os arquivos devem ter a seguinte aparência em seu diretório local:

    skill.json /interactionModel /custom |en-US.json
  2. Selecione o método que deseja utilizar para carregar seus arquivos:

    1. Para usar a linha de comando Git a partir de um repositório clonado no computador local:

      1. Execute o seguinte comando para organizar todos os seus arquivos de uma só vez:

        git add -A
      2. Execute o seguinte comando para confirmar os arquivos com uma mensagem de confirmação:

        git commit -m "Added Alexa skill files"
      3. Execute o comando a seguir para enviar os arquivos do seu repositório local para o seu CodeCommit repositório:

        git push
    2. Para usar o CodeCommit console para carregar seus arquivos:

      1. Abra o CodeCommit console e escolha seu repositório na lista Repositórios.

      2. Selecione Add file (Adicionar arquivo) e clique em Upload file (Carregar arquivo).

      3. Clique em Choose file (Selecionar arquivo) e localize o arquivo. Informe seu nome de usuário e endereço de e-mail para confirmar a alteração. Escolha Commit changes (Confirmar alterações).

      4. Repita essa etapa para cada arquivo que deseja carregar.

Etapa 3: usar ASK CLI comandos para criar um token de atualização

CodePipeline usa um token de atualização com base no ID do cliente e no segredo da sua conta de desenvolvedor da Amazon para autorizar ações que ele executa em seu nome. Nesta seção, você usa o ASK CLI para criar o token. Você pode usar essas credenciais quando usar o assistente Create Pipeline (Criar pipeline).

Para criar um token de atualização com as credenciais da conta de desenvolvedor da Amazon
  1. Use o seguinte comando:

    ask util generate-lwa-tokens
  2. Quando solicitado, insira o ID de cliente e o segredo, conforme mostrado neste exemplo:

    ? Please type in the client ID: amzn1.application-client.example112233445566 ? Please type in the client secret: example112233445566
  3. A página de login do navegador será exibida. Faça login com as credenciais da conta de desenvolvedor da Amazon.

  4. Volte para a tela de linha de comando. O token de acesso e o token de atualização serão gerados na saída. Copie o token de atualização retornado na saída.

Etapa 4: Criar o pipeline

Nesta seção, você criará um pipeline com as seguintes ações:

  • Um estágio de origem com uma CodeCommit ação em que os artefatos de origem são os arquivos de habilidades da Alexa que dão suporte à sua habilidade.

  • Um estágio de implantação com uma ação de implantação do Alexa Skills Kit.

Criar um pipeline com o assistente
  1. Faça login no AWS Management Console e abra o CodePipeline console em http://console.aws.amazon.com/codesuite/codepipeline/home.

  2. Escolha a AWS região em que você deseja criar o projeto e seus recursos. O tempo de execução da skill da Alexa está disponível somente nas seguintes regiões:

    • Ásia-Pacífico (Tóquio)

    • Europa (Irlanda)

    • Leste dos EUA (Norte da Virgínia)

    • Oeste dos EUA (Oregon)

  3. Na página Welcome (Bem-vindo), Getting started (Conceitos básicos) ou Pipelines, selecione Create pipeline (Criar pipeline).

  4. Em Step 1: Choose pipeline settings (Etapa 1: selecionar as configurações do pipeline), em Pipeline name (Nome do pipeline), insira MyAlexaPipeline.

  5. Em Tipo de pipeline, escolha V2. Para obter mais informações, consulte Tipos de pipeline. Escolha Próximo.

  6. Em Função de serviço, escolha Nova função de serviço para permitir CodePipeline a criação de uma função de serviço emIAM.

  7. Deixe as configurações em Advanced settings (Configurações avançadas) como padrão e escolha Next (Próximo).

  8. Em Step 2: Add source stage (Etapa 2: Adicionar estágio de origem), em Source provider (Fornecedor de origem), escolha AWS CodeCommit. Em Nome do repositório, escolha o nome do CodeCommit repositório em que você criou. Etapa 1: criar um CodeCommit repositório Em Nome do ramo, selecione o nome do ramo que contém a última atualização do código.

    Depois de selecionar o nome do repositório e a ramificação, uma mensagem mostra a regra Amazon CloudWatch Events a ser criada para esse pipeline.

    Escolha Próximo.

  9. Em Step 3: Add build stage (Etapa 3: Adicionar estágio de construção), selecione Skip build stage (Pular estágio de compilação) e aceite a mensagem de aviso ao clicar novamente em Skip (Pular).

    Escolha Próximo.

  10. Em Step 4: Add deploy stage (Etapa 4: Adicionar estágio de implantação):

    1. Em Deploy provider (Provedor de implantação), escolha Alexa Skills Kit.

    2. Em Alexa skill ID (ID da skill da Alexa), insira o ID da skill atribuído à sua skill no console do desenvolvedor do Alexa Skills Kit.

    3. Em Client ID (ID do cliente), insira o ID do aplicativo que você registrou.

    4. Em Client secret (Segredo do cliente), insira o segredo que você escolheu quando se registrou.

    5. Em Refresh token (Token de atualização), insira o token que você gerou na etapa 3.

      A página Etapa 4: Implantar de uma ação do Alexa Skills Kit
    6. Escolha Próximo.

  11. Em Etapa 5: Revisar, revise as informações e, então selecione Criar pipeline.

Etapa 5: Realizar uma alteração em qualquer arquivo de origem e verificar a implantação

Inclua uma alteração em sua skill e envie-a ao repositório. Deste modo, a execução de seu pipeline é acionada. Verifique se sua skill está atualizada no console do desenvolvedor do Alexa Skills Kit.