Aktion 'AWS Lambda aufrufen' YAML - Amazon CodeCatalyst

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.

Aktion 'AWS Lambda aufrufen' YAML

Im Folgenden finden Sie die YAML Definition der Aktion „AWS Lambda Aufrufen“. Informationen zur Verwendung dieser Aktion finden Sie unterAufrufen einer Lambda-Funktion mithilfe eines Workflows.

Diese Aktionsdefinition ist als Abschnitt in einer umfassenderen Workflow-Definitionsdatei vorhanden. Weitere Informationen über diese Datei finden Sie unter YAMLWorkflow-Definition.

Anmerkung

Die meisten der folgenden YAML Eigenschaften haben entsprechende Benutzeroberflächenelemente im visuellen Editor. Verwenden Sie Strg+F, um nach einem UI-Element zu suchen. Das Element wird mit der zugehörigen YAML Eigenschaft aufgelistet.

# The workflow definition starts here. # See Eigenschaften der obersten Ebene for details. Name: MyWorkflow SchemaVersion: 1.0 Actions: # The action definition starts here. LambdaInvoke_nn: Identifier: aws/lambda-invoke@v1 DependsOn: - dependent-action Compute: Type: EC2 | Lambda Fleet: fleet-name Timeout: timeout-minutes Inputs: # Specify a source or an artifact, but not both. Sources: - source-name-1 Artifacts: - request-payload Variables: - Name: variable-name-1 Value: variable-value-1 - Name: variable-name-2 Value: variable-value-2 Environment: Name: environment-name Connections: - Name: account-connection-name Role: iam-role-name Configuration: Function: my-function|function-arn AWSRegion: us-west-2 # Specify RequestPayload or RequestPayloadFile, but not both. RequestPayload: '{"firstname": "Li", lastname: "Jean", "company": "ExampleCo", "team": "Development"}' RequestPayloadFile: my/request-payload.json ContinueOnError: true|false LogType: Tail|None ResponseFilters: '{"name": ".name", "company": ".department.company"}' Outputs: Artifacts: - Name: lambda_artifacts Files: - "lambda-response.json"

LambdaInvoke

(Erforderlich)

Geben Sie den Namen der Aktion an. Alle Aktionsnamen müssen innerhalb des Workflows eindeutig sein. Aktionsnamen sind auf alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) und Unterstriche (_) beschränkt. Leerzeichen sind nicht erlaubt. Sie können keine Anführungszeichen verwenden, um Sonderzeichen und Leerzeichen in Aktionsnamen zuzulassen.

Standard: Lambda_Invoke_Action_Workflow_nn.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Aktionsname“

Identifier

(LambdaInvoke/Identifier)

(Erforderlich)

Identifiziert die Aktion. Ändern Sie diese Eigenschaft nicht, es sei denn, Sie möchten die Version ändern. Weitere Informationen finden Sie unter Angabe der zu verwendenden Aktionsversion.

Standard: aws/lambda-invoke@v1.

Entsprechende Benutzeroberfläche: Workflow-Diagram/ LambdaInvoke _nn/ aws/lambda-invoke @v1 label

DependsOn

(LambdaInvoke/DependsOn)

(Optional)

Geben Sie eine Aktion, eine Aktionsgruppe oder ein Gate an, die erfolgreich ausgeführt werden müssen, damit diese Aktion ausgeführt werden kann.

Weitere Hinweise zur Funktion „Hängt davon ab“ finden Sie unter. Aktionen sequenzieren

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Hängt davon ab“ — optional

Compute

(LambdaInvoke/Compute)

(Optional)

Die Rechen-Engine, die zur Ausführung Ihrer Workflow-Aktionen verwendet wurde. Sie können die Berechnung entweder auf Workflow-Ebene oder auf Aktionsebene angeben, aber nicht beide. Wenn auf Workflow-Ebene angegeben, gilt die Rechenkonfiguration für alle im Workflow definierten Aktionen. Auf Workflow-Ebene können Sie auch mehrere Aktionen auf derselben Instanz ausführen. Weitere Informationen finden Sie unter Rechenleistung für mehrere Aktionen gemeinsam nutzen.

Entsprechende Benutzeroberfläche: keine

Type

(LambdaInvoke/Compute/Type)

(Erforderlich, wenn Compute es enthalten ist)

Der Typ der Compute Engine. Sie können einen der folgenden Werte verwenden:

  • EC2(visueller Editor) oder EC2 (YAMLEditor)

    Optimiert für Flexibilität bei Aktionsläufen.

  • Lambda (visueller Editor) oder Lambda (YAMLEditor)

    Optimierte Startgeschwindigkeiten für Aktionen.

Weitere Informationen zu Datentypen finden Sie unter Berechnungstypen.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Berechnungstyp

Fleet

(LambdaInvoke/Compute/Fleet)

(Optional)

Geben Sie die Maschine oder Flotte an, auf der Ihr Workflow oder Ihre Workflow-Aktionen ausgeführt werden sollen. Bei bedarfsgesteuerten Flotten stellt der Workflow zu Beginn einer Aktion die benötigten Ressourcen bereit, und die Maschinen werden zerstört, wenn die Aktion abgeschlossen ist. Beispiele für Flotten auf Abruf:Linux.x86-64.Large,. Linux.x86-64.XLarge Weitere Informationen zu Flotten auf Abruf finden Sie unter. Flotteneigenschaften auf Abruf

Bei bereitgestellten Flotten konfigurieren Sie eine Reihe von dedizierten Maschinen, um Ihre Workflow-Aktionen auszuführen. Diese Maschinen bleiben im Leerlauf und sind bereit, Aktionen sofort zu verarbeiten. Weitere Informationen zu bereitgestellten Flotten finden Sie unter. Bereitgestellte Flotteneigenschaften

Wenn Fleet es weggelassen wird, ist die Standardeinstellung. Linux.x86-64.Large

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/„Flotte berechnen

Timeout

(LambdaInvoke/Timeout)

(Erforderlich)

Geben Sie den Zeitraum in Minuten (YAMLEditor) oder Stunden und Minuten (visueller Editor) an, für den die Aktion ausgeführt werden kann, bevor die Aktion CodeCatalyst beendet wird. Das Minimum beträgt 5 Minuten und das Maximum ist unter beschriebenKontingente für Workflows in CodeCatalyst. Das Standard-Timeout entspricht dem maximalen Timeout.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Timeout“ — optional

Inputs

(LambdaInvoke/Inputs)

(Erforderlich)

Der Inputs Abschnitt definiert die Daten, die die AWS Lambda Aufrufaktion während einer Workflow-Ausführung benötigt.

Anmerkung

Pro AWS Lambda Aufrufaktion ist nur eine Eingabe (entweder eine Quelle oder ein Artefakt) zulässig. Variablen werden auf diese Summe nicht angerechnet.

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben

Sources

(LambdaInvoke/Inputs/Sources)

(RequestPayloadFileErforderlich, falls angegeben)

Wenn Sie eine JSON Anforderungs-Payload-Datei an die AWS Lambda Aufruf-Aktion übergeben möchten und diese Payload-Datei in einem Quell-Repository gespeichert ist, geben Sie das Label dieses Quell-Repositorys an. Derzeit ist das einzige unterstützte Label. WorkflowSource

Wenn Ihre Anforderungs-Payload-Datei nicht in einem Quell-Repository enthalten ist, muss sie sich in einem Artefakt befinden, das durch eine andere Aktion generiert wurde.

Weitere Hinweise zur Payload-Datei finden Sie unter. RequestPayloadFile

Anmerkung

Anstatt eine Payload-Datei anzugeben, können Sie den JSON Payload-Code mithilfe der Eigenschaft direkt zur Aktion hinzufügen. RequestPayload Weitere Informationen finden Sie unter RequestPayload.

Weitere Informationen zu Quellen finden Sie unter Quell-Repositorys mit Workflows verbinden.

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Quellen“ — optional

Artifacts - input

(LambdaInvoke/Inputs/Artifacts)

(Erforderlich, falls RequestPayloadFileangegeben)

Wenn Sie eine JSON Anforderungs-Payload-Datei an die AWS Lambda Aufruf-Aktion übergeben möchten und diese Payload-Datei in einem Ausgabeartefakt einer vorherigen Aktion enthalten ist, geben Sie dieses Artefakt hier an.

Weitere Hinweise zur Payload-Datei finden Sie unter. RequestPayloadFile

Anmerkung

Anstatt eine Payload-Datei anzugeben, können Sie den JSON Payload-Code mithilfe der Eigenschaft direkt zur Aktion hinzufügen. RequestPayload Weitere Informationen finden Sie unter RequestPayload.

Weitere Informationen zu Artefakten, einschließlich Beispielen, finden Sie unter. Artefakte und Dateien zwischen Aktionen teilen

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/„Artefakte“ — optional

Variables - input

(LambdaInvoke/Inputs/Variables)

(Optional)

Geben Sie eine Folge von Name/Wert-Paaren an, die die Eingabevariablen definieren, die Sie für die Aktion verfügbar machen möchten. Variablennamen sind auf alphanumerische Zeichen (a-z, A-Z, 0-9), Bindestriche (-) und Unterstriche (_) beschränkt. Leerzeichen sind nicht erlaubt. Sie können keine Anführungszeichen verwenden, um Sonderzeichen und Leerzeichen in Variablennamen zuzulassen.

Weitere Informationen zu Variablen, einschließlich Beispielen, finden Sie unterVerwenden von Variablen in Workflows.

Entsprechende Benutzeroberfläche: Registerkarte „Eingaben“/„Variablen“ — optional

Environment

(LambdaInvoke/Environment)

(Erforderlich)

Geben Sie die CodeCatalyst Umgebung an, die für die Aktion verwendet werden soll. Die Aktion stellt eine Verbindung zu dem in der ausgewählten Umgebung VPC angegebenen AWS-Konto und optionalen Amazon her. Die Aktion verwendet die in der Umgebung angegebene IAM Standardrolle, um eine Verbindung zum herzustellen AWS-Konto, und verwendet die in der VPCAmazon-Verbindung angegebene IAM Rolle, um eine Verbindung zum Amazon herzustellenVPC.

Anmerkung

Wenn die IAM Standardrolle nicht über die für die Aktion erforderlichen Berechtigungen verfügt, können Sie die Aktion so konfigurieren, dass sie eine andere Rolle verwendet. Weitere Informationen finden Sie unter Die IAM Rolle einer Aktion ändern.

Weitere Informationen zu Umgebungen finden Sie unter Einsatz in AWS-Konten und VPCs undErstellen einer Umgebung.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“

Name

(LambdaInvoke/Environment/Name)

(Erforderlich, wenn Environment es enthalten ist)

Geben Sie den Namen einer vorhandenen Umgebung an, die Sie der Aktion zuordnen möchten.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Umgebung“

Connections

(LambdaInvoke/Environment/Connections)

(Optional in neueren Versionen der Aktion; in älteren Versionen erforderlich)

Geben Sie die Kontoverbindung an, die der Aktion zugeordnet werden soll. Sie können unter maximal eine Kontoverbindung angebenEnvironment.

Wenn Sie keine Kontoverbindung angeben:

  • Die Aktion verwendet die AWS-Konto Verbindung und die IAM Standardrolle, die in der Umgebung in der CodeCatalyst Konsole angegeben sind. Informationen zum Hinzufügen einer Kontoverbindung und einer IAM Standardrolle zur Umgebung finden Sie unterErstellen einer Umgebung.

  • Die IAM Standardrolle muss die Richtlinien und Berechtigungen enthalten, die für die Aktion erforderlich sind. Informationen zu diesen Richtlinien und Berechtigungen finden Sie in der Beschreibung der Role-Eigenschaft in der YAML Definitionsdokumentation der Aktion.

Weitere Informationen zu Kontoverbindungen finden Sie unterErmöglichen des Zugriffs auf AWS Ressourcen mit verbundenen AWS-Konten. Hinweise zum Hinzufügen einer Kontoverbindung zu einer Umgebung finden Sie unterErstellen einer Umgebung.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin my-environment? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung

Name

(LambdaInvoke/Environment/Connections/Name)

Connections(Erforderlich, falls enthalten)

Geben Sie den Namen der Kontoverbindung an.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin my-environment? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte AWS „Konfiguration“ /„ Umgebung/Konto/Rolle“/Kontoverbindung

Role

(LambdaInvoke/Environment/Connections/Role)

Connections(Erforderlich, falls enthalten)

Geben Sie den Namen der IAM Rolle an, mit der die AWS Lambda Aufrufaktion auf Ihre Lambda-Funktion zugreift AWS und sie aufruft. Stellen Sie sicher, dass Sie die Rolle zu Ihrem CodeCatalyst Bereich hinzugefügt haben und dass die Rolle die folgenden Richtlinien enthält.

Wenn Sie keine IAM Rolle angeben, verwendet die Aktion die IAM Standardrolle, die in der Umgebung in der CodeCatalyst Konsole aufgeführt ist. Wenn Sie die Standardrolle in der Umgebung verwenden, stellen Sie sicher, dass sie über die folgenden Richtlinien verfügt.

  • Die folgende Berechtigungsrichtlinie:

    Warnung

    Beschränken Sie die Berechtigungen auf diejenigen, die in der folgenden Richtlinie aufgeführt sind. Die Verwendung einer Rolle mit umfassenderen Berechtigungen kann ein Sicherheitsrisiko darstellen.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:aws-account:function:function-name" } ] }
  • Die folgende benutzerdefinierte Vertrauensrichtlinie:

    { "Version": "2012-10-17", "Statement": [ { "Sid": "", "Effect": "Allow", "Principal": { "Service": [ "codecatalyst-runner.amazonaws.com", "codecatalyst.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
Anmerkung

Sie können die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle mit dieser Aktion verwenden, wenn Sie möchten. Weitere Informationen über diese Rolle finden Sie unter Die CodeCatalystWorkflowDevelopmentRole-spaceNameRolle für Ihr Konto und Ihren Bereich erstellen. Beachten Sie, dass die CodeCatalystWorkflowDevelopmentRole-spaceName Rolle über volle Zugriffsberechtigungen verfügt, was ein Sicherheitsrisiko darstellen kann. Wir empfehlen, diese Rolle nur in Tutorials und Szenarien zu verwenden, in denen die Sicherheit weniger wichtig ist.

Entsprechende Benutzeroberfläche: Je nach Aktionsversion eine der folgenden Optionen:

  • (Neuere Versionen) Registerkarte „Konfiguration“ /Umgebung/Was ist drin my-environment? /Dreipunktmenü/ Rolle wechseln

  • (Ältere Versionen) Registerkarte „Konfiguration“ /„ Umgebung/Konto/Rolle“/Rolle

Configuration

(LambdaInvoke/Configuration)

(Erforderlich)

Ein Abschnitt, in dem Sie die Konfigurationseigenschaften der Aktion definieren können.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration

Function

(LambdaInvoke/Configuration/Function)

(Erforderlich)

Geben Sie die AWS Lambda Funktion an, die durch diese Aktion aufgerufen werden soll. Sie können den Namen der Funktion oder ihren Amazon-Ressourcennamen (ARN) angeben. Sie finden den Namen oder ARN in der Lambda-Konsole.

Anmerkung

Das AWS Konto, in dem sich die Lambda-Funktion befindet, kann sich von dem unter angegebenen Konto unterscheiden. Connections:

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Funktion“

AWSRegion

(LambdaInvoke/Configuration/AWSRegion)

(Erforderlich)

Geben Sie die AWS Region an, in der sich Ihre AWS Lambda Funktion befindet. Eine Liste der Regionscodes finden Sie unter Regionale Endpunkte in der. Allgemeine AWS-Referenz

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/„Ziel-Bucket“ — optional

RequestPayload

(LambdaInvoke/Configuration/RequestPayload)

(Optional)

Wenn Sie eine Anforderungs-Payload an die AWS Lambda Aufruf-Aktion übergeben möchten, geben Sie die Anforderungs-Payload hier im Format an. JSON

Beispiel für eine Payload einer Anfrage:

'{ "key": "value" }'

Wenn Sie keine Anforderungsnutzlast an Ihre Lambda-Funktion übergeben möchten, lassen Sie diese Eigenschaft weg.

Anmerkung

Sie können RequestPayload oder RequestPayloadFile angeben, aber nicht beides.

Weitere Informationen zur Payload der Anfrage finden Sie im Thema Invoke in der Referenz.AWS Lambda API

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Payload „Anfrage“ — optional

RequestPayloadFile

(LambdaInvoke/Configuration/RequestPayloadFile)

(Optional)

Wenn Sie eine Anforderungs-Payload an die AWS Lambda Aufruf-Aktion übergeben möchten, geben Sie hier den Pfad zu dieser Anforderungs-Payload-Datei an. Die Datei muss im Format vorliegen. JSON

Die Payload-Datei der Anforderung kann sich in einem Quell-Repository oder in einem Artefakt aus einer früheren Aktion befinden. Der Dateipfad bezieht sich auf das Quell-Repository oder das Artefakt-Stammverzeichnis.

Wenn Sie keine Anforderungsnutzlast an Ihre Lambda-Funktion übergeben möchten, lassen Sie diese Eigenschaft weg.

Anmerkung

Sie können RequestPayload oder RequestPayloadFile angeben, aber nicht beides.

Weitere Informationen zur Anforderungs-Payload-Datei finden Sie im Thema Invoke in der Referenz.AWS Lambda API

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Payload-Datei anfordern — optional

ContinueOnError

(LambdaInvoke/Configuration/RequestPayloadFile)

(Optional)

Geben Sie an, ob Sie die AWS Lambda Aufrufaktion auch dann als erfolgreich markieren möchten, wenn die AWS Lambda aufgerufene Funktion fehlschlägt. Erwägen Sie, diese Eigenschaft auf true zu setzen, damit nachfolgende Aktionen in Ihrem Workflow trotz des Lambda-Fehlers gestartet werden können.

Standardmäßig schlägt die Aktion fehl, wenn die Lambda-Funktion fehlschlägt („aus“ im visuellen Editor oder false im YAML Editor).

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“/Bei Fehler fortsetzen

LogType

(LambdaInvoke/Configuration/LogType)

(Optional)

Geben Sie an, ob Sie Fehlerprotokolle in die Antwort der Lambda-Funktion aufnehmen möchten, nachdem sie aufgerufen wurde. Sie können diese Protokolle auf der Registerkarte Protokolle der Lambda-Aufrufaktion in der CodeCatalyst Konsole anzeigen. Die möglichen Werte sind:

  • Tail— Logs zurückgeben

  • None— gibt keine Logs zurück

Die Standardeinstellung ist Tail.

Weitere Informationen zum Protokolltyp finden Sie im Thema Invoke in der AWS Lambda APIReferenz.

Weitere Informationen zum Anzeigen von Protokollen finden Sie unter Status und Details der Workflow-Ausführung anzeigen.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration“ /Protokolltyp

ResponseFilters

(LambdaInvoke/Configuration/ResponseFilters)

(Optional)

Geben Sie an, welche Schlüssel in der Payload der Lambda-Antwort Sie in Ausgabevariablen konvertieren möchten. Sie können dann in nachfolgenden Aktionen in Ihrem Workflow auf die Ausgabevariablen verweisen. Weitere Informationen zu Variablen in CodeCatalyst finden Sie unterVerwenden von Variablen in Workflows.

Wenn Ihre Antwort-Payload beispielsweise wie folgt aussieht:

responsePayload = { "name": "Saanvi", "location": "Seattle", "department": { "company": "Amazon", "team": "AWS" } }

... und deine Antwortfilter sehen so aus:

Configuration: ... ResponseFilters: '{"name": ".name", "company": ".department.company"}'

... dann generiert die Aktion die folgenden Ausgangsvariablen:

Schlüssel Wert

Name

Saanvi

company

Amazon

Sie können dann in nachfolgenden Aktionen auf die company Variablen name und verweisen.

Wenn Sie keine Schlüssel in angebenResponseFilters, konvertiert die Aktion jeden Schlüssel der obersten Ebene in der Lambda-Antwort in eine Ausgabevariable. Weitere Informationen finden Sie unter Variablen 'AWS Lambda aufrufen'.

Erwägen Sie die Verwendung von Antwortfiltern, um die generierten Ausgabevariablen auf diejenigen zu beschränken, die Sie tatsächlich verwenden möchten.

Entsprechende Benutzeroberfläche: Registerkarte „Konfiguration/Antwortfilter“ — optional

Outputs

(LambdaInvoke/Outputs)

(Optional)

Definiert die Daten, die von der Aktion während eines Workflow-Laufs ausgegeben werden.

Entsprechende Benutzeroberfläche: Registerkarte „Ausgaben

Artifacts

(LambdaInvoke/Outputs/Artifacts)

(Optional)

Geben Sie die durch die Aktion generierten Artefakte an. Sie können diese Artefakte als Eingabe in anderen Aktionen referenzieren.

Weitere Informationen zu Artefakten, einschließlich Beispielen, finden Sie unterArtefakte und Dateien zwischen Aktionen teilen.

Entsprechende Benutzeroberfläche: Registerkarte Ausgaben/Artefakte/ Name des Build-Artefakts

Name

(LambdaInvoke/Outputs/Artifacts/Name)

(Optional)

Geben Sie den Namen des Artefakts an, das die Lambda-Antwortnutzlast enthält, die von der Lambda-Funktion zurückgegeben wird. Der Standardwert ist lambda_artifacts. Wenn Sie kein Artefakt angeben, kann die Payload der Lambda-Antwort in den Protokollen der Aktion angezeigt werden, die auf der Registerkarte Protokolle für die Aktion in der Konsole verfügbar sind. CodeCatalyst Weitere Informationen zum Anzeigen von Protokollen finden Sie unter Status und Details der Workflow-Ausführung anzeigen.

Entsprechende Benutzeroberfläche: Gibt die Registerkarte Ausgaben/Artefaktname erstellen

Files

(LambdaInvoke/Outputs/Artifacts/Files)

(Optional)

Geben Sie die Dateien an, die in das Artefakt aufgenommen werden sollen. Sie müssen angeben, lambda-response.json dass die Payload-Datei für die Lambda-Antwort eingeschlossen wird.

Entsprechende Benutzeroberfläche: Gibt die Tab/Artifacts/Dateien aus, die vom Build erzeugt wurden