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á.
AWS Lambda referência de ação de implantação
Você usa uma ação de AWS Lambda implantação para gerenciar a implantação do código do aplicativo para sua implantação sem servidor. Você pode implantar uma função e usar estratégias de implantação para implantação de tráfego da seguinte forma:
-
Implantações canárias e lineares para mudança de tráfego
-
Implantações de uma só vez
nota
Essa ação só é compatível com pipelines do tipo V2.
Tópicos
Tipo de ação
-
Categoria:
Deploy
-
Proprietário:
AWS
-
Fornecedor:
Lambda
-
Versão:
1
Parâmetros de configuração
- FunctionName
-
Obrigatório: Sim
O nome da função que você criou no Lambda, como.
MyLambdaFunction
Você já deve ter criado uma versão.
- FunctionAlias
-
Obrigatório: Não
O alias da função que você criou no Lambda e é a função na qual será implantada, como.
live
O alias deve existir e ter uma versão por trás quando a execução da ação é iniciada. (Será a versão de destino de reversão.)Se não for fornecida, a ação implanta o artefato de origem
$LATEST
e cria uma nova versão. Nesse caso de uso, as opções de estratégia de implantação e versão de destino não estão disponíveis. - PublishedTargetVersion
-
Obrigatório: Não
A versão desejada da Função Lambda para ser implantada. FunctionAlias Podem ser variáveis de pipeline ou de nível de ação, como
#{variables.lambdaTargetVersion}
. A versão deve ser publicada quando a execução da ação for iniciada.Obrigatório se nenhum artefato de entrada for fornecido.
- DeployStrategy
-
Obrigatório: Não (o padrão é
AllAtOnce
)Determina a taxa que a ação de implantação do Lambda adota para transferir o tráfego da versão original da função do Lambda para a nova versão. FunctionAlias As estratégias de implantação disponíveis são canárias ou lineares. Formatos aceitos:
-
AllAtOnce
-Desloca todo o tráfego para as funções do Lambda atualizadas de uma única vez.
Se não for especificado, o padrão é
AllAtOnce
) -
Canary10Percent5Minutes
- Desloca 10 por cento do tráfego no primeiro incremento. Os 90 por cento restantes são implantados cinco minutos depois.Os valores de porcentagem e minutos podem ser alterados.
-
Linear10PercentEvery1Minute
- Desloca 10% do tráfego a cada minuto até que todo o tráfego seja deslocado.Os valores de porcentagem e minutos podem ser alterados.
As seguintes considerações se aplicam a esse campo:
-
O tempo máximo de espera total é de 2 dias.
-
Disponível somente quando FunctionAliasfornecido.
-
- Alarmes
-
Obrigatório: Não
Uma lista separada por vírgulas de nomes de alarmes configurada para a implantação do Lambda. No máximo, dez alarmes podem ser adicionados. A ação falha quando os alarmes monitorados vão para o estado ALARME.
A imagem a seguir mostra um exemplo da página Editar da ação.

Input artifacts (Artefatos de entrada)
-
Número de artefatos:
1
-
Descrição: os arquivos fornecidos, se houver, para dar suporte às ações do script durante a implantação.
Artefatos de saída
-
Número de artefatos:
0
-
Descrição: os artefatos de saída não se aplicam a esse tipo de ação.
Variáveis de saída
Quando configurada, essa ação produz variáveis que podem ser referenciadas pela configuração de ação de uma ação downstream no pipeline. Esta ação produz variáveis que podem ser visualizadas como variáveis de saída, mesmo que a ação não tenha um namespace. Configure uma ação com um namespace a fim de disponibilizar as variáveis para a configuração de ações downstream.
Para obter mais informações, consulte Referência de variáveis.
- FunctionVersion
-
A nova versão da função Lambda que foi implantada.
Permissões da política de função de serviço para a ação de implantação do Lambda
Quando CodePipeline executa a ação, a função de CodePipeline serviço exige as seguintes permissões, com escopo adequado para acesso com menos privilégios.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "StatementForLambda", "Effect": "Allow", "Action": [ "lambda:GetAlias", "lambda:GetFunctionConfiguration", "lambda:GetProvisionedConcurrencyConfig", "lambda:PublishVersion", "lambda:UpdateAlias", "lambda:UpdateFunctionCode" ], "Resource": [ "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}", "arn:aws:lambda:aws:{{customerAccountId}}:function:{{FunctionName}}:*" ] }, { "Sid": "StatementForCloudWatch", "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms" ], "Resource": [ "arn:aws:cloudwatch:aws:{{customerAccountId}}:alarm:{{AlarmNames}}" ] }, { "Sid": "StatementForLogs1", "Effect": "Allow", "Action": [ "logs:CreateLogGroup" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}", "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:*" ] }, { "Sid": "StatementForLogs2", "Effect": "Allow", "Action": [ "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": [ "arn:aws:logs:aws:{{customerAccountId}}:log-group:/aws/codepipeline/{{pipelineName}}:log-stream:*" ] } ] }
Declaração de ação
Consulte também
Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
-
Tutorial: implantações da função Lambda com CodePipeline— Este tutorial mostra a criação de uma função Lambda de amostra, na qual você criará um alias e uma versão, adicionará a função Lambda compactada ao local de origem e executará a ação do Lambda em seu pipeline.