AWS Lambda azione 'invoca' YAML - Amazon CodeCatalyst

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 azione 'invoca' YAML

Di seguito è riportata la YAML definizione dell'azione AWS Lambda invoke. Per informazioni su come utilizzare questa azione, consultaRichiamo di una funzione Lambda utilizzando un flusso di lavoro.

Questa definizione di azione esiste come sezione all'interno di un file di definizione del flusso di lavoro più ampio. Per ulteriori informazioni su questo file, consulta YAMLDefinizione del workflow.

Nota

La maggior parte delle YAML proprietà che seguono hanno elementi dell'interfaccia utente corrispondenti nell'editor visivo. Per cercare un elemento dell'interfaccia utente, usa Ctrl+F. L'elemento verrà elencato con la proprietà associata. YAML

# The workflow definition starts here. # See Proprietà di primo livello 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

(Obbligatorio)

Specificate il nome dell'azione. Tutti i nomi delle azioni devono essere univoci all'interno del flusso di lavoro. I nomi delle azioni sono limitati a caratteri alfanumerici (a-z, A-Z, 0-9), trattini (-) e caratteri di sottolineatura (_). Gli spazi non sono consentiti. Non è possibile utilizzare le virgolette per abilitare caratteri e spazi speciali nei nomi delle azioni.

Default: Lambda_Invoke_Action_Workflow_nn.

Interfaccia utente corrispondente: scheda di configurazione/nome dell'azione

Identifier

(LambdaInvoke/Identifier)

(Obbligatorio)

Identifica l'azione. Non modificate questa proprietà a meno che non vogliate cambiare la versione. Per ulteriori informazioni, consulta Specificare la versione dell'azione da utilizzare.

Default: aws/lambda-invoke@v1.

Interfaccia utente corrispondente: Workflow diagram/ LambdaInvoke _nn/ aws/lambda-invoke @v1 label

DependsOn

(LambdaInvoke/DependsOn)

(Facoltativo)

Specificate un'azione, un gruppo di azioni o un gate che deve essere eseguito correttamente affinché questa azione venga eseguita.

Per ulteriori informazioni sulla funzionalità «dipende da», vedere. Azioni di sequenziamento

Interfaccia utente corrispondente: scheda Ingressi/Dipende da - opzionale

Compute

(LambdaInvoke/Compute)

(Facoltativo)

Il motore di calcolo utilizzato per eseguire le azioni del flusso di lavoro. È possibile specificare l'elaborazione a livello di flusso di lavoro o a livello di azione, ma non entrambi. Se specificata a livello di flusso di lavoro, la configurazione di calcolo si applica a tutte le azioni definite nel flusso di lavoro. A livello di flusso di lavoro, puoi anche eseguire più azioni sulla stessa istanza. Per ulteriori informazioni, consulta Condivisione dell'elaborazione tra le azioni.

Interfaccia utente corrispondente: nessuna

Type

(LambdaInvoke/Compute/Type)

(Obbligatorio se Compute incluso)

Il tipo di motore di calcolo. È possibile utilizzare uno dei seguenti valori:

  • EC2(editor visivo) o EC2 (YAMLeditor)

    Ottimizzato per la flessibilità durante le sessioni di azione.

  • Lambda (editor visivo) o Lambda (YAMLeditor)

    Velocità di avvio dell'azione ottimizzate.

Per ulteriori informazioni sui tipi di calcolo, consulta Tipi di calcolo.

Interfaccia utente corrispondente: scheda di configurazione/tipo di calcolo

Fleet

(LambdaInvoke/Compute/Fleet)

(Facoltativo)

Specificate la macchina o il parco macchine che eseguiranno il flusso di lavoro o le azioni del flusso di lavoro. Con le flotte on-demand, all'avvio di un'azione, il flusso di lavoro fornisce le risorse necessarie e le macchine vengono distrutte al termine dell'azione. Esempi di flotte on-demand:,. Linux.x86-64.Large Linux.x86-64.XLarge Per ulteriori informazioni sulle flotte on-demand, vedere. Proprietà del parco veicoli su richiesta

Con le flotte assegnate, puoi configurare una serie di macchine dedicate per eseguire le azioni del flusso di lavoro. Queste macchine rimangono inattive, pronte a elaborare immediatamente le azioni. Per ulteriori informazioni sulle flotte rifornite, vedere. Proprietà del parco veicoli assegnate

Se Fleet viene omesso, l'impostazione predefinita è. Linux.x86-64.Large

Interfaccia utente corrispondente: scheda di configurazione/parco di calcolo

Timeout

(LambdaInvoke/Timeout)

(Obbligatorio)

Specificate il periodo di tempo, in minuti (YAMLeditor) o ore e minuti (editor visivo), entro il quale l'azione può essere eseguita prima che CodeCatalyst termini l'azione. Il minimo è 5 minuti e il massimo è descritto inQuote per i flussi di lavoro in CodeCatalyst. Il timeout predefinito è lo stesso del timeout massimo.

Interfaccia utente corrispondente: scheda di configurazione/timeout - opzionale

Inputs

(LambdaInvoke/Inputs)

(Obbligatorio)

La Inputs sezione definisce i dati necessari all'azione di AWS Lambda invocazione durante l'esecuzione di un flusso di lavoro.

Nota

È consentito un solo input (una fonte o un artefatto) per AWS Lambda azione di invoca. Le variabili non vengono conteggiate per questo totale.

Interfaccia utente corrispondente: scheda Ingressi

Sources

(LambdaInvoke/Inputs/Sources)

(Obbligatorio se RequestPayloadFilefornito)

Se desideri passare un file di payload della richiesta all'azione AWS Lambda invoke e questo JSON file di payload è archiviato in un repository di origine, specifica l'etichetta di tale repository di origine. Attualmente, l'unica etichetta supportata è. WorkflowSource

Se il file di payload della richiesta non è contenuto in un repository di origine, deve risiedere in un artefatto generato da un'altra azione.

Per ulteriori informazioni sul file di payload, vedere. RequestPayloadFile

Nota

Invece di specificare un file di payload, è possibile aggiungere il JSON codice del payload direttamente all'azione utilizzando la proprietà. RequestPayload Per ulteriori informazioni, consulta RequestPayload.

Per ulteriori informazioni sulle origini, consulta Connessione degli archivi di origine ai flussi di lavoro.

Interfaccia utente corrispondente: scheda Ingressi/Sources - opzionale

Artifacts - input

(LambdaInvoke/Inputs/Artifacts)

(Obbligatorio se fornito RequestPayloadFile)

Se desideri passare un file di payload della richiesta all'azione di AWS Lambda richiamo e questo JSON file di payload è contenuto in un elemento di output di un'azione precedente, specifica l'artefatto qui.

Per ulteriori informazioni sul file di payload, consulta. RequestPayloadFile

Nota

Invece di specificare un file di payload, è possibile aggiungere il JSON codice del payload direttamente all'azione utilizzando la proprietà. RequestPayload Per ulteriori informazioni, consulta RequestPayload.

Per ulteriori informazioni sugli artefatti, inclusi esempi, vedere. Condivisione di artefatti e file tra azioni

Interfaccia utente corrispondente: scheda di configurazione/artefatti - opzionale

Variables - input

(LambdaInvoke/Inputs/Variables)

(Facoltativo)

Specificate una sequenza di coppie nome/valore che definiscono le variabili di input che desiderate rendere disponibili all'azione. I nomi delle variabili sono limitati a caratteri alfanumerici (a-z, A-Z, 0-9), trattini (-) e caratteri di sottolineatura (_). Gli spazi non sono consentiti. Non è possibile utilizzare le virgolette per abilitare caratteri e spazi speciali nei nomi delle variabili.

Per ulteriori informazioni sulle variabili, inclusi esempi, vedereUtilizzo delle variabili nei flussi di lavoro.

Interfaccia utente corrispondente: scheda Input/Variabili - opzionale

Environment

(LambdaInvoke/Environment)

(Obbligatorio)

Specificare l' CodeCatalyst ambiente da utilizzare con l'azione. L'azione si collega Account AWS all'Amazon opzionale VPC specificato nell'ambiente scelto. L'azione utilizza il IAM ruolo predefinito specificato nell'ambiente per connettersi a e utilizza il IAM ruolo specificato nella VPCconnessione Amazon per connettersi ad AmazonVPC. Account AWS

Nota

Se il IAM ruolo predefinito non dispone delle autorizzazioni richieste dall'azione, puoi configurare l'azione per utilizzare un ruolo diverso. Per ulteriori informazioni, consulta Cambiare il IAM ruolo di un'azione.

Per ulteriori informazioni sugli ambienti, vedere Implementazione in e Account AWS VPCs eCreazione di un ambiente.

Interfaccia utente corrispondente: scheda di configurazione/ambiente

Name

(LambdaInvoke/Environment/Name)

(Richiesto se Environment incluso)

Specificate il nome di un ambiente esistente che desiderate associare all'azione.

Interfaccia utente corrispondente: scheda di configurazione/ambiente

Connections

(LambdaInvoke/Environment/Connections)

(Facoltativo nelle versioni più recenti dell'azione; richiesto nelle versioni precedenti)

Specificare la connessione dell'account da associare all'azione. È possibile specificare al massimo una connessione a un account inEnvironment.

Se non si specifica una connessione all'account:

  • L'azione utilizza la Account AWS connessione e il IAM ruolo predefinito specificati nell'ambiente della CodeCatalyst console. Per informazioni sull'aggiunta di una connessione all'account e di un IAM ruolo predefinito all'ambiente, consultaCreazione di un ambiente.

  • Il IAM ruolo predefinito deve includere le politiche e le autorizzazioni richieste dall'azione. Per determinare quali sono tali politiche e autorizzazioni, consulta la descrizione della proprietà Role nella documentazione sulla YAML definizione dell'azione.

Per ulteriori informazioni sulle connessioni degli account, vedereConsentire l'accesso alle AWS risorse con connessione Account AWS. Per informazioni sull'aggiunta di una connessione tramite account a un ambiente, vedereCreazione di un ambiente.

Interfaccia utente corrispondente: una delle seguenti a seconda della versione dell'azione:

  • (Versioni più recenti) Scheda di configurazione/Ambiente/Cosa c'è in my-environment? /menu a tre punti/ Cambia ruolo

  • (Versioni precedenti) Scheda di configurazione/'Environment/Account/Role'/connessione all'account AWS

Name

(LambdaInvoke/Environment/Connections/Name)

Connections(Richiesto se incluso)

Specificare il nome della connessione all'account.

Interfaccia utente corrispondente: una delle seguenti a seconda della versione dell'azione:

  • (Versioni più recenti) Scheda di configurazione/Ambiente/Cosa c'è in my-environment? /menu a tre punti/ Cambia ruolo

  • (Versioni precedenti) Scheda di configurazione/'Environment/Account/Role'/connessione all'account AWS

Role

(LambdaInvoke/Environment/Connections/Role)

Connections(Richiesto se incluso)

Specificate il nome del IAM ruolo utilizzato dall'azione di AWS Lambda richiamo per accedere AWS e richiamare la funzione Lambda. Assicurati di aver aggiunto il ruolo al tuo CodeCatalyst spazio e che il ruolo includa le seguenti politiche.

Se non specifichi un IAM ruolo, l'azione utilizza il IAM ruolo predefinito elencato nell'ambiente della CodeCatalyst console. Se utilizzi il ruolo predefinito nell'ambiente, assicurati che abbia le seguenti politiche.

  • La seguente politica di autorizzazioni:

    avvertimento

    Limita le autorizzazioni a quelle mostrate nella seguente politica. L'utilizzo di un ruolo con autorizzazioni più ampie potrebbe rappresentare un rischio per la sicurezza.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:aws-account:function:function-name" } ] }
  • La seguente politica di fiducia personalizzata:

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

Puoi usare il CodeCatalystWorkflowDevelopmentRole-spaceName ruolo con questa azione, se lo desideri. Per ulteriori informazioni su questo ruolo, consulta Creazione del CodeCatalystWorkflowDevelopmentRole-spaceNameruolo per il tuo account e il tuo spazio. Tieni presente che il CodeCatalystWorkflowDevelopmentRole-spaceName ruolo dispone di autorizzazioni di accesso complete, il che può rappresentare un rischio per la sicurezza. Ti consigliamo di utilizzare questo ruolo solo in tutorial e scenari in cui la sicurezza è meno preoccupante.

Interfaccia utente corrispondente: una delle seguenti a seconda della versione di azione:

  • (Versioni più recenti) Scheda di configurazione/Ambiente/Cosa c'è in my-environment? /menu a tre punti/ Cambia ruolo

  • (Versioni precedenti) Scheda di configurazione/'Environment/Account/Role'/ Ruolo

Configuration

(LambdaInvoke/Configuration)

(Obbligatorio)

Una sezione in cui è possibile definire le proprietà di configurazione dell'azione.

Interfaccia utente corrispondente: scheda Configurazione

Function

(LambdaInvoke/Configuration/Function)

(Obbligatorio)

Specificate la AWS Lambda funzione che verrà richiamata da questa azione. Puoi specificare il nome della funzione o il relativo Amazon Resource Name (ARN). Puoi trovare il nome o ARN nella console Lambda.

Nota

L' AWS account in cui risiede la funzione Lambda può essere diverso dall'account specificato in. Connections:

Interfaccia utente corrispondente: scheda di configurazione/funzione

AWSRegion

(LambdaInvoke/Configuration/AWSRegion)

(Obbligatorio)

Specificate la AWS regione in cui risiede la AWS Lambda funzione. Per un elenco dei codici regionali, consulta Endpoint regionali in. Riferimenti generali di AWS

Interfaccia utente corrispondente: scheda di configurazione/bucket di destinazione - opzionale

RequestPayload

(LambdaInvoke/Configuration/RequestPayload)

(Facoltativo)

Se vuoi passare un payload della richiesta all'azione AWS Lambda invoke, specifica qui il payload della richiesta, nel formato. JSON

Esempio di payload della richiesta:

'{ "key": "value" }'

Se non vuoi passare un payload di richiesta alla tua funzione Lambda, ometti questa proprietà.

Nota

Puoi specificare RequestPayload o RequestPayloadFile, ma non entrambi.

Per ulteriori informazioni sul payload della richiesta, consultate l'argomento Invoke nel Reference.AWS Lambda API

Interfaccia utente corrispondente: scheda di configurazione/payload della richiesta - opzionale

RequestPayloadFile

(LambdaInvoke/Configuration/RequestPayloadFile)

(Facoltativo)

Se desideri passare un payload della richiesta all'azione AWS Lambda invoke, specifica qui il percorso di questo file di payload della richiesta. Il file deve essere in formato. JSON

Il file di payload della richiesta può risiedere in un repository di origine o in un elemento di un'azione precedente. Il percorso del file è relativo al repository di origine o alla radice dell'artefatto.

Se non vuoi passare un payload di richiesta alla tua funzione Lambda, ometti questa proprietà.

Nota

Puoi specificare RequestPayload o RequestPayloadFile, ma non entrambi.

Per ulteriori informazioni sul file di payload della richiesta, consultate l'argomento Invoke nel documento di riferimento.AWS Lambda API

Interfaccia utente corrispondente: scheda di configurazione/file di payload della richiesta - opzionale

ContinueOnError

(LambdaInvoke/Configuration/RequestPayloadFile)

(Facoltativo)

Specificate se desiderate contrassegnare l'azione di AWS Lambda richiamo come riuscita anche se la funzione richiamata fallisce. AWS Lambda Valuta la possibilità di impostare questa proprietà true per consentire l'avvio delle azioni successive nel flusso di lavoro nonostante l'errore Lambda.

L'impostazione predefinita prevede di fallire l'azione se la funzione Lambda fallisce («off» nell'editor visuale o false nell'YAMLeditor).

Interfaccia utente corrispondente: scheda di configurazione/ Continua in caso di errore

LogType

(LambdaInvoke/Configuration/LogType)

(Facoltativo)

Specificate se desiderate includere i log degli errori nella risposta della funzione Lambda dopo che è stata richiamata. Puoi visualizzare questi registri nella scheda Registri dell'azione Lambda invoke nella console. CodeCatalyst I valori possibili sono:

  • Tail— log di ritorno

  • None— non restituire i log

L'impostazione predefinita è Tail.

Per ulteriori informazioni sul tipo di registro, consulta l'argomento Invoke nel AWS Lambda APIriferimento.

Per ulteriori informazioni sulla visualizzazione dei log, consultare Visualizzazione dello stato e dei dettagli dell'esecuzione del flusso di lavoro.

Interfaccia utente corrispondente: scheda di configurazione/tipo di registro

ResponseFilters

(LambdaInvoke/Configuration/ResponseFilters)

(Facoltativo)

Specificate quali chiavi del payload di risposta Lambda desiderate convertire in variabili di output. È quindi possibile fare riferimento alle variabili di output nelle azioni successive del flusso di lavoro. Per ulteriori informazioni sulle variabili in CodeCatalyst, vedereUtilizzo delle variabili nei flussi di lavoro.

Ad esempio, se il payload di risposta è simile al seguente:

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

... e i tuoi filtri di risposta hanno il seguente aspetto:

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

... quindi l'azione genera le seguenti variabili di output:

Chiave Valore

nome

Saanvi

company

Amazon

È quindi possibile fare riferimento alle company variabili name and nelle azioni successive.

Se non si specifica alcuna chiave inResponseFilters, l'azione converte ogni chiave di primo livello nella risposta Lambda in una variabile di output. Per ulteriori informazioni, consulta variabili 'AWS Lambda invoke'.

Prendi in considerazione l'utilizzo di filtri di risposta per limitare le variabili di output generate solo a quelle che desideri effettivamente utilizzare.

Interfaccia utente corrispondente: scheda di configurazione/filtri di risposta - opzionale

Outputs

(LambdaInvoke/Outputs)

(Facoltativo)

Definisce i dati emessi dall'azione durante l'esecuzione di un flusso di lavoro.

Interfaccia utente corrispondente: scheda Output

Artifacts

(LambdaInvoke/Outputs/Artifacts)

(Facoltativo)

Specificate gli artefatti generati dall'azione. È possibile fare riferimento a questi artefatti come input in altre azioni.

Per ulteriori informazioni sugli artefatti, inclusi esempi, vedere. Condivisione di artefatti e file tra azioni

Interfaccia utente corrispondente: Outputs tab/Artifacts/ Build artefact name

Name

(LambdaInvoke/Outputs/Artifacts/Name)

(Facoltativo)

Specificate il nome dell'elemento che conterrà il payload di risposta Lambda restituito dalla funzione Lambda. Il valore predefinito è lambda_artifacts. Se non specifichi un artefatto, il payload della risposta Lambda può essere visualizzato nei registri dell'azione, disponibili nella scheda Registri dell'azione nella console. CodeCatalyst Per ulteriori informazioni sulla visualizzazione dei log, consultare Visualizzazione dello stato e dei dettagli dell'esecuzione del flusso di lavoro.

Interfaccia utente corrispondente: Outputs tab/Artifacts/ Build artifact name

Files

(LambdaInvoke/Outputs/Artifacts/Files)

(Facoltativo)

Specificate i file da includere nell'artefatto. È necessario specificare lambda-response.json in modo che venga incluso il file del payload della risposta Lambda.

Interfaccia utente corrispondente: Outputs tab/Artifacts/ Files prodotti da build