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à.
Configura le funzioni durevoli Lambda
Per consentire l'esecuzione duratura della funzione Lambda, è necessario configurare impostazioni specifiche che controllino per quanto tempo può essere eseguita la funzione, per quanto tempo vengono conservati i dati sullo stato e quali autorizzazioni sono richieste.
Abilita un'esecuzione duratura
Per abilitare l'esecuzione durevole della tua funzione Lambda, configurala DurableConfig nella configurazione della tua funzione. Questa impostazione controlla il timeout di esecuzione, il mantenimento dello stato e il comportamento di controllo delle versioni.
Parametri di configurazione:
ExecutionTimeout- Tempo massimo di esecuzione in secondi (fino a 31.536.000 per un anno)RetentionPeriodInDays- Per quanto tempo conservare lo stato e la cronologia di esecuzione (1-365 giorni)AllowInvokeLatest- Se consentire l'invocazione della versione $LATEST per un'esecuzione duratura
Autorizzazioni IAM per funzioni durevoli
Le funzioni durevoli richiedono autorizzazioni IAM aggiuntive oltre ai ruoli di esecuzione Lambda standard. Il ruolo di esecuzione della funzione deve includere le autorizzazioni per la gestione dello stato e l'esecuzione duratura. APIs
Autorizzazioni minime richieste:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "lambda:InvokeFunction", "lambda:GetFunction", "lambda:ManageDurableState", "lambda:GetDurableExecution", "lambda:ListDurableExecutions" ], "Resource": "arn:aws:lambda:*:*:function:*" }, { "Effect": "Allow", "Action": [ "logs:CreateLogGroup", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:*" } ] }
CloudFormation esempio di ruolo di esecuzione:
DurableFunctionRole: Type: AWS::IAM::Role Properties: AssumeRolePolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Principal: Service: lambda.amazonaws.com Action: sts:AssumeRole ManagedPolicyArns: - arn:aws:iam::aws:policy/service-role/AWSLambdaBasicExecutionRole Policies: - PolicyName: DurableFunctionPolicy PolicyDocument: Version: '2012-10-17' Statement: - Effect: Allow Action: - lambda:ManageDurableState - lambda:GetDurableExecution - lambda:ListDurableExecutions Resource: '*'
Best practice per la configurazione
Segui queste best practice per configurare funzioni durevoli per l'uso in produzione:
-
Imposta i timeout di esecuzione appropriati: configura
ExecutionTimeoutin base alla durata massima prevista del flusso di lavoro. Non impostate timeout inutilmente lunghi poiché influiscono sull'allocazione dei costi e delle risorse. -
Bilancia la conservazione con i costi di archiviazione: imposta in
RetentionPeriodInDaysbase ai requisiti di debug e audit. Periodi di conservazione più lunghi aumentano i costi di storage. -
Usa il controllo delle versioni in produzione: imposta l'
AllowInvokeLatestopzionefalsenegli ambienti di produzione e utilizza versioni di funzioni o alias specifici per esecuzioni durature. -
Monitora le dimensioni dello stato: gli oggetti a stato di grandi dimensioni aumentano i costi di storage e possono influire sulle prestazioni. Riduci al minimo lo stato e utilizza lo storage esterno per dati di grandi dimensioni.
-
Configura la registrazione appropriata: abilita la registrazione dettagliata per la risoluzione dei problemi dei flussi di lavoro a lunga durata, ma fai attenzione al volume e ai costi dei log.
Esempio di configurazione di produzione:
{ "ExecutionTimeout": 86400, "RetentionPeriodInDays": 7, "AllowInvokeLatest": false }