AWS Lambda ação 'invocar' YAML - Amazon CodeCatalyst

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 ação 'invocar' YAML

A seguir está a YAML definição da ação de AWS Lambda invocação. Para saber como usar essa ação, consulteInvocando uma função Lambda usando um fluxo de trabalho.

Essa definição de ação existe como uma seção dentro de um arquivo de definição de fluxo de trabalho mais amplo. Para obter mais informações sobre esse arquivo, consulte YAMLDefinição de fluxo de trabalho.

nota

A maioria das YAML propriedades a seguir tem elementos de interface de usuário correspondentes no editor visual. Para pesquisar um elemento de interface do usuário, use Ctrl+F. O elemento será listado com sua YAML propriedade associada.

# The workflow definition starts here. # See Propriedades de nível superior 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

(Obrigatório)

Especifique o nome da ação. Todos os nomes das ações devem ser exclusivos no fluxo de trabalho. Os nomes das ações são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hífens (-) e sublinhados (_). Não são permitidos espaços. Você não pode usar aspas para ativar caracteres especiais e espaços nos nomes das ações.

Padrão: Lambda_Invoke_Action_Workflow_nn.

UI correspondente: guia de configuração/nome da ação

Identifier

(LambdaInvoke/Identifier)

(Obrigatório)

Identifica a ação. Não altere essa propriedade, a menos que você queira alterar a versão. Para ter mais informações, consulte Especificando a versão da ação a ser usada.

Padrão: aws/lambda-invoke@v1.

UI correspondente: diagrama de fluxo de trabalho/ LambdaInvoke _nn/aws/lambda-invoke @v1 label

DependsOn

(LambdaInvoke/DependsOn)

(Optional)

Especifique uma ação, grupo de ação ou porta que deve ser executada com êxito para que essa ação seja executada.

Para obter mais informações sobre a funcionalidade “depende de”, consulte. Ações de sequenciamento

UI correspondente: guia Entradas/Depende de - opcional

Compute

(LambdaInvoke/Compute)

(Optional)

O mecanismo de computação usado para executar suas ações de fluxo de trabalho. Você pode especificar a computação no nível do fluxo de trabalho ou no nível da ação, mas não em ambos. Quando especificada no nível do fluxo de trabalho, a configuração computacional se aplica a todas as ações definidas no fluxo de trabalho. No nível do fluxo de trabalho, você também pode executar várias ações na mesma instância. Para ter mais informações, consulte Compartilhamento de computação entre ações.

UI correspondente: nenhuma

Type

(LambdaInvoke/Compute/Type)

(Obrigatório se Compute estiver incluído)

O tipo de mecanismo de computação. Você pode usar um dos seguintes valores:

  • EC2(editor visual) ou EC2 (YAMLeditor)

    Otimizado para flexibilidade durante as corridas de ação.

  • Lambda (editor visual) ou Lambda (YAMLeditor)

    Velocidades otimizadas de inicialização da ação.

Para obter informações sobre tipos de dados, consulte Tipos de computação.

UI correspondente: guia de configuração/tipo de computação

Fleet

(LambdaInvoke/Compute/Fleet)

(Optional)

Especifique a máquina ou frota que executará seu fluxo de trabalho ou ações de fluxo de trabalho. Com frotas sob demanda, quando uma ação é iniciada, o fluxo de trabalho provisiona os recursos necessários e as máquinas são destruídas quando a ação é concluída. Exemplos de frotas sob demanda:Linux.x86-64.Large,. Linux.x86-64.XLarge Para obter mais informações sobre frotas sob demanda, consulte. Propriedades de frota sob demanda

Com frotas provisionadas, você configura um conjunto de máquinas dedicadas para executar suas ações de fluxo de trabalho. Essas máquinas permanecem ociosas, prontas para processar ações imediatamente. Para obter mais informações sobre frotas provisionadas, consulte. Propriedades da frota provisionada

Se Fleet for omitido, o padrão será. Linux.x86-64.Large

UI correspondente: guia de configuração/frota de computação

Timeout

(LambdaInvoke/Timeout)

(Obrigatório)

Especifique a quantidade de tempo em minutos (YAMLeditor) ou horas e minutos (editor visual) que a ação pode ser executada antes de CodeCatalyst finalizar a ação. O mínimo é de 5 minutos e o máximo está descrito emCotas para fluxos de trabalho em CodeCatalyst. O tempo limite padrão é igual ao tempo limite máximo.

UI correspondente: guia de configuração/tempo limite - opcional

Inputs

(LambdaInvoke/Inputs)

(Obrigatório)

A Inputs seção define os dados que a ação de AWS Lambda invocação precisa durante a execução de um fluxo de trabalho.

nota

Somente uma entrada (uma fonte ou um artefato) é permitida por AWS Lambda ação de invocação. As variáveis não contam para esse total.

UI correspondente: guia Entradas

Sources

(LambdaInvoke/Inputs/Sources)

(Obrigatório se RequestPayloadFilefor fornecido)

Se você quiser passar um JSON arquivo de carga de solicitação para a ação de AWS Lambda invocação, e esse arquivo de carga útil estiver armazenado em um repositório de origem, especifique o rótulo desse repositório de origem. Atualmente, o único rótulo compatível éWorkflowSource.

Se o arquivo de carga útil da solicitação não estiver contido em um repositório de origem, ele deverá residir em um artefato gerado por outra ação.

Para obter mais informações sobre o arquivo de carga, consulteRequestPayloadFile.

nota

Em vez de especificar um arquivo de carga, você pode adicionar o JSON código da carga diretamente à ação usando a propriedade. RequestPayload Para ter mais informações, consulte RequestPayload.

Para obter mais informações sobre fontes, consulte Conectando repositórios de origem aos fluxos de trabalho.

UI correspondente: guia Entradas/Fontes - opcional

Artifacts - input

(LambdaInvoke/Inputs/Artifacts)

(Obrigatório se RequestPayloadFilefor fornecido)

Se você quiser passar um JSON arquivo de carga de solicitação para a ação de AWS Lambda invocação, e esse arquivo de carga estiver contido em um artefato de saída de uma ação anterior, especifique esse artefato aqui.

Para obter mais informações sobre o arquivo de carga, consulteRequestPayloadFile.

nota

Em vez de especificar um arquivo de carga, você pode adicionar o JSON código da carga diretamente à ação usando a propriedade. RequestPayload Para ter mais informações, consulte RequestPayload.

Para obter mais informações sobre artefatos, incluindo exemplos, consulteCompartilhamento de artefatos e arquivos entre ações.

UI correspondente: guia de configuração/artefatos - opcional

Variables - input

(LambdaInvoke/Inputs/Variables)

(Optional)

Especifique uma sequência de pares de nome/valor que definam as variáveis de entrada que você deseja disponibilizar para a ação. Os nomes das variáveis são limitados a caracteres alfanuméricos (a-z, A-Z, 0-9), hífens (-) e sublinhados (_). Não são permitidos espaços. Você não pode usar aspas para habilitar caracteres especiais e espaços em nomes de variáveis.

Para obter mais informações sobre variáveis, incluindo exemplos, consulteUsando variáveis em fluxos de trabalho.

UI correspondente: guia de entradas/variáveis - opcional

Environment

(LambdaInvoke/Environment)

(Obrigatório)

Especifique o CodeCatalyst ambiente a ser usado com a ação. A ação se conecta Conta da AWS à Amazon opcional VPC especificada no ambiente escolhido. A ação usa a IAM função padrão especificada no ambiente para se conectar ao Conta da AWS e usa a IAM função especificada na VPCconexão da Amazon para se conectar à AmazonVPC.

nota

Se a IAM função padrão não tiver as permissões exigidas pela ação, você poderá configurar a ação para usar uma função diferente. Para ter mais informações, consulte Mudando o IAM papel de uma ação.

Para obter mais informações sobre ambientes, consulte Implantação em e Contas da AWS VPCs Criar um ambiente e.

UI correspondente: guia de configuração/ambiente

Name

(LambdaInvoke/Environment/Name)

(Obrigatório se Environment estiver incluído)

Especifique o nome de um ambiente existente que você deseja associar à ação.

UI correspondente: guia de configuração/ambiente

Connections

(LambdaInvoke/Environment/Connections)

(Opcional nas versões mais recentes da ação; obrigatório nas versões mais antigas)

Especifique a conexão da conta a ser associada à ação. Você pode especificar no máximo uma conexão de conta emEnvironment.

Se você não especificar uma conexão de conta:

  • A ação usa a Conta da AWS conexão e a IAM função padrão especificadas no ambiente no CodeCatalyst console. Para obter informações sobre como adicionar uma conexão de conta e uma IAM função padrão ao ambiente, consulteCriar um ambiente.

  • A IAM função padrão deve incluir as políticas e permissões exigidas pela ação. Para determinar quais são essas políticas e permissões, consulte a descrição da propriedade Role na documentação de YAML definição da ação.

Para obter mais informações sobre conexões de conta, consultePermitindo acesso a AWS recursos com conexão Contas da AWS. Para obter informações sobre como adicionar uma conexão de conta a um ambiente, consulteCriar um ambiente.

UI correspondente: uma das seguintes, dependendo da versão da ação:

  • (Versões mais recentes) Guia de configuração/Ambiente/O que está incluído my-environment? /menu de três pontos/ Mudar função

  • (Versões mais antigas) Guia de configuração/'Ambiente/Conta/Função'/ conexão AWS de conta

Name

(LambdaInvoke/Environment/Connections/Name)

(Obrigatório se Connections estiver incluído)

Especifique o nome da conexão da conta.

UI correspondente: uma das seguintes, dependendo da versão da ação:

  • (Versões mais recentes) Guia de configuração/Ambiente/O que está incluído my-environment? /menu de três pontos/ Mudar função

  • (Versões mais antigas) Guia de configuração/'Ambiente/Conta/Função'/ conexão AWS de conta

Role

(LambdaInvoke/Environment/Connections/Role)

(Obrigatório se Connections estiver incluído)

Especifique o nome da IAM função que a ação de AWS Lambda invocação usa para acessar AWS e invocar sua função Lambda. Certifique-se de ter adicionado a função ao seu CodeCatalyst espaço e de que a função inclua as seguintes políticas.

Se você não especificar uma IAM função, a ação usará a IAM função padrão listada no ambiente no CodeCatalyst console. Se você usar a função padrão no ambiente, verifique se ela tem as seguintes políticas.

  • A seguinte política de permissões:

    Atenção

    Limite as permissões às mostradas na política a seguir. Usar uma função com permissões mais amplas pode representar um risco de segurança.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": "lambda:InvokeFunction", "Resource": "arn:aws:lambda:aws-region:aws-account:function:function-name" } ] }
  • A seguinte política de confiança personalizada:

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

Você pode usar a CodeCatalystWorkflowDevelopmentRole-spaceName função com essa ação, se quiser. Para obter mais informações sobre essa função, consulte Criando a CodeCatalystWorkflowDevelopmentRole-spaceNamefunção para sua conta e espaço. Entenda que a CodeCatalystWorkflowDevelopmentRole-spaceName função tem permissões de acesso completas, o que pode representar um risco de segurança. Recomendamos que você use essa função somente em tutoriais e cenários em que a segurança seja menos preocupante.

UI correspondente: uma das seguintes, dependendo da versão da ação:

  • (Versões mais recentes) Guia de configuração/Ambiente/O que está incluído my-environment? /menu de três pontos/ Mudar função

  • (Versões mais antigas) Guia de configuração/'Ambiente/Conta/Função'/ Função

Configuration

(LambdaInvoke/Configuration)

(Obrigatório)

Uma seção na qual você pode definir as propriedades de configuração da ação.

UI correspondente: guia Configuração

Function

(LambdaInvoke/Configuration/Function)

(Obrigatório)

Especifique a AWS Lambda função que essa ação invocará. Você pode especificar o nome da função ou seu Amazon Resource Name (ARN). Você pode encontrar o nome ou ARN no console Lambda.

nota

A AWS conta na qual a função Lambda reside pode ser diferente da conta especificada em. Connections:

UI correspondente: guia/função de configuração

AWSRegion

(LambdaInvoke/Configuration/AWSRegion)

(Obrigatório)

Especifique a AWS região em que sua AWS Lambda função reside. Para obter uma lista de códigos de região, consulte Endpoints regionais no Referência geral da AWS.

UI correspondente: guia de configuração/bucket de destino - opcional

RequestPayload

(LambdaInvoke/Configuration/RequestPayload)

(Optional)

Se você quiser passar uma carga de solicitação para a ação de AWS Lambda invocação, especifique a carga útil da solicitação aqui, em formato. JSON

Exemplo de carga útil de solicitação:

'{ "key": "value" }'

Se você não quiser passar uma carga de solicitação para sua função Lambda, omita essa propriedade.

nota

Você pode especificar RequestPayload ou RequestPayloadFile, mas não os dois.

Para obter mais informações sobre a carga útil da solicitação, consulte o tópico Invocar na AWS Lambda API Referência.

UI correspondente: guia de configuração/carga útil de solicitação - opcional

RequestPayloadFile

(LambdaInvoke/Configuration/RequestPayloadFile)

(Optional)

Se você quiser passar uma carga de solicitação para a ação de AWS Lambda invocação, especifique o caminho para esse arquivo de carga de solicitação aqui. O arquivo deve estar no JSON formato.

O arquivo de carga útil da solicitação pode residir em um repositório de origem ou em um artefato de uma ação anterior. O caminho do arquivo é relativo ao repositório de origem ou à raiz do artefato.

Se você não quiser passar uma carga de solicitação para sua função Lambda, omita essa propriedade.

nota

Você pode especificar RequestPayload ou RequestPayloadFile, mas não os dois.

Para obter mais informações sobre o arquivo de carga útil da solicitação, consulte o tópico Invocar na AWS Lambda API Referência.

UI correspondente: guia de configuração/arquivo de carga útil de solicitação - opcional

ContinueOnError

(LambdaInvoke/Configuration/RequestPayloadFile)

(Optional)

Especifique se você deseja marcar a ação de AWS Lambda invocação como bem-sucedida, mesmo que a função invocada AWS Lambda falhe. Considere definir essa propriedade true para permitir que ações subsequentes em seu fluxo de trabalho sejam iniciadas apesar da falha do Lambda.

O padrão é falhar na ação se a função Lambda falhar (“desativada” no editor visual ou false no YAML editor).

UI correspondente: guia de configuração/ Continuar em caso de erro

LogType

(LambdaInvoke/Configuration/LogType)

(Optional)

Especifique se você deseja incluir registros de erros na resposta da função Lambda depois que ela for invocada. Você pode ver esses registros na guia Logs da ação de invocação do Lambda no console. CodeCatalyst Os valores possíveis são:

  • Tail— registros de devolução

  • None— não retorne registros

O padrão é Tail.

Para obter mais informações sobre o tipo de registro, consulte o tópico Invocar na AWS Lambda APIReferência.

Para obter mais informações sobre como visualizar logs, consulte Visualizando o status e os detalhes da execução do fluxo de trabalho.

UI correspondente: guia de configuração/tipo de log

ResponseFilters

(LambdaInvoke/Configuration/ResponseFilters)

(Optional)

Especifique quais chaves na carga de resposta do Lambda você deseja converter em variáveis de saída. Em seguida, você pode referenciar as variáveis de saída em ações subsequentes em seu fluxo de trabalho. Para obter mais informações sobre variáveis em CodeCatalyst, consulteUsando variáveis em fluxos de trabalho.

Por exemplo, se sua carga de resposta for semelhante a esta:

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

... e seus filtros de resposta têm a seguinte aparência:

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

... então a ação gera as seguintes variáveis de saída:

Chave Valor

name

Saanvi

company

Amazon

Em seguida, você pode referenciar as company variáveis name e em ações subsequentes.

Se você não especificar nenhuma chaveResponseFilters, a ação converterá cada chave de nível superior na resposta do Lambda em uma variável de saída. Para ter mais informações, consulte variáveis 'AWS Lambda invocar'.

Considere usar filtros de resposta para limitar as variáveis de saída geradas somente às que você realmente deseja usar.

UI correspondente: guia de configuração/filtros de resposta - opcional

Outputs

(LambdaInvoke/Outputs)

(Optional)

Define os dados que são gerados pela ação durante a execução de um fluxo de trabalho.

UI correspondente: guia Saídas

Artifacts

(LambdaInvoke/Outputs/Artifacts)

(Optional)

Especifique os artefatos gerados pela ação. Você pode referenciar esses artefatos como entrada em outras ações.

Para obter mais informações sobre artefatos, incluindo exemplos, consulteCompartilhamento de artefatos e arquivos entre ações.

UI correspondente: guia Saídas/Artefatos/Nome do artefato de construção

Name

(LambdaInvoke/Outputs/Artifacts/Name)

(Optional)

Especifique o nome do artefato que conterá a carga de resposta do Lambda que é retornada pela função Lambda. O valor padrão é lambda_artifacts. Se você não especificar um artefato, a carga útil da resposta do Lambda poderá ser visualizada nos registros da ação, que estão disponíveis na guia Registros da ação no console. CodeCatalyst Para obter mais informações sobre como visualizar logs, consulte Visualizando o status e os detalhes da execução do fluxo de trabalho.

UI correspondente: guia Saídas/Artefatos/Nome do artefato de construção

Files

(LambdaInvoke/Outputs/Artifacts/Files)

(Optional)

Especifique os arquivos a serem incluídos no artefato. Você deve especificar lambda-response.json para que o arquivo de carga útil de resposta do Lambda seja incluído.

UI correspondente: guia de saídas/artefatos/arquivos produzidos pela compilação