Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS Lambda implementar referencia de acción
Se utiliza una acción de AWS Lambda despliegue para gestionar la implementación del código de la aplicación para la implementación sin servidor. Puede implementar una función y utilizar estrategias de despliegue para el despliegue del tráfico de la siguiente manera:
-
Implementaciones lineales y canarias para el traslado del tráfico
-
Despliegues todos a la vez
nota
Esta acción solo se admite en canalizaciones de tipo V2.
Temas
Tipo de acción
-
Categoría:
Deploy
-
Propietario:
AWS
-
Proveedor:
Lambda
-
Versión:
1
Parámetros de configuración
- FunctionName
-
Obligatorio: sí
El nombre de la función que creó en Lambda, por ejemplo.
MyLambdaFunction
Debe haber creado ya una versión.
- FunctionAlias
-
Obligatorio: no
El alias de la función que creó en Lambda y es la función en la que se va a implementar, por ejemplo.
live
El alias debe existir y tener una versión detrás de él cuando se inicie la ejecución de la acción. (Será la versión objetivo de la reversión).Si no se proporciona, la acción despliega el artefacto de origen
$LATEST
y crea una nueva versión. En este caso de uso, las opciones de estrategia de despliegue y versión de destino no están disponibles. - PublishedTargetVersion
-
Obligatorio: no
La versión de la función Lambda deseada en la que se va a implementar. FunctionAlias Pueden ser variables de canalización o de nivel de acción, por ejemplo
#{variables.lambdaTargetVersion}
. La versión debe publicarse cuando se inicie la ejecución de la acción.Obligatorio si no se proporciona ningún artefacto de entrada.
- DeployStrategy
-
Obligatorio: No (el valor predeterminado es
AllAtOnce
)Determina la velocidad que adopta la acción de despliegue de Lambda para cambiar el tráfico de la versión original de la función Lambda a la nueva versión. FunctionAlias Las estrategias de despliegue disponibles son canarias o lineales. Formatos aceptados:
-
AllAtOnce
-Desvía todo el tráfico a las funciones Lambda actualizadas a la vez.
Si no se especifica, el valor predeterminado es
AllAtOnce
) -
Canary10Percent5Minutes
- Desplaza el 10 por ciento del tráfico en el primer incremento. El 90 por ciento restante se implementa cinco minutos más tarde.Se pueden cambiar los valores tanto del porcentaje como de los minutos.
-
Linear10PercentEvery1Minute
- Cambia el 10 por ciento del tráfico cada minuto hasta que todo el tráfico se desplace.Se pueden cambiar los valores tanto del porcentaje como de los minutos.
Las siguientes consideraciones se aplican a este campo:
-
El tiempo de espera total máximo es de 2 días.
-
Solo está disponible cuando FunctionAliasse proporciona.
-
- Alarmas
-
Obligatorio: no
Lista de nombres de alarmas separados por comas configurados para la implementación de Lambda. Se puede agregar un máximo de 10 alarmas. La acción falla cuando las alarmas monitorizadas pasan al estado de ALARMA.
La siguiente imagen muestra un ejemplo de la página de edición de la acción.

Artefactos de entrada
-
Número de artefactos:
1
-
Descripción: Los archivos proporcionados, si los hay, para respaldar las acciones del script durante la implementación.
Artefactos de salida
-
Número de artefactos:
0
-
Descripción: los artefactos de salida no se aplican a este tipo de acción.
Variables de salida
Cuando se configura, esta acción produce variables a las que se puede hacer referencia mediante la configuración de acción de una acción descendente en la canalización. Esta acción produce variables que se pueden ver como variables de salida, incluso si la acción no tiene un espacio de nombres. Configure una acción con un espacio de nombres para que esas variables estén disponibles para la configuración de las acciones posteriores.
Para obtener más información, consulte Referencia de variables.
- FunctionVersion
-
La nueva versión de la función Lambda que se implementó.
Permisos de política de rol de servicio para la acción de despliegue de Lambda
Cuando CodePipeline se ejecuta la acción, la función de CodePipeline servicio requiere los siguientes permisos, con el alcance adecuado para acceder con los mínimos privilegios.
{ "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:*" ] } ] }
Declaración de acciones
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
Tutorial: Implementaciones de funciones Lambda con CodePipeline— En este tutorial se explica cómo crear una función Lambda de ejemplo, en la que se crean un alias y una versión, se añade la función de Lambda comprimida a la ubicación de origen y se ejecuta la acción de Lambda en la canalización.