O Lambda inclui um campo de Estado na configuração da função para todas as funções, para indicar quando a função está pronta para ser invocada. O State
fornece informações sobre o status atual da função, incluindo se você pode invocá-la com êxito. Os estados de função não alteram o comportamento de invocações de função ou como sua função executa o código.
nota
As definições do estado da função diferem um pouco para as funções SnapStart. Para obter mais informações, consulte Lambda SnapStart e estados de função.
Os estados da função incluem:
-
Pending
– Depois que o Lambda cria a função, ele define o estado como pendente. Enquanto estiver em estado pendente, o Lambda tenta criar ou configurar recursos para a função, como recursos de VPC ou EFS. O Lambda não invoca uma função durante o estado pendente. As invocações ou outras ações de API que operam na função falharão. -
Active
– Sua função transita para o estado ativo depois que o Lambda concluir a configuração e o provisionamento de recursos. As funções só podem ser invocadas com êxito enquanto estiverem ativas. -
Failed
– Indica que a configuração de recursos ou o provisionamento encontrou um erro. -
Inactive
– Uma função torna-se inativa quando está ociosa tempo suficiente para que o Lambda recupere os recursos externos que foram configurados para ela. Quando tenta invocar uma função que está inativa, a invocação falha e o Lambda define a função para o estado pendente até que os recursos da função são recriados. Se o Lambda não conseguir recriar os recursos, a função voltará ao estado inativo. Talvez seja necessário resolver os erros e reimplantar a função para que ela volte ao estado ativo.
Se você estiver utilizando fluxos de trabalho de automação baseados em SDK ou chamando as APIs de serviço do Lambda diretamente, verifique o estado de uma função antes da invocação para conferir se ela está ativa. Você pode fazer isso com a ação da API do Lambda GetFunction ou configurando um waiter usando o AWS SDK for Java 2.0
aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'
A seguinte saída deverá ser mostrada:
[ "Active", "Successful" ]
Ocorre falha nas seguintes operações enquanto a criação da função está pendente:
Estados da função durante atualizações
O Lambda tem duas operações para atualizar funções:
-
UpdateFunctionCode: atualiza o pacote de implantação da função
-
UpdateFunctionConfiguration: atualiza a configuração da função
O Lambda usa o atributo LastUpdateStatus para acompanhar o progresso dessas operações de atualização. Enquanto uma atualização estiver em andamento (quando "LastUpdateStatus": "InProgress"
):
-
O estado da função continua sendo
Active
. -
As invocações continuam a usar o código e a configuração anterior da função até a conclusão da atualização.
-
As seguintes operações falham:
exemplo Resposta de GetFunctionConfiguration
O exemplo a seguir é o resultado da solicitação GetFunctionConfiguration em uma função que está sendo atualizada.
{ "FunctionName": "my-function", "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function", "Runtime": "nodejs22.x", "VpcConfig": { "SubnetIds": [ "subnet-071f712345678e7c8", "subnet-07fd123456788a036", "subnet-0804f77612345cacf" ], "SecurityGroupIds": [ "sg-085912345678492fb" ], "VpcId": "vpc-08e1234569e011e83" },
"State": "Active", "LastUpdateStatus": "InProgress"
, ... }