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.
Referencia de acciones de invocación de AWS Lambda
Le permite ejecutar una función de Lambda como una acción en la canalización. Al utilizar el objeto de evento que es una entrada para esta función, la función tiene acceso a la configuración de la acción, las ubicaciones de los artefactos de entrada, las ubicaciones de los artefactos de salida y otra información necesaria para obtener acceso a los artefactos. Para ver un evento de ejemplo que se ha trasladado a una función de invocación de Lambda, consulte Ejemplo de evento JSON. Como parte de la implementación de la función Lambda, debe haber una llamada a PutJobSuccessResult
API
o PutJobFailureResult API
. De lo contrario, la ejecución de esta acción se bloquea hasta que se agote el tiempo de espera de dicha acción. Si especifica artefactos de salida para la acción, estos deben cargarse en el bucket de S3 como parte de la implementación de la función.
importante
No registre el evento JSON que CodePipeline envía a Lambda, ya que esto puede provocar que las credenciales de usuario se registren en CloudWatch Logs. El rol de CodePipeline usa un evento JSON para pasar credenciales temporales a Lambda en el campo artifactCredentials
. Para ver un ejemplo de evento, consulte Ejemplo de evento JSON.
Tipo de acción
-
Categoría:
Invoke
-
Propietario:
AWS
-
Proveedor:
Lambda
-
Versión:
1
Parámetros de configuración
- FunctionName
-
Obligatorio: sí
FunctionName
es el nombre de la función creada en Lambda. - UserParameters
-
Requerido: no
Una cadena que la función de Lambda puede procesar como entrada.
Artefactos de entrada
-
Número de artefactos:
0 to 5
-
Descripción: el conjunto de artefactos que se pondrán a disposición de la función de Lambda.
Artefactos de salida
-
Número de artefactos:
0 to 5
-
Descripción: el conjunto de artefactos que la función de Lambda produce como salida.
Variables de salida
Esta acción producirá como variables todos los pares clave-valor que están incluidos en la sección outputVariables
de la solicitud PutJobSuccessResult API.
Para obtener más información acerca de las variables en CodePipeline, consulte Referencia de variables.
Ejemplo de configuración de una acción
Ejemplo de evento JSON
La acción de Lambda envía un evento JSON que contiene el ID de trabajo, la configuración de la acción de canalización, las ubicaciones de artefactos de entrada y salida y cualquier información de cifrado de los artefactos. El proceso de trabajo obtiene acceso a estos detalles para completar la acción de Lambda. Para obtener más información, consulte Detalles del trabajo. El siguiente es un evento de ejemplo.
{ "CodePipeline.job": { "id": "
11111111-abcd-1111-abcd-111111abcdef
", "accountId": "111111111111
", "data": { "actionConfiguration": { "configuration": { "FunctionName": "MyLambdaFunction
", "UserParameters": "input_parameter
" } }, "inputArtifacts": [ { "location": { "s3Location": { "bucketName": "bucket_name
", "objectKey": "filename
" }, "type": "S3" }, "revision": null, "name": "ArtifactName
" } ], "outputArtifacts": [], "artifactCredentials": { "secretAccessKey": "secret_key
", "sessionToken": "session_token
", "accessKeyId": "access_key_ID
" }, "continuationToken": "token_ID
", "encryptionKey": { "id": "arn:aws:kms:us-west-2:111122223333:key/1234abcd-12ab-34cd-56ef-1234567890ab", "type": "KMS" } } } }
El evento JSON proporciona los siguientes detalles del trabajo para la acción de Lambda en CodePipeline:
-
id
: el ID exclusivo generado por el sistema del trabajo. -
accountId
: el ID de cuenta de AWS asociado al trabajo. -
data
: otra información necesaria para que un proceso de trabajo complete el trabajo.-
actionConfiguration
: los parámetros de acción de la acción de Lambda. Para ver definiciones, consulte Parámetros de configuración . -
inputArtifacts
: el artefacto suministrado a la acción.-
location
: la ubicación de almacenamiento de artefactos.-
s3Location
: la información de ubicación del artefacto de entrada para la acción.-
bucketName
: el nombre del almacenamiento de artefactos de canalización para el bucket de Amazon S3 denominado codepipeline-us-east-2-1234567890). -
objectKey
: el nombre de la aplicación (por ejemplo,CodePipelineDemoApplication.zip
).
-
-
type
: el tipo de artefacto en la ubicación. Actualmente,S3
es el único tipo de artefacto válido.
-
-
revision
: el ID de revisión del artefacto. En función del tipo de objeto, puede ser un ID de confirmación (GitHub) o un ID de revisión (Amazon Simple Storage Service). Para obtener más información, consulte ArtifactRevision. -
name
: el nombre del artefacto en el que se va a trabajar, como, por ejemplo,MyApp
.
-
-
outputArtifacts
: la salida de la acción.-
location
: la ubicación de almacenamiento de artefactos.-
s3Location
: la información de ubicación del artefacto de salida para la acción.-
bucketName
: el nombre del almacenamiento de artefactos de canalización para el bucket de Amazon S3 denominado codepipeline-us-east-2-1234567890). -
objectKey
: el nombre de la aplicación (por ejemplo,CodePipelineDemoApplication.zip
).
-
-
type
: el tipo de artefacto en la ubicación. Actualmente,S3
es el único tipo de artefacto válido.
-
-
revision
: el ID de revisión del artefacto. En función del tipo de objeto, puede ser un ID de confirmación (GitHub) o un ID de revisión (Amazon Simple Storage Service). Para obtener más información, consulte ArtifactRevision. -
name
: el nombre de la salida de un artefacto, como, por ejemplo,MyApp
.
-
-
artifactCredentials
: las credenciales de sesión de AWS utilizadas para obtener acceso a los artefactos de entrada y salida en el bucket de Amazon S3. Estas credenciales son credenciales temporales emitidas por AWS Security Token Service (AWS STS).-
secretAccessKey
: la clave de acceso secreta de la sesión. -
sessionToken
: el token de la sesión. -
accessKeyId
: la clave de acceso secreta de la sesión.
-
-
continuationToken
: un token generado por la acción. Las acciones futuras utilizan este token para identificar la instancia en ejecución de la acción. Cuando la acción se haya completado, no se debe proporcionar ningún token de continuación. -
encryptionKey
: la clave de cifrado utilizada para cifrar los datos en el almacenamiento de artefactos, como, por ejemplo, una clave de AWS KMS. Si no se ha definido, se utiliza la clave predeterminada de Amazon Simple Storage Service.-
id
: el ID utilizado para identificar la clave. Si se trata de una clave de AWS KMS, puede utilizar el ID de la clave, el ARN de la clave o el ARN del alias. -
type
: el tipo de clave de cifrado, como, por ejemplo, la clave de AWS KMS.
-
-
Véase también
Los recursos relacionados siguientes pueden serle de ayuda cuando trabaje con esta acción.
-
Guía del usuario de AWS CloudFormation: para obtener más información sobre las acciones y artefactos de AWS CloudFormation para las canalizaciones, consulte Uso de funciones de anulación de parámetros con canalizaciones de CodePipeline, Automatización de la implementación de aplicaciones basadas en Lambda y Artefactos de AWS CloudFormation.
-
Invoca una AWS Lambda función en una canalización en CodePipeline: este procedimiento proporciona un ejemplo de función de Lambda y muestra cómo utilizar la consola para crear una canalización con una acción de invocación de Lambda.