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-
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 spaceName
CodeCatalystWorkflowDevelopmentRole-
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. spaceName
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