

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
<a name="tutorials-alexa-skills-kit"></a>

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. (Este bucket não é o mesmo utilizado 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](integrations-action-type.md#integrations-deploy).

Para criar sua habilidade personalizada como uma função Lambda, consulte [Hospedar uma habilidade personalizada como uma função Lambda AWS](https://developer.amazon.com/docs/custom-skills/host-a-custom-skill-as-an-aws-lambda-function.html). 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
<a name="tutorials-alexa-skills-kit-prereq"></a>

Você já deve ter o seguinte:
+ Um CodeCommit repositório. Você pode usar o AWS CodeCommit repositório em [Tutorial: criar um pipeline simples (CodeCommit repositório)](tutorials-simple-codecommit.md) que você criou.
+ Uma conta de desenvolvedor da Amazon. Essa é a conta que possui suas skills na Alexa. Você pode criar uma conta gratuitamente no [Alexa Skills Kit](https://developer.amazon.com/alexa-skills-kit). 
+ Uma skill da Alexa. Você pode criar um exemplo de skill usando o tutorial [Obter código de exemplo da skill personalizada](https://developer.amazon.com/docs/custom-skills/use-the-alexa-skills-kit-samples.html).
+ Instale a CLI do ASK e configure-a usando `ask init` com as credenciais da AWS . Consulte [Instalar e inicializar a CLI do ASK](https://developer.amazon.com/docs/smapi/quick-start-alexa-skills-kit-command-line-interface.html#install-initialize).

## Etapa 1: Criar um perfil de segurança do LWA dos serviços de desenvolvedor da Alexa
<a name="tutorials-alexa-skills-kit-profile"></a>

Nessa seção, crie 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 em [generate-lwa-tokens](https://developer.amazon.com/docs/smapi/ask-cli-command-reference.html#generate-lwa-tokens) para 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 comando ASK CLI 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
<a name="tutorials-alexa-skills-kit-push"></a>

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](https://developer.amazon.com/docs/smapi/skill-package-api-reference.html#skill-package-format). 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`.

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

   ```
   ask api get-skill -s {{skill-ID}} > skill.json
   ```

1. (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
   ```

1. 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
         ```

      1. Execute o seguinte comando para confirmar os arquivos com uma mensagem de confirmação:

         ```
         git commit -m "Added Alexa skill files"
         ```

      1. Execute o comando a seguir para enviar os arquivos do seu repositório local para o seu CodeCommit repositório:

         ```
         git push
         ```

   1. Para usar o CodeCommit console para carregar seus arquivos: 

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

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

      1. 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)**.

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

## Etapa 3: Usar os comandos da CLI do ASK para criar um token de atualização
<a name="tutorials-alexa-skills-kit-token"></a>

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. Nessa seção, você usa a CLI do ASK 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
   ```

1. 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
   ```

1. A página de login do navegador será exibida. Faça login com as credenciais da conta de desenvolvedor da Amazon.

1. 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
<a name="tutorials-alexa-skills-kit-pipeline"></a>

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 Console de gerenciamento da AWS e abra o CodePipeline console em [http://console.aws.amazon. com/codesuite/codepipeline/home](https://console.aws.amazon.com/codesuite/codepipeline/home).

1. 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 (N. da Virgínia)
   + Oeste dos EUA (Oregon)

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

1. Na página **Etapa 1: Escolher opção de criação**, em **Opções de criação**, selecione a opção **Criar pipeline personalizado**. Escolha **Próximo**.

1. Em **Etapa 2: Escolher as configurações do pipeline**, em **Nome do pipeline**, insira **MyAlexaPipeline**.

1. CodePipeline fornece tubulações do tipo V1 e V2, que diferem em características e preço. O tipo V2 é o único tipo que você pode escolher no console. Para ter mais informações, consulte [Pipeline types](https://docs.aws.amazon.com/codepipeline/latest/userguide/pipeline-types-planning.html?icmpid=docs_acp_help_panel). Para obter informações sobre preços de CodePipeline, consulte [Preços](https://aws.amazon.com/codepipeline/pricing/).

1. 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 no IAM.

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

1. Em **Etapa 3: Adicionar etapa de origem**, em **Provedor 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](tutorials-simple-codecommit.md#codecommit-create-repository) 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**.

1. Em **Etapa 4: Adicionar etapa de compilação**, escolha **Ignorar etapa de compilação** e aceite a mensagem de aviso escolhendo **Ignorar** novamente.

   Escolha **Próximo**.

1. Em **Etapa 5: Adicionar etapa de teste**, escolha **Ignorar etapa de teste** e aceite a mensagem de aviso escolhendo **Ignorar** novamente. 

   Escolha **Próximo**.

1. Na **Etapa 6: Adicionar estágio de implantação**:

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

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

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

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

   1. Em **Refresh token (Token de atualização)**, insira o token que você gerou na etapa 3.  
![Etapa 6: Implantar página para uma ação do Alexa Skills Kit](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/alexa-deploy.png)

   1. Escolha **Próximo**.

1. Na **Etapa 7: Revisar**, revise as informações e escolha **Criar funil**.

## Etapa 5: Realizar uma alteração em qualquer arquivo de origem e verificar a implantação
<a name="tutorials-alexa-skills-kit-update"></a>

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](https://developer.amazon.com/alexa/console/ask).