

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à.

# Stati funzione Lambda
<a name="functions-states"></a>

Lambda include un campo [State](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) nella configurazione della funzione per tutte le funzioni per indicare quando la funzione è pronta per essere richiamata. `State`fornisce informazioni sullo stato corrente della funzione, incluso se è possibile richiamarla correttamente. Gli stati della funzione non modificano il comportamento delle chiamate della funzione o il modo in cui la funzione esegue il codice.

**Nota**  
Le definizioni dello stato delle funzioni differiscono leggermente per [SnapStart](snapstart.md)le funzioni. Per ulteriori informazioni, consulta [Lambda SnapStart e stati funzionali](snapstart-activate.md#snapstart-function-states).

In molti casi, una tabella DynamoDB è il modo ideale per mantenere lo stato tra le chiamate, poiché fornisce un accesso ai dati a bassa latenza e può essere scalata con il servizio Lambda. Puoi anche archiviare dati in [Amazon EFS for Lambda](https://aws.amazon.com/blogs/compute/using-amazon-efs-for-aws-lambda-in-your-serverless-applications/) se utilizzi questo servizio e questo fornisce un accesso a bassa latenza allo storage del file system.

Gli stati delle funzioni includono:
+ `Pending` – Dopo che Lambda ha creato la funzione, imposta lo stato su sospeso. Mentre lo stato è in sospeso, Lambda tenta di creare o configurare le risorse per la funzione, ad esempio le risorse VPC o EFS. Lambda non richiama una funzione durante lo stato in sospeso. Qualsiasi chiamata o altre operazioni API che operano sulla funzione avranno esito negativo.
+ `Active` – La funzione passa allo stato attivo dopo che Lambda ha completato la configurazione e il provisioning delle risorse. Le funzioni possono essere richiamate correttamente solo quando sono attive.
+ `Failed` – Indica che la configurazione o il provisioning delle risorse ha riscontrato un errore. Quando la creazione della funzione fallisce, Lambda imposta lo stato della funzione su Fallito ed è necessario eliminare e ricreare la funzione.
+ `Inactive` – Una funzione diventa inattiva quando è stata inattiva abbastanza a lungo perché Lambda recuperi le risorse esterne configurate per essa. Quando si tenta di richiamare una funzione che è inattiva, la chiamata non riesce e Lambda imposta la funzione sullo stato in sospeso fino a quando le risorse della funzione non vengono ricreate. Se Lambda non riesce a ricreare le risorse, la funzione viene reimpostata sullo stato inattivo. Potrebbe essere necessario risolvere eventuali errori e ridistribuire la funzione per ripristinarla allo stato attivo.

Se utilizzi flussi di lavoro di automazione basati su SDK o chiami APIs direttamente il servizio di Lambda, assicurati di controllare lo stato di una funzione prima della chiamata per verificare che sia attiva. Puoi farlo con l'azione [GetFunction](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunction.html)API Lambda o configurando un cameriere utilizzando l'SDK for [AWS Java](https://github.com/aws/aws-sdk-java-v2) 2.0.

```
aws lambda get-function --function-name my-function --query 'Configuration.[State, LastUpdateStatus]'
```

Verrà visualizzato l’output seguente:

```
[
 "Active",
 "Successful" 
]
```

Le operazioni seguenti non riescono mentre la creazione della funzione è in attesa:
+ [Invoke](https://docs.aws.amazon.com/lambda/latest/api/API_Invoke.html)
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)
+ [PublishVersion](https://docs.aws.amazon.com/lambda/latest/api/API_PublishVersion.html)

## Stati delle funzioni durante gli aggiornamenti
<a name="functions-states-updating"></a>

Lambda prevede due operazioni per l'aggiornamento delle funzioni:
+ [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html): aggiorna il pacchetto di distribuzione della funzione
+ [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html): aggiorna la configurazione della funzione

Lambda utilizza l'[LastUpdateStatus](https://docs.aws.amazon.com/lambda/latest/api/API_FunctionConfiguration.html#lambda-Type-FunctionConfiguration-LastUpdateStatus)attributo per tenere traccia dell'avanzamento di queste operazioni di aggiornamento. Mentre è in corso un aggiornamento (quando`"LastUpdateStatus": "InProgress"`):
+ Lo [stato](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) della funzione rimane`Active`.
+ Le chiamate continuano a utilizzare il codice e la configurazione precedenti della funzione fino al completamento dell'aggiornamento.
+ Le seguenti operazioni hanno esito negativo:
  + [UpdateFunctionCode](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionCode.html)
  + [UpdateFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_UpdateFunctionConfiguration.html)
  + [PublishVersion](https://docs.aws.amazon.com/lambda/latest/api/API_PublishVersion.html)
  + [TagResource](https://docs.aws.amazon.com/lambda/latest/api/API_TagResource.html)

Quando un aggiornamento fallisce (quando`"LastUpdateStatus": "Failed"`):
+ Lo [stato](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html#lambda-GetFunctionConfiguration-response-State) della funzione rimane`Active`.
+ Le chiamate continuano a utilizzare il codice e la configurazione precedenti della funzione.

**Example GetFunctionConfiguration risposta**  
L'esempio seguente è il risultato della [GetFunctionConfiguration](https://docs.aws.amazon.com/lambda/latest/api/API_GetFunctionConfiguration.html)richiesta di una funzione in fase di aggiornamento.  

```
{
    "FunctionName": "my-function",
    "FunctionArn": "arn:aws:lambda:us-east-1:123456789012:function:my-function",
    "Runtime": "nodejs24.x",
    "VpcConfig": {
        "SubnetIds": [
            "subnet-071f712345678e7c8",
            "subnet-07fd123456788a036",
            "subnet-0804f77612345cacf"
        ],
        "SecurityGroupIds": [
            "sg-085912345678492fb"
        ],
        "VpcId": "vpc-08e1234569e011e83"
    },
    "State": "Active",
    "LastUpdateStatus": "InProgress",
    ...
}
```