

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: implantações da função Lambda com CodePipeline
<a name="tutorials-lambda-deploy"></a>

Este tutorial ajuda você a criar uma ação de implantação CodePipeline que implanta seu código na função que você configurou no Lambda. Você criará uma função do Lambda de amostra na qual vai criar um alias e uma versão, adicionar a função do Lambda compactada ao local de origem e executar a ação do Lambda no pipeline.

**nota**  
Como parte da criação de um pipeline no console, um bucket de artefatos S3 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**  
A ação de implantação `Lambda` está disponível somente para pipelines do tipo V2.

## Pré-requisitos
<a name="tutorials-lambda-deploy-prereqs"></a>

Para você usar este tutorial para criar seu pipeline de CD, alguns recursos precisam estar em operação. Veja aqui estão os itens que você precisa para começar:

**nota**  
Todos esses recursos devem ser criados na mesma AWS região.
+ Um repositório de controle de origem, como GitHub, ou um bucket S3 de origem (este tutorial usa o S3), onde você armazenará um `.zip` arquivo criado para sua função Lambda.
+ Você deve usar uma função CodePipeline de serviço existente que tenha sido atualizada com as permissões para essa ação. Para atualizar o perfil de serviço, consulte [Permissões de política do perfil de serviço para a ação de implantação do Lambda](action-reference-LambdaDeploy.md#action-reference-LambdaDeploy-permissions-action).

Assim que você atender a esses pré-requisitos, poderá continuar com o tutorial e criar seu pipeline de CD.

## Etapa 1: Criar a função do Lambda de amostra
<a name="tutorials-lambda-deploy-instances"></a>

Nesta etapa, você cria a função do Lambda na qual implantará.

**Como criar sua função do Lambda**

1. Acesse o console do Lambda e siga as etapas no tutorial a seguir para criar uma função do Lambda de amostra: link.

1. Na navegação superior, escolha **Criar** e selecione **Iniciar do zero** na parte superior da página.

1. Em **Nome**, insira **MyLambdaFunction**. 

1. Publique uma nova versão. Esta será a versão para a qual o alias direcionará.

   1. Selecione a função.

   1. Escolha o menu suspenso **Ações**.

   1. Escolha **Publicar nova versão**.

   1. (Opcional) Adicione à descrição em **Descrição**.

   1. Selecione **Publish**.

1. Crie um alias para a função, como `aliasV1`.

1. Verifique se o alias está direcionando para a versão que você recém criou (como 1).
**nota**  
Se escolher \$1LATEST, você não conseguirá usar os recursos de mudança de tráfego porque o Lambda não oferece suporte a \$1LATEST para um alias que direcione para mais de 1 versão.

## Etapa 2: Carregar o arquivo de função no repositório
<a name="tutorials-lambda-deploy-file"></a>

Baixe a função a e salve como um arquivo zip. Carregue o arquivo compactado no bucket do S3 usando as etapas a seguir.

**Para adicionar um arquivo `.zip` ao repositório de origem**

1. Abra o bucket do S3.

1. Escolha **Carregar**.

1. Carregue o arquivo zip que contém o arquivo `sample_lambda_source.zip` no bucket de origem.

   Anote o caminho.

   ```
   object key
   ```

## Etapa 3: Criação do pipeline
<a name="tutorials-lambda-deploy-pipeline"></a>

Use o CodePipeline assistente para criar seus estágios de funil e conectar seu repositório de origem.

**Para criar o pipeline**

1. Abra o CodePipeline console em [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

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 **MyPipeline**.

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 **Usar função de serviço existente** e, em seguida, escolha a função de CodePipeline serviço que foi atualizada com as permissões necessárias para essa ação. Para configurar sua função CodePipeline de serviço para essa ação, consulte[Permissões de política do perfil de serviço para a ação de implantação do Lambda](action-reference-LambdaDeploy.md#action-reference-LambdaDeploy-permissions-action).

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

1. Na página **Etapa 3: Adicionar etapa de origem**, adicione uma etapa de origem:

   1. Em **Source provider (Provedor de origem)**, selecione **Amazon S3**.

   1. Em **Chave de objeto**, adicione o nome do arquivo .zip, inclusive a extensão do arquivo, como `sample_lambda_source.zip`.

      

   Escolha **Próximo**.

1. Na página **Etapa 4: Adicionar etapa de compilação**, escolha **Ignorar**.

1. Na página **Etapa 5: Adicionar etapa de teste**, escolha **Ignorar**.

1. Na página **Etapa 6: Adicionar etapa de implantação**, escolha **Lambda**.  
![\[\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/lambdadeploy-edit-screen.png)

   1. Adicione o nome e o alias da função. 

   1. Escolha a estratégia de implantação.

   1. Escolha **Próximo**.

1. Na página **Etapa 7: Revisão**, revise a configuração do pipeline e escolha **Create pipeline** para criar o pipeline.  
![\[\]](http://docs.aws.amazon.com/pt_br/codepipeline/latest/userguide/images/lambdadeploy-pipeline-screen.png)

## Etapa 4: Testar o pipeline
<a name="tutorials-lambda-deploy-test"></a>

Seu pipeline deve ter tudo para executar uma implantação AWS contínua end-to-end nativa. Agora, teste a funcionalidade enviando uma alteração de código ao repositório de origem.

**Para testar o pipeline**

1. Faça uma alteração no código no repositório de origem configurado, confirme e envie a alteração.

1. Abra o CodePipeline console em [https://console.aws.amazon.com/codepipeline/](https://console.aws.amazon.com/codepipeline/).

1. Escolha o pipeline na lista.

1. Observe a evolução do pipeline pelos respectivos estágios. O pipeline deve ser concluído, e a ação é implantada na função do Lambda.

## Saiba mais
<a name="tutorials-lambda-deploy-learn"></a>

A ação de implantação do Lambda permite dois métodos de implantação. Um método é a mudança de tráfego sozinho, sem um artefato de entrada da ação de origem. O outro método é atualizar o código da função usando um artefato de entrada da ação de origem e, em seguida, publicar uma nova versão com base no código atualizado. Para o segundo método, se o alias for fornecido, CodePipeline também fará a mudança de tráfego. Este tutorial da ação de implantação do Lambda demonstra como atualizar a função usando um artefato de origem.

Para saber mais sobre a ação, consulte a página de referência da ação em [Referência da ação de implantação do AWS Lambda](action-reference-LambdaDeploy.md).