Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
AWS Lambda
Consente di eseguire una funzione Lambda come azione nella pipeline. Utilizzando l'oggetto evento che è un input per questa funzione, la funzione ha accesso alla configurazione dell'operazione, alle posizioni degli artefatti di input, alle posizioni degli artefatti di output e ad altre informazioni necessarie per accedere agli artefatti. Per un evento di esempio passato a una funzione di richiamo Lambda, vedereEvento JSON di esempio. Come parte dell'implementazione della funzione Lambda, deve esserci una chiamata a PutJobSuccessResult
API
o PutJobFailureResult API
. In caso contrario, l'esecuzione di questa operazione si blocca fino a che l'operazione non scade. Se specifichi artefatti di output per l'operazione, questi devono essere caricati nel bucket S3 come parte dell'implementazione della funzione.
Importante
Non registrare l'evento JSON CodePipeline inviato a Lambda perché ciò può comportare la registrazione delle credenziali utente nei CloudWatch registri. Il CodePipeline ruolo utilizza un evento JSON per passare credenziali temporanee a Lambda sulartifactCredentials
campo. Per un evento di esempio, consultare Evento JSON di esempio.
Tipo di operazione
-
Categoria:
Invoke
-
Proprietario:
AWS
-
Provider:
Lambda
-
Versione:
1
Parametri di configurazione
- FunctionName
-
Campo obbligatorio: sì
FunctionName
è il nome della funzione creata in Lambda. - UserParameters
-
Required: No
Una stringa che può essere elaborata come input dalla funzione Lambda.
Input artifact (Artefatti di input)
-
Numero di artefatti:
0 to 5
-
Descrizione: L'insieme di artefatti da rendere disponibili alla funzione Lambda.
Artefatti di output
-
Numero di artefatti:
0 to 5
-
Descrizione: L'insieme di artefatti prodotti come output dalla funzione Lambda.
Variabili di output
Questa azione produrrà come variabili tutte le coppie chiave-valore incluse nellaoutputVariables
sezione della richiesta PutJobSuccessResult API.
Per ulteriori informazioni sulle variabili in CodePipeline, consultaVariables.
Esempio di configurazione dell'operazione
Evento JSON di esempio
L'azione Lambda invia un evento JSON che contiene l'ID del lavoro, la configurazione dell'azione della pipeline, le posizioni degli artefatti di input e output e qualsiasi informazione di crittografia per gli artefatti. L'operatore accede a questi dettagli per completare l'azione Lambda. Per ulteriori informazioni, consulta Dettagli del processo. Di seguito è riportato un esempio di 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" } } } }
L'evento JSON fornisce i seguenti dettagli del lavoro per l'azione Lambda in CodePipeline:
-
id
: l'ID univoco generato dal sistema del processo. -
accountId
: l'IDAWS dell'account associato al lavoro. -
data
: altre informazioni richieste da un esecutore del processo per completare il processo.-
actionConfiguration
: i parametri di operazione per l'operazione Lambda. Per le definizioni, consulta Parametri di configurazione . -
inputArtifacts
: l'artefatto fornito all'operazione.-
location
: la posizione dello store degli artefatti.-
s3Location
: le informazioni sulla posizione dell'artefatto di input per l'operazione.-
bucketName
: il nome dell'archivio degli artefatti della pipeline per l'azione (ad esempio, un bucket Amazon S3 denominato codepipeline-us-east -2-1234567890). -
objectKey
: il nome dell'applicazione (ad esempio,CodePipelineDemoApplication.zip
).
-
-
type
: il tipo di artefatto nella posizione. Al momento,S3
è l'unico tipo di artefatto valido.
-
-
revision
: l'ID revisione dell'artefatto. A seconda del tipo di oggetto, può essere un commit ID (GitHub) o un ID di revisione (Amazon Simple Storage Service). Per ulteriori informazioni, consulta ArtifactRevision. -
name
: il nome dell'artefatto da utilizzare, ad esempioMyApp
.
-
-
outputArtifacts
: l'output dell'operazione.-
location
: la posizione dello store degli artefatti.-
s3Location
: le informazioni sulla posizione dell'artefatto di output per l'operazione.-
bucketName
: il nome dell'archivio degli artefatti della pipeline per l'azione (ad esempio, un bucket Amazon S3 denominato codepipeline-us-east -2-1234567890). -
objectKey
: il nome dell'applicazione (ad esempio,CodePipelineDemoApplication.zip
).
-
-
type
: il tipo di artefatto nella posizione. Al momento,S3
è l'unico tipo di artefatto valido.
-
-
revision
: l'ID revisione dell'artefatto. A seconda del tipo di oggetto, può essere un commit ID (GitHub) o un ID di revisione (Amazon Simple Storage Service). Per ulteriori informazioni, consulta ArtifactRevision. -
name
: il nome dell'output di un artefatto, ad esempioMyApp
.
-
-
artifactCredentials
: le credenziali diAWS sessione utilizzate per accedere agli artefatti di input e output nel bucket Amazon S3. Queste credenziali sono credenziali temporanee emesse da AWS Security Token Service (AWS STS).-
secretAccessKey
: la chiave di accesso segreta per la sessione. -
sessionToken
: il token per la sessione. -
accessKeyId
: la chiave di accesso segreta per la sessione.
-
-
continuationToken
: un token generato dall'operazione. Le operazioni future utilizzano questo token per identificare l'istanza in esecuzione dell'operazione. Al termine dell'operazione, non è necessario fornire alcun token di continuazione. -
encryptionKey
: la chiave di crittografia utilizzata per crittografare i dati nello store degli artefatti, ad esempio una chiave AWS KMS. Se non è definita, viene utilizzata la chiave predefinita per Amazon Simple Storage Service.-
id
: l'ID utilizzato per identificare la chiave. Per una chiave AWS KMS, puoi utilizzare l'ID della chiave, l'ARN della chiave o l'ARN dell'alias. -
type
: il tipo di chiave di crittografia, ad esempio una chiave AWS KMS.
-
-
Consulta anche
Le risorse correlate seguenti possono essere utili durante l'utilizzo di questa operazione.
-
AWS CloudFormationGuida per l'utente: per ulteriori informazioni sulle azioni Lambda e sugliAWS CloudFormation artefatti per le pipeline, vedere Uso delle funzioni di sostituzione dei parametri con le CodePipeline pipeline, Automazione della distribuzione delle applicazioni basate su Lambda e AWS CloudFormationArtefatti.
-
Invocazione di una funzione AWS Lambda in una pipeline in CodePipeline— Questa procedura fornisce un esempio di funzione Lambda e mostra come utilizzare la console per creare una pipeline con un'azione di richiamo Lambda.