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.
Tutorial: Implementaciones de funciones Lambda con CodePipeline
Este tutorial le ayuda a crear una acción de despliegue CodePipeline que despliegue el código en la función que haya configurado en Lambda. Creará una función Lambda de ejemplo en la que creará un alias y una versión, añadirá la función Lambda comprimida a la ubicación de origen y ejecutará la acción de Lambda en su canalización.
nota
Como parte de la creación de una canalización en la consola, para los artefactos se utilizará un depósito de artefactos de S3. CodePipeline (Es diferente del bucket que se usa para una acción de origen de S3). Si el depósito de artefactos de S3 está en una cuenta diferente a la de tu canalización, asegúrate de que el depósito de artefactos de S3 pertenezca a una Cuentas de AWS persona segura y fiable.
nota
La acción de Lambda
despliegue solo está disponible para canalizaciones de tipo V2.
Requisitos previos
Para poder usar este tutorial para crear su propia canalización de implementación continua debe tener instalados algunos recursos. Esto es lo que necesita para empezar:
nota
Todos estos recursos deben crearse en la misma AWS región.
-
Un repositorio de control de código fuente GitHub, por ejemplo, o un depósito de S3 de origen (en este tutorial se utiliza S3) donde almacenará un
.zip
archivo que cree para la función Lambda. -
Debe usar un rol de CodePipeline servicio existente que se haya actualizado con los permisos para esta acción. Para actualizar su función de servicio, consultePermisos de política de rol de servicio para la acción de despliegue de Lambda.
Una vez satisfechos estos requisitos previos, puede continuar con el tutorial y crear su canalización de implementación continua.
Paso 1: Cree su función Lambda de muestra
En este paso, creará la función Lambda en la que se desplegará.
Para crear una función de Lambda
-
Acceda a la consola Lambda y siga los pasos del siguiente tutorial para crear un ejemplo de función Lambda: enlace.
-
En la barra de navegación superior, elija Crear y, en la parte superior de la página, seleccione Comenzar desde cero.
-
En Name (Nombre), escriba
MyLambdaFunction
. -
Publica una nueva versión. Esta será la versión a la que apuntará el alias.
-
Selecciona tu función.
-
Selecciona el menú desplegable Acciones.
-
Elija Publicar nueva versión.
-
(Opcional) Añádelo a la descripción de la descripción.
-
Elija Publicar.
-
-
Cree un alias para la función, por ejemplo
aliasV1
. -
Asegúrese de que el alias apunte a la versión que acaba de crear (por ejemplo, 1).
nota
Si elige $LATEST, no podrá usar las funciones de transferencia de tráfico porque Lambda no admite $LATEST para un alias que apunte a más de una versión.
Paso 2: Sube el archivo de funciones a tu repositorio
Descarga la función y guárdala como un archivo zip. Cargue el archivo comprimido en su bucket de S3 siguiendo estos pasos.
Para añadir un archivo .zip
a su repositorio de código fuente
-
Abre tu bucket de S3.
-
Seleccione Cargar.
-
Sube el archivo zip que contiene tu
sample_lambda_source.zip
archivo a tu bucket de origen.Toma nota de la ruta.
object key
Paso 3: Crear tu canalización
Usa el CodePipeline asistente para crear las etapas de tu canalización y conectar tu repositorio de origen.
Para crear la canalización
Abre la CodePipeline consola en https://console.aws.amazon.com/codepipeline/
. -
En la página Bienvenido, Introducción o Canalizaciones, elija Crear canalización.
-
En la página Paso 1: elección de la opción de creación, en Opciones de creación, seleccione la opción Crear una canalización personalizada. Elija Siguiente.
-
En Paso 2: elegir la configuración de la canalización, en Nombre de la canalización, escriba
MyPipeline
. -
CodePipeline proporciona tuberías de tipo V1 y V2, que difieren en características y precio. El tipo V2 es el único tipo que puede elegir en la consola. Para obtener más información, consulte Tipos de canalización. Para obtener información sobre los precios de CodePipeline, consulte Precios
. -
En Función de servicio, elija Usar la función de servicio existente y, a continuación, elija la función de CodePipeline servicio que se ha actualizado con los permisos necesarios para esta acción. Para configurar el rol CodePipeline de servicio para esta acción, consultePermisos de política de rol de servicio para la acción de despliegue de Lambda.
-
En Advanced settings (Configuración avanzada), deje los valores predeterminados y elija Next (Siguiente).
-
En la página Paso 3: agregar la etapa de origen, agregue una etapa de origen:
-
En Source provider (Proveedor de código fuente), elija Amazon S3.
-
En la clave de objeto, añada el nombre del archivo.zip, incluida la extensión del archivo, por ejemplo.
sample_lambda_source.zip
Elija Siguiente.
-
-
En la página Paso 4: Añadir una etapa de compilación, selecciona Omitir.
-
En la página Paso 5: Añadir una fase de prueba, selecciona Omitir.
-
En la página Paso 6: Añadir fase de despliegue, elija Lambda.
-
Añada el nombre y el alias de su función.
-
Elija su estrategia de despliegue.
-
Elija Siguiente.
-
-
En la página Paso 7: Revisar, revisa la configuración de la canalización y selecciona Crear canalización para crear la canalización.
Paso 4: Probar la canalización
Su canalización debe tener todo lo necesario para ejecutar una implementación AWS continua end-to-end nativa. Ahora, pruebe su funcionalidad enviando un cambio de código al repositorio de código fuente.
Para probar la canalización
-
Realice una modificación del código en el repositorio de código fuente configurado, valide y envíe el cambio.
Abra la CodePipeline consola en https://console.aws.amazon.com/codepipeline/
. -
Seleccione su canalización de la lista.
-
Vea el progreso en la canalización a través de sus etapas. La canalización debería completarse y la acción se implementará en la función Lambda.
Más información
La acción de despliegue de Lambda permite dos métodos de despliegue. Un método consiste en cambiar el tráfico por sí solo sin que la acción de origen produzca un artefacto de entrada. El otro método consiste en actualizar el código de la función mediante un artefacto de entrada de la acción fuente y, a continuación, publicar una nueva versión basada en el código actualizado. Para el segundo método, si se proporciona el alias, también CodePipeline se realizará el cambio de tráfico. En este tutorial sobre la acción de implementación de Lambda, se muestra cómo actualizar la función mediante un artefacto fuente.
Para obtener más información sobre la acción, consulte la página de referencia de la acción en. AWS Lambda implementar referencia de acción