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
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 o evento JSON que é CodePipeline enviado para o Lambda, pois isso pode fazer com que as credenciais do usuário sejam registradas no Logs. CloudWatch A CodePipeline função 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
Essa ação produzirá como variáveis todos os pares de valores-chave incluídos na outputVariables
seção da solicitação da PutJobSuccessResult API.
Para obter mais informações sobre variáveis em CodePipeline, consulteVariáveis.
Exemplo de configuração da ação
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 em: CodePipeline
-
id
: o ID exclusivo do trabalho gerado pelo sistema. -
accountId
: a ID da AWS conta associada 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 codepipeline-us-east chamado -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, isso 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 codepipeline-us-east chamado -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, isso 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 AWS sessão 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 AWS KMS chave. 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.
-
AWS CloudFormation Guia do usuário — Para obter mais informações sobre ações e AWS CloudFormation artefatos do Lambda para pipelines, consulte Usando funções de substituição de parâmetros com CodePipeline pipelines, automatizando a implantação de aplicativos baseados em Lambda e artefatos.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.