Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
AWS Lambda Aktionsreferenz aufrufen
Ermöglicht es Ihnen, eine Lambda-Funktion als Aktion in Ihrer Pipeline auszuführen. Mit dem Ereignisobjekt, das eine Eingabe für diese Funktion ist, hat die Funktion Zugriff auf die Aktionskonfiguration, Speicherorte der Eingabeartefakte, Speicherorte der Ausgabeartefakte und andere Informationen, die für den Zugriff auf die Artefakte erforderlich sind. Ein Beispielereignis, das an eine Lambda-Aufruffunktion übergeben wurde, finden Sie unter. Beispiel für ein JSON Ereignis Im Rahmen der Implementierung der Lambda-Funktion muss entweder PutJobSuccessResult
API
oder PutJobFailureResult API
aufgerufen werden. Andernfalls hängt die Ausführung dieser Aktion, bis die Aktion abläuft. Wenn Sie Ausgabeartefakte für die Aktion angeben, müssen sie als Teil der Funktionsimplementierung in den S3-Bucket hochgeladen werden.
Wichtig
Protokollieren Sie nicht das JSON Ereignis, das CodePipeline an Lambda gesendet wird, da dies dazu führen kann, dass Benutzeranmeldeinformationen in CloudWatch Logs protokolliert werden. Die CodePipeline Rolle verwendet ein JSON Ereignis, um temporäre Anmeldeinformationen vor artifactCredentials
Ort an Lambda zu übergeben. Ein Beispiel für ein Ereignis finden Sie unter JSON-Beispielereignis.
Aktionstyp
-
Kategorie:
Invoke
-
Eigentümer:
AWS
-
Anbieter:
Lambda
-
Version:
1
Konfigurationsparameter
- FunctionName
-
Erforderlich: Ja
FunctionName
ist der Name der in Lambda erstellten Funktion. - UserParameters
-
Erforderlich: Nein
Eine Zeichenfolge, die als Eingabe von der Lambda-Funktion verarbeitet werden kann.
Input artifacts (Eingabeartefakte)
-
Anzahl der Artefakte:
0 to 5
-
Beschreibung: Der Satz von Artefakten, die der Lambda-Funktion zur Verfügung gestellt werden sollen.
Ausgabeartefakte
-
Anzahl der Artefakte:
0 to 5
-
Beschreibung: Der Satz von Artefakten, die als Ausgabe von der Lambda-Funktion erzeugt werden.
Ausgabevariablen
Diese Aktion erzeugt alle Schlüssel-Wert-Paare, die im outputVariables
Abschnitt der Anfrage enthalten sind, als Variablen. PutJobSuccessResult API
Weitere Hinweise zu Variablen in CodePipeline finden Sie unter. Variablen-Referenz
Beispielaktionskonfiguration
Beispiel für ein JSON Ereignis
Die Lambda-Aktion sendet ein JSON Ereignis, das die Job-ID, die Konfiguration der Pipeline-Aktion, die Speicherorte der Eingabe- und Ausgabeartefakte und alle Verschlüsselungsinformationen für die Artefakte enthält. Der Jobworker greift auf diese Details zu, um die Lambda-Aktion abzuschließen. Weitere Informationen finden Sie unter Auftragsdetails. Es folgt ein Beispielereignis.
{ "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" } } } }
Das JSON Ereignis enthält die folgenden Jobdetails für die Lambda-Aktion in CodePipeline:
-
id
: Die eindeutige, vom System generierte ID des Auftrags. -
accountId
: Die dem Job zugeordnete AWS Konto-ID. -
data
: Sonstige Informationen, die für einen Auftragsworker erforderlich sind, um den Auftrag abzuschließen.-
actionConfiguration
: Die Aktionsparameter für die Lambda-Aktion. Definitionen finden Sie unter Konfigurationsparameter . -
inputArtifacts
: Das für die Aktion bereitgestellte Artefakt.-
location
: Der Speicherort des Artefaktspeichers.-
s3Location
: Die Informationen zum Speicherort des Eingabeartefakts für die Aktion.-
bucketName
: Der Name des Pipeline-Artefaktspeichers für die Aktion (z. B. ein Amazon S3 S3-Bucket mit dem Namen codepipeline-us-east -2-1234567890). -
objectKey
: Der Name der Anwendung (z. B.CodePipelineDemoApplication.zip
).
-
-
type
: Der Typ des Artefakts am Speicherort. Derzeit istS3
der einzige gültige Artefakttyp.
-
-
revision
: Die Revisions-ID des Artefakts. Je nach Objekttyp kann dies eine Commit-ID (GitHub) oder eine Revision-ID (Amazon Simple Storage Service) sein. Weitere Informationen finden Sie unter ArtifactRevision. -
name
: Der Name des zu bearbeitenden Artefakts, z. B.MyApp
.
-
-
outputArtifacts
: Die Ausgabe der Aktion.-
location
: Der Speicherort des Artefaktspeichers.-
s3Location
: Die Speicherortinformationen des Ausgabeartefakts für die Aktion.-
bucketName
: Der Name des Pipeline-Artefaktspeichers für die Aktion (z. B. ein Amazon S3 S3-Bucket mit dem Namen codepipeline-us-east -2-1234567890). -
objectKey
: Der Name der Anwendung (z. B.CodePipelineDemoApplication.zip
).
-
-
type
: Der Typ des Artefakts am Speicherort. Derzeit istS3
der einzige gültige Artefakttyp.
-
-
revision
: Die Revisions-ID des Artefakts. Je nach Objekttyp kann dies eine Commit-ID (GitHub) oder eine Revision-ID (Amazon Simple Storage Service) sein. Weitere Informationen finden Sie unter ArtifactRevision. -
name
: Der Name der Ausgabe eines Artefakts, z. B.MyApp
.
-
-
artifactCredentials
: Die AWS Sitzungsdaten, die für den Zugriff auf Eingabe- und Ausgabeartefakte im Amazon S3 S3-Bucket verwendet werden. Diese Anmeldeinformationen sind temporäre Anmeldeinformationen, die von AWS Security Token Service (AWS STS) ausgestellt werden.-
secretAccessKey
: Der geheime Zugriffsschlüssel für die Sitzung. -
sessionToken
: Das Token für die Sitzung. -
accessKeyId
: Der geheime Zugriffsschlüssel für die Sitzung.
-
-
continuationToken
: Ein von der Aktion generiertes Token. Zukünftige Aktionen verwenden dieses Token, um die laufende Instance der Aktion zu identifizieren. Wenn die Aktion abgeschlossen ist, sollte kein Fortsetzungs-Token übermittelt werden. -
encryptionKey
: Der Verschlüsselungsschlüssel, der zum Verschlüsseln der Daten im Artefaktspeicher verwendet wird, z. B. ein AWS KMS Schlüssel. Wenn dieser nicht definiert ist, wird der Standardschlüssel für Amazon Simple Storage Service verwendet.-
id
: Die ID, die verwendet wurde, um den Schlüssel zu identifizieren. Für einen AWS KMS Schlüssel können Sie die Schlüssel-ID, den Schlüssel ARN oder den Alias ARN verwenden. -
type
: Der Typ des Verschlüsselungsschlüssels, z. B. ein AWS KMS -Schlüssel.
-
-
Weitere Informationen finden Sie auch unter
Die folgenden verwandten Ressourcen bieten Ihnen nützliche Informationen für die Arbeit mit dieser Aktion.
-
AWS CloudFormation Benutzerhandbuch — Weitere Informationen zu Lambda-Aktionen und AWS CloudFormation Artefakten für Pipelines finden Sie unter Verwenden von Parameterüberschreibungsfunktionen mit CodePipeline Pipelines, Automatisieren der Bereitstellung von Lambda-basierten Anwendungen und Artefakten.AWS CloudFormation
-
Rufen Sie eine AWS Lambda Funktion in einer Pipeline auf in CodePipeline— Dieses Verfahren enthält eine Lambda-Beispielfunktion und zeigt Ihnen, wie Sie mithilfe der Konsole eine Pipeline mit einer Lambda-Aufrufaktion erstellen.