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á.
Permite executar uma função do Lambda como uma ação no pipeline. Usando o objeto de evento que é uma entrada para essa função, a função tem acesso à configuração da ação, aos locais dos artefatos de entrada, aos locais dos artefatos de saída e a outras informações necessárias para acessar os artefatos. Para obter um exemplo de evento passado para uma função de invocação do Lambda, consulte Exemplo de evento JSON. Como parte da implementação da função Lambda, deve haver uma chamada para a PutJobSuccessResult
API
ou PutJobFailureResult API
. Caso contrário, a execução dessa ação trava até que a ação atinja o tempo limite. Se você especificar artefatos de saída para a ação, será necessário fazer upload deles no bucket do S3 como parte da implementação da função.
Importante
Não registre em log o evento JSON que o CodePipeline envia para o Lambda, pois isso pode fazer com que as credenciais do usuário sejam registradas em log no CloudWatch Logs. O perfil CodePipeline usa um evento JSON para passar credenciais temporárias para o Lambda no campo artifactCredentials
. Para obter um evento de exemplo, consulte Exemplo de evento JSON.
Tipo de ação
-
Categoria:
Invoke
-
Proprietário:
AWS
-
Fornecedor:
Lambda
-
Versão:
1
Parâmetros de configuração
- FunctionName
-
Obrigatório: Sim
FunctionName
é o nome da função criada no Lambda. - UserParameters
-
Obrigatório: Não
Uma string que pode ser processada como entrada pela função do Lambda.
Input artifacts (Artefatos de entrada)
-
Número de artefatos:
0 to 5
-
Descrição: o conjunto de artefatos a ser disponibilizado para a função do Lambda.
Artefatos de saída
-
Número de artefatos:
0 to 5
-
Descrição: o conjunto de artefatos produzidos como saída pela função do Lambda.
Variáveis de saída
Esta ação produzirá como variáveis todos os pares de chave-valor incluídos na seção outputVariables
da solicitação da API PutJobSuccessResult.
Para obter mais informações sobre variáveis no CodePipeline, consulte Referência de variáveis.
Exemplo de configuração da ação
Name: Lambda
Actions:
- Name: Lambda
ActionTypeId:
Category: Invoke
Owner: AWS
Provider: Lambda
Version: '1'
RunOrder: 1
Configuration:
FunctionName: myLambdaFunction
UserParameters: 'http://192.0.2.4'
OutputArtifacts: []
InputArtifacts: []
Region: us-west-2
Exemplo de evento JSON
A ação Lambda envia um evento JSON que contém o ID do trabalho, a configuração da ação do pipeline, os locais dos artefatos de entrada e saída e todas as informações de criptografia dos artefatos. O operador do trabalho acessa esses detalhes para concluir a ação Lambda. Para obter mais informações, consulte detalhes do trabalho. O comando a seguir é um exemplo de evento.
{ "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" } } } }
O evento JSON fornece os seguintes detalhes do trabalho para a ação Lambda no CodePipeline:
-
id
: o ID exclusivo do trabalho gerado pelo sistema. -
accountId
: o ID da conta da AWS associado ao trabalho. -
data
: outras informações necessárias para que um operador de trabalho conclua o trabalho.-
actionConfiguration
: os parâmetros de ação para a ação Lambda. Para obter definições, consulte Parâmetros de configuração . -
inputArtifacts
: o artefato fornecido à ação.-
location
: o local de armazenamento do artefato.-
s3Location
: as informações do local do artefato de entrada para a ação.-
bucketName
: o nome do armazenamento de artefatos do pipeline para a ação (por exemplo, um bucket do Amazon S3 chamado codepipeline-us-east-2-1234567890). -
objectKey
: o nome do aplicativo (por exemplo,CodePipelineDemoApplication.zip
).
-
-
type
: o tipo de artefato no local. Atualmente,S3
é o único tipo de artefato válido.
-
-
revision
: o ID de revisão do artefato. Dependendo do tipo de objeto, pode ser um ID de confirmação (GitHub) ou um ID de revisão (Amazon Simple Storage Service). Para obter mais informações, consulte ArtifactRevision. -
name
: o nome do artefato a ser trabalhado, comoMyApp
.
-
-
outputArtifacts
: a saída da ação.-
location
: o local de armazenamento do artefato.-
s3Location
: as informações do local do artefato de saída para a ação.-
bucketName
: o nome do armazenamento de artefatos do pipeline para a ação (por exemplo, um bucket do Amazon S3 chamado codepipeline-us-east-2-1234567890). -
objectKey
: o nome do aplicativo (por exemplo,CodePipelineDemoApplication.zip
).
-
-
type
: o tipo de artefato no local. Atualmente,S3
é o único tipo de artefato válido.
-
-
revision
: o ID de revisão do artefato. Dependendo do tipo de objeto, pode ser um ID de confirmação (GitHub) ou um ID de revisão (Amazon Simple Storage Service). Para obter mais informações, consulte ArtifactRevision. -
name
: o nome da saída de um artefato, comoMyApp
.
-
-
artifactCredentials
: as credenciais da sessão da AWS usadas para acessar artefatos de entrada e saída no bucket do Amazon S3. Essas credenciais são credenciais temporárias emitidas pelo AWS Security Token Service (AWS STS).-
secretAccessKey
: a chave de acesso secreta da sessão. -
sessionToken
: o token da sessão. -
accessKeyId
: a chave de acesso secreta da sessão.
-
-
continuationToken
: um token gerado pela ação. Ações futuras usarão esse token para identificar a instância em execução da ação. Quando a ação for concluída, nenhum token de continuação deverá ser fornecido. -
encryptionKey
: a chave de criptografia usada para criptografar os dados no armazenamento de artefatos, como uma chave do AWS KMS. Se isso não for definido, a chave padrão do Amazon Simple Storage Service será usada.-
id
: o ID usado para identificar a chave. Para uma chave do AWS KMS, você pode usar o ID da chave, o ARN da chave ou o ARN do alias. -
type
: o tipo de chave de criptografia, como uma chave do AWS KMS.
-
-
Consulte também
Os recursos relacionados a seguir podem ajudar você à medida que trabalha com esta ação.
-
Guia do usuário do AWS CloudFormation: para obter mais informações sobre as ações Lambda e os artefatos do AWS CloudFormation para pipelines, consulte Usar funções de substituição de parâmetros com pipelines do CodePipeline, Automatizar a implantação de aplicativos baseados em Lambda e Artefatos do AWS CloudFormation.
-
Invoque uma AWS Lambda função em um pipeline em CodePipeline: este procedimento fornece um exemplo de função do Lambda e mostra como usar o console para criar um pipeline com uma ação de invocação Lambda.